single-image

Self teaching: How to program and develop software

My biggest temptation is to lie to you that I figured out development in 8 weeks as many of the articles will tell you. Scratch that!

I have been writing code for 12 years.

(This year count above auto updates with a plugin called Years Since).

I was watching Andy Sterkowitz’s video where he highlights these 5 strategies of learning. The same question old question popped up; “How do you learn to program?” In other words, write a few lines of understandable code, not the best but code that works. This is the same question I get when I share at different platforms like meetups, WordCamps and different coding platforms.

Into the deep with a real project

My journey with programing took a different route as I was thrown into the deep waters. My boss assigned me to manage a Joomla website which I later changed into WordPress. My little knowledge with HTML and CSS started then, as I had to make subtle changes. I was also thrown into the PHP basket as well as I navigated the unchartered waters.

Learning from books

Yap, it was hands on learning so my labor to read books was a little hard because books become outdates pretty quickly as technology changes so fast. However, I do not want to limit it, as it is good for higher level programming learning. This was not helped with a little dyslexia I have. I find it hard reading very long lines. Plus I have a low concentration span to read.

Blogs and publications

Reading blogs and other publications was my next source of web authoring learning. It is however tailored in my case to figure out specific issues and challenges. For example, if you want to change the styling of your navigation or have a specific functionality to your website, google that exact problem. Chances are someone has had a similar issue, solved it and documented it.

Google and help platforms

When my google research was not fruitful, I landed on Stackoverflow. These online interaction platforms help with specific questions. If you have a challenge that has not been tackled, then you can ask with code samples. Stackoverflow in its nature requires for the person giving an answer to explain their solution. That helped me learn better and I also started answering other challenges people posed. I found out that as I helped answer specific questions for some folks that help me to learn better those particular concepts.

Speaking at Events and Conferences

I found that the same concept applies to friends and strangers (read offline & online acquaintances). While I was working at an advertising agency as a web developer, I had no coding colleagues so I had to find online ones and on the weekends go to a number of meetups and conferences. At these events, I applied to speak and usually would go for the latest topics I was learning. This helped to check and re-enforce what I was learning as explained topics I was taking in.

Purchase some E-courses

By now my information channels had grown as I made purchase on E-courses/platforms like Code Academy, Team Treehouse, Udemy but these kinder lost me as I couldn’t keep up with the costs. I also learnt that you could get locked in the maze of tutorials if I did not try other personal projects with the knowledge I had acquired. It is only later in my development career when I buy good standalone course from places like Wes Bos, Zac Gordon.

Glue your eyes to YouTube

However at the time, short on funds, I scouted for good tutorials on YouTube to do more self study. I landed on a good resource in vloggers like Brad Traversy, Chris Perko and Alecaddd(everybody needs one). Alex later became a mentor without his knowledge or consent. The large volumes of information he shared set me up for a lifetime. While he taught coding, he gave life lessons(coaching) and learning tools. Con – There is also down time as content stops coming with the vlogger’s life getting busy so you have to find other sources of inspiration.

Listening to Podcasts

I also stated picking up information and useful tips from Podcasts like Syntax fm, Practical WordPress Development by Tom McFarlin. These audio/video source points kept me up to date with the changing technology while offering opinions about those that would succeed or fail. So I learnt how to choose what to learn as new tech. There are a number of other podcasts that share useful information but I have never listened to them.

Forking a real project – Github, Gitlab, codepen or Bitbucket

Forking projects is one of the latest learning techniques that are underrated. First, one needs to find stuff built with similar technology that they are learning or would like to learn.

Next is trying to edit the documentation. Good documentation will help other users and will also give you a chance to learn the ins of the project, use cases and real-life projects. One of the big pluses is that you end up playing with the code. This has happened to me a million times bringing me to realize that I learn new things, if not better understand the concepts that I have consumed prior.

Using personal projects

Take the challenge or initiative to come up with this ridiculous project you could never imagine yourself doing. Start chipping away by writing the steps to follow in bullet form. As you reach a milestone, tick off one task. Creating personal projects will challenge you to grow in a new technology. A friend once told me this and I was in doubt but have since tried it with several projects and I have grown much faster in PHP as a technology.

Was this helpful, is there something you are going to implement that you hadn’t tried before? Could you suggest some other resources you have tried not listed here? Let me know in the comments. Good luck.

4 Comments
  1. Hamza @gotechug 3 weeks ago
    Reply

    Thanks Omukiguy
    Definitely, lots for me to learn here. Especially as someone with increasing interest in learning to code and how all that stuff works.
    Reading this blog made me realize that it all takes time. It’s been 8yrs for you and that means I definitely have to give it time and go step by step.
    However, the links you shared take me a step ahead. Most times in our studying curve, all we need is the ‘right’ resource to get started.
    I’ll revisit this blog for further inspirations and most probably Micah will need it too in some 5yrs.

    • omukiguy 3 weeks ago
      Reply

      I am glad this has some resources for you to follow. Definitely wish you good luck in this new journey of coding you are undertaking. When you come back to revisit, please leave a comment on how you are progressing.

  2. Ahimbisibwe lucky 3 weeks ago
    Reply

    thank you very much am more than inspired please share more of your story

    • omukiguy 3 weeks ago
      Reply

      Thank you Lucky. I appreciate the kind words. What areas of my journey would you be interested in?

Leave a Comment

Your email address will not be published.

You may like