Learning to Program: The resources and methods I used to teach myself coding.
Tags: career, learning, beginners, ruby
Published: 2024-07-01 22:58:56

Hello everyone! Today, I want to share my journey in the world of programming. Changing careers can often be a significant challenge, but with the right resources and learning methods, it is achievable. Here are some of the most effective and popular methods for learning programming, along with my experiences with them.

## Effective and Popular Methods for Learning Programming

**- Online Courses:** Structured and often very comprehensive, allowing you to learn at your own pace. Platforms like Udemy, Coursera, and edX offer courses ranging from beginner to advanced levels, often taught by industry experts.
**- Interactive Coding Platforms:** Websites offering interactive exercises and projects for practice, such as Codecademy, freeCodeCamp, and SoloLearn. These platforms allow you to learn by doing, which is incredibly effective.
**- Books:** Traditional sources of knowledge that provide in-depth theoretical understanding. Although less interactive, they are excellent sources of detailed information and best practices.
**- YouTube Tutorials:** Free resources that offer visual and practical tips on various programming topics.
**- Coding Bootcamps:** Intensive, short-term training programs that cover a lot of material in a short time. These can be more expensive options but provide quick and comprehensive preparation for a career in programming.
**- Participating in Open Source Projects:** Getting involved in open-source projects to gain real-world experience. This is a great way to get hands-on experience and collaborate with other programmers.
**- Engaging with the Community:** Participating in programming communities through forums, social media, and meetups to get support and make connections. Platforms like Stack Overflow, Reddit, and local meetups can be extremely helpful.

## My Journey and the Resources I Used
**Online Courses**

**1. Arkademy - "From Zero to Apps"**

Link: [Arkademy Courses by Arkency](https://courses.arkademy.dev/)
Description: This was the first course I took. Unfortunately, it is no longer available. It was quite basic and better suited for those who already have some programming background and want to learn Ruby on Rails through practical examples. It helped me understand fundamental concepts and the mindset of a programmer.

**2. Codecademy**

Link: [Codecademy](https://www.codecademy.com/search?query=ruby)
Description: Realizing I needed a solid foundation, I turned to Codecademy. Their interactive approach helped me understand the basics of Ruby and Rails through hands-on tasks. The step-by-step exercises and immediate feedback were very motivating.

**3. Udemy**

Link: [The Complete Ruby on Rails Developer Course](https://www.udemy.com/course/the-complete-ruby-on-rails-developer-course)
Link: [Ruby on Rails 6: Learn 20+ Gems & Build an e-Learning Platform](https://www.udemy.com/course/ruby-on-rails-6-learn-20-gems-build-an-e-learning-platform)
Description: Udemy offers a vast array of programming courses. These two courses, in particular, helped me develop my skills in Ruby on Rails.

**4. SupeRails** by @superails 
Links: [SupeRails](https://superails.com/) platform, [blog](https://blog.corsego.com/), [youtube channel](https://www.youtube.com/@SupeRails)
Description: Yaroslav's platform and YouTube channel are fantastic resources. He explains everything step-by-step and often debugs live, which helped me understand common problems and their solutions. Regularly updated content and the ability to see real debugging processes were very valuable.

**Books**

**1. The Ruby Way by Hal Fulton**

Description: This book provided me with a deeper understanding of Ruby principles and best practices. It’s a comprehensive guide to the language, containing many examples and detailed explanations.

**2. Design Patterns in Ruby by Russ Olsen**

Description: I learned how to write more efficient and maintainable code by applying design patterns in Ruby. This book helped me understand how to structure code in a more advanced way.

## Polish Resources
As a native Polish speaker, I also used several resources in my native language and the best one is:

**GrubyKurs** by @rafalpiekara 
Link: [GrubyKurs](https://grubykurs.pl/)
Description: This is a complete course designed for absolute beginners. It offers a full learning path, community support through Discord, and a newsletter that proved very helpful during recruitment interviews. Rafał publishes new materials and supports his students, creating a friendly learning environment.

## The Importance of Knowing English
It’s worth noting that most high-quality programming resources are available in English. When I started learning programming, I struggled with English. Over time, improving my language skills was crucial for accessing better materials and understanding programming concepts. This experience showed me the importance of being open to learning new languages and skills, as they can significantly impact our careers.

## Conclusion
Learning programming took me about a year, after which I landed an internship that opened the doors to my career as a programmer. My journey to becoming a programmer was full of challenges, but with perseverance and the right resources, I achieved my goal. If you are considering a similar path, I highly recommend exploring different learning methods and finding those that work best for you. Remember, every minute spent learning and practicing brings you closer to realizing your dreams. Good luck!