DEV Community

Cover image for Programming Learning Journey So Far and Onward
Satoshi S.
Satoshi S.

Posted on

Programming Learning Journey So Far and Onward

Why I Started Learning Programming

I was a bit late to get interested in programming, but my last work experience made me decide to learn programming. Previously I worked at a food delivery company, and I was a menu care programmer who took care of building menus for restaurants with the company’s menu builder software. Sometimes I needed to do data entry for liquor vendors. They had more than 500 items. I needed to put more information on the menu like volume, quantities, ABV, bottle deposit, and so on from Excel sheets. It required a lot of energy. At some point, I thought these manual tasks might be scripted by programming. It made me interested in programming, and I started learning programming with online resources.

Phase I: Online Learning

There are so many free online learning resources nowadays. I like to pick some of my favorites here.

Havard University CS50 Series

The quality of course always surprises me. Many people say that they cannot believe those courses are free. I cannot agree enough with that. I took CS50x,CS50P,CS50W, and CS50AI. It might be challenging to start with CS50x as a beginner, but the instructor is enthusiastic and engaging and their coding challenges are unique and interesting. It's always good to know the fundamental concept of computer science to be a better developer.

Sometimes they ask you to make a video to show your project, I feel it's handy to showcase your projects if you are not planning to deploy them somewhere.

CS50 Link

The Odin Project

The Odin Project equips you well to be a full-stack developer. You can choose JavaScript or Ruby on Rails after completing the foundation chapter. I chose the JavaScript path and learned a lot about React.js and Node.js. To follow this course, you need to read a lot. Sometimes it feels dry but reading is an essential skill for developers. Throughout the course, you need to make many projects. I recommend you check this out if you are interested in web development.

They ask you to use Linux for following the course. It made me become a Linux user from a Windows user.

TOP Link

Phase II: Solo Projects

Experienced developers always advise me to create my own projects for myself, friends, or family to get better as a developer. At this point, I have enough skills to create full-stack applications on my own. I started making my projects. I can list some of them here.

FindIT

Help users to find movies to watch. Link

Mastlog

Archiving my Mastodon toots. Users can look up toots by date, keyword, mention, and hashtag. Link

Menu Creator

Users can make an online menu and also create a menu with a JSON or CSV file. Link

Fortunately, I got a mentor on Mastodon around this time. I always ask him first about web development. He also recommended that I use Digital Ocean Droplet to deploy some of my applications. I learned a lot that it's hard to configure a server to deploy applications.

Phase III: Team Projects

To be a professional developer, you need to collaborate with other developers. I needed to know more about how to use GitHub, how to communicate with others effectively, and so on. I want to share some communities and resources that helped me improve in those fields.

Virtual Coffee

Virtual Coffee is an online developer community. I mainly use this community to socialize with fellow developers on Zoom working place. You can use it here to ask for advice from experienced developers as well. Throughout this community, I learned lots of resources and events like WebDevPath, The Collab Lab, Chingu, Hacktober Fest, and so on.

VC Link

WebDevPath

Web Dev Path is an open-source initiative to help early career developers gain experience working in a team. Through this beginner-friendly community, I learned how to contribute to open-source projects. It's kind of hard to find one open-source project to get involved more with. I feel this community was a good fit for me because of the community size.

WebDevPath Link

The Collab Lab

The Collab Lab teaches you how to collaborate with other developers. Yes, I learned a lot about this part. Throughout the program, you gain practical experience in how to work in a team like documenting pull requests, reviewing others' pull requests, asking mentors for help, and so on.

They ask you to submit your project and essays about why you want to join the program. I feel they spend time checking all the applications. I recommend you prepare your application well if you like to join the program.

TCL Link

Chingu

Chingu is the platform where early-career developers create projects as a team. You just need to submit your project and they will assess your skill level. You can join them even if you just know HTML and CSS.

I joined one of Level 3 projects after submitting my project(Mastlog) and now work for a Moonshot project named TeamForward as a backend developer.

Chingu Link

ComIT

ComIT is a charitable organization to provides free BootCamp courses for people in Canada. I took a Node.js course. Even though I knew about Node.js, it was great to ask the experienced instructor questions and listen to his explanations. It made my understanding of backend technology deeper. I made team-todo as a final project at the end of the course.

After graduating from the course, I also helped with their React course as a teaching assistant. Helping people to learn programming was also a good experience for me.

ComIT Link

Contributing to Open Source Projects and Volunteering

These activities gave me opportunities to work with more experienced developers. I will write about my volunteering experience in another post once the project is deployed.

Now and Onward

To be a professional developer has been one of my life goals since I started learning programming. I have been struggling to find my first tech job at the moment. It might be because of the bad job market, or my lack of formal education in Canada. I will keep improving my skills, and continue looking for any opportunities to achieve my goal.

Conclusion

In this blog, I break down my learning journey into three phases(Online Learning, Solo Projects, and Team Projects).
I also shared some of the resources I used during my programming learning journey. I hope someone finds them helpful.

Credit

Wiki Media Commons

Top comments (2)

Collapse
 
corinamurg profile image
Corina: Web for Everyone

Thank you for sharing Satoshi! Happy to know about the Odin project.
I also started with CS50, even though I did not finish it yet (plan to do it in January. I only have the last unit on Python left and I'm working on the final project right now)
Great job, keep the writing going!

Collapse
 
satoshi-sh profile image
Satoshi S.

Thanks for reading my post, Corina. All the best with your learning!!