Hitchhiker’s Guide: Becoming a Developer
By: Ikechuku Ukpa
Tags: Learning To Code, Programming, Beginners Guide, Developer, Learning And Development

Hitchhiker’s Guide: Becoming a Developer

Learning to code can easily be overwhelming, as there seems to be an insurmountable ocean of things you don’t know. It’s very easy to get lost in tutorial hell, the best place to start from is ‘the why’.

Why do you even want to learn to code?

Obama asks why?

Start with the Why (Decide your end goal, if possible)

It’s okay if you don’t have the answer to this at first. In that case, I challenge you to do some research and find out which application of coding most appeals to you. Answering this question could help determine the path you take in learning. That is, the programming language or framework that you decide to learn.

For example if you are learning to build a startup, it would be better to learn languages like Python and JavaScript instead of languages used in enterprise solutions like c# and Java which will be perfect if your aim is to get a high paying job at a company like Microsoft or Google.

Certain languages are more suitable and (sometimes even unrivaled) for particular use cases. For instance, Python is excellent for data science but not so great for game development, JavaScript is unrivaled for web development and Java is great for cross-platform development. And the list goes on and on🎶.

Create a Learning Path or Road map

Paths for Web Development

You cannot learn everything!

Even if you spend the rest of your life learning programming! It’s better pick a stack and master it and then you can pick up other languages, frameworks and technologies along your journey whenever their use may arise. Here is a good learning path for web development (Front-end development, Back-end development and Dev-Ops).

I recommend using sites like Freecodecamp, Scrimba, Codecademy, FrontendMasters or Youtube channels.

Learn how to learn 🤓

Learning Unsuccessfully

Figure out the learning pattern that suites you.

There are different approaches to learning, this course can help you decide. As a developer you will encounter new technologies, new frameworks and new implementations every step of the way. All you have to guide you is documentation, not everything has a tutorial video. You need to be able to learn things fast and implement them too. That’s a major part of the job.

Don’t get stuck in tutorial hell

Dramatic Confusion

The sheer amount of resources out there can be overwhelming. Stick to the resource that you can understand and consult documentations whenever you're stuck.

For web development, I recommend using sites like Freecodecamp, Scrimba, Codecademy, FrontendMasters . When working with tutorials, if you don’t understand how something works, try to break it and find out what makes it work you can do this by taking it apart piece by piece or line by line #reverseengineering!

Learn by Doing

In my opinion, project-based learning is the most effective. So I recommend taking on a project after completing each milestone in your learning path. It will help reinforce what you’ve learnt and when issues arise, that gives you an opportunity to gain in-depth knowledge by solving them. Highlight your learning outcomes in detailed sentences and make sure you can defend them at the end.

IK, Odun and Marquis (from Farmz2U’s Product Team) diligently at work!

Understand the Fundamentals

Data structures, variables, conditionals (control structures), loops and functions are the fundamental building blocks of programming. They may vary in syntax depending on the programming language, but they are practically implemented in the same way. Master them and practice algorithms to improve your problem solving ability. It will make you think like a Programmer, an Engineer!

Break and Fix things

Me fixing what I broke

Debugging is one of the most important skills to master. You need to learn how to search error messages. The good news is that as a beginner, every issue you face has most likely been faced by another developer in their learning journey so a simple search on Google or Stackoverflow can do the trick. When you inevitably encounter stubborn problems or issues that you just can’t seem to find a simple solution online (trust me you will) keep calm and debug, take breaks from debugging and ask for help

Consistency is key ♾

This can’t be emphasized enough when it comes to coding, especially as a beginner. Practice as frequently as possible. Practice makes perfect. It’s recommended to code every day as a beginner.