As I’ve always said but never done, I wanted to explore into programming but have only casually skimmed its concepts and did a lot of copying/pasting to get work done. However, with the help of Chovin, I’ve been delving into programming more than I ever have before.
It first started with my joining of freeCodeCampGuam and enrolling in CS50, the popular Harvard course on intro to computer science. We are taking it on EdX, but haven’t progressed much. I paid $90 for the Harvard certificate earned upon completion of the course to kind of hold myself accountable, but my stubbornness is getting in the way. First, I told myself that I would complete all problems in the assignments–including the problems for the advanced programmers (which obviously I am not). That in itself takes awhile as I am also trying not to Google concepts and errors, mostly because CS50 is a popular course and a lot of the search results are related to the course and the problem sets I am working on. I don’t want to accidentally find solutions or other approaches on how to solve the problem at hand, but I’m starting to wonder if I am impeding my own progress by not letting myself get exposed to outside influence. I still open up CS50 every other week, but admittedly, I am just not spending time on it.
Instead of working on CS50 (right now, we’re doing problem sets in C), I’ve been spending most of my time learning Ruby. This is because Chovin and I have been looking at more relevant career opportunities for him, and we happened upon GitLab. GitLab has openings that accommodate 100% remote work with an awesome company culture. The only hurdle is that they require production-level experience in Ruby and Rails, which Chovin doesn’t have. That said, we decided to dive into Ruby to get started on earning that experience!
First, I looked up a mobile app for learning Ruby. Since I’m always on my computer, I wanted to free myself from it for a bit and thought an app or book would be a nice alternative to videos. I had been taking some IT courses on Udemy, and quite honestly, was getting tired of watching videos (hell, I don’t even watch stuff on YouTube). Anyway, I, of course, would switch to my computer once I felt ready (read: not lazy) to start actually programming.
I went with an app on my iPhone called SoloLearn. It does seem counter-intuitive and unconventional to learn programming through a mobile platform, but it was a pleasant surprise to see that the SoloLearn app had a built-in code editor along with little fill-in-the-blank/multiple choice quizzes and games to help reinforce the concepts and syntax. So in addition to this, I started the challenges on block.io’s Ruby Warrior at Chovin’s suggestion, but because I was such a beginner, I was so lost. I put that down to continue learning the fundamentals and putting the basics into practice on SoloLearn. They also have code challenges, which are prompts to create a program that meet the specified requirements. I’ve done a couple of them and it puts what you’ve learned into practice. I finished the course (woo hoo! 🎉) and have started on Learn Ruby the Hard Way. Right now, the book assigns a bunch of typing out given code with rhetoric that help you understand what you’re coding and what the results entail and why.
Since I am still in the beginning of the book, I haven’t picked up anything new yet, but I intend to continue after completing yet another course I started on Ruby–Flatiron School’s free Intro to Ruby. Chovin recently got accepted into their software engineering bootcamp, and I wanted to do it (to an extent) alongside him, so I deviated to that course. Which finally brings me to my first pull request!
Chovin has always encouraged me to join open source communities to help immerse myself in programming. While I never actually took that leap, we thought it might be a good idea to edge my way in by contributing on GitHub with what I could, which would also help build my online portfolio (or at least I think it works that way). My lack of experience and knowledge in programming and using GitHub inspired a lack of confidence in contributing, so I never really did anything on that front. Working on the Flatiron School curriculum and seeing how many issues and PRs Chovin opened in the short amount of time we’ve been taking the courses made me feel better about contributing. I started to see it less as a show of my ability–or lack thereof–and more of a genuine desire to help improve the curriculum.
Between starting this post sometime last night and later this morning, I’ve opened another PR! It’s not as magical as I thought it was, as I literally am just making suggestions on fixing whatever issues I happened across. I didn’t realize too that you can open issues and PRs to fix small things like grammar and formatting. I’m surprised not more people have made contributions to fixing at least some of their grammar and formatting issues. I guess every bit helps!
Anyway, as I get more involved in programming, I hope to be able to contribute to larger projects that make a difference in people’s lives. I’ll post more updates as they occur!