Becoming A Programmer At Any Age

If you’re new to coding, getting a grasp of where to start may seem overwhelming. From the many “How I would learn to code if I could start over” videos to the millions of available learning resources, the uncertainty on where to even begin is understandable. To be honest, it doesn’t stop there because there are endless more challenges to overcome in this constantly evolving industry, and gaining an edge is no easy feat.

I’ve been there too, sitting around my desk frustrated, trying to comprehend how 1 + 1 could possibly be 11, or even just trying to understand how recursion works. 

But there soon came a time when I went from complaining about being ignorant of a certain concept to embracing that experience of learning new things. I’m glad to say I prevailed through it all as now being 18, I’m a Volunteer at the Jamaican Developers Community. So with all that being said, here’s some advice from me to you:

Chapter 1: Self-Teaching

Other than basketball, I never really knew what I wanted to do after high school. However, that wouldn’t have been for long because, in Grade 10, I had to pick the subjects that I wanted to do at the CSEC level. I was clueless but I went on to glean through the internet to find some jobs that I’d enjoy doing. Then somewhere along the way, backend development got my attention, which led me to pick subjects that focused on that field. Among them was Computer Science and although I was learning the basics like conditional statements and loops during class, I engaged in self-educating myself at home.

Unlike the traditional classroom setting, self-teaching in coding means you become the architect of your own education. You’ll sift through a plethora of resources, identifying the most relevant and contemporary ones, and carefully designing your learning journey. Depending on what you intend on doing, your final objective will dictate your learning roadmap. It will be challenging, especially without any prior knowledge of coding, and it may take a lot of time and effort. But don’t worry, you can do it. To be a good coder doesn’t mean you have to be great at computer science, but you do have to be a decent problem solver. To improve your problem-solving skills, try Harvard’s CS50: Introduction to Computer Science. You’re getting an Ivy League education right at your fingertips so take advantage of it.

And for those somewhat ahead of the game, try going through this developer roadmap for some career advice.

Chapter 2: Choosing a Programming Language

For aspiring coders, it’s best to begin by learning one programming language deeply. The language you learn doesn’t have to be the one you’re using at school. Undoubtedly, through your engagement in CS50 you’ll be exposed to several languages but for beginners, I’d recommend learning Python.

It’s the most beginner-friendly language due to its straightforward and English-like syntax. By virtue of this simplicity, you’re able to focus more on learning programming concepts rather than being inundated by complex syntax. Not only that but Python also has a large and active community. What that means is that you’ll be able to easily find tutorials, documentation, forums and other resources to help you learn and solve problems. It’s this availability of resources and support that makes it invaluable for new learners. However, you should focus on learning syntax and data structures. For syntax, try to Learn Python – Full Course for Beginners [Tutorial] and for data structures go through Data Structures and Algorithms in Python – Full Course for Beginners, both being courses provided by freeCodeCamp on YouTube.

Once you’ve grasped the basics of Python, it’s time to bring everything you’ve learnt into your personal projects. The real learning process happens when you apply everything you know and as such, it’s necessary to get your hands dirty. There are many tutorials that provide guidance on some common projects but you should also work on projects that align with the things you like or issues you want to solve. If you enjoy cooking, try making a simple cooking quiz. Or maybe you’re indecisive on what to eat for dinner. Then write some code that randomly selects a meal among the many ideas you had.

Chapter 2.1: The Terminal

I know we’ve all seen those scenes of hackers in movies coding really fast; well surprise surprise, it’s all fake. However, one thing the directors did get right is that they’re using the terminal. Due to its powerful control and efficiency, the tech departments of many organizations utilize it. Sooner or later you’ll need to get comfortable with the terminal so it’s good to get your practice now. You’ll also need to get used to using a package manager and some common CLI commands. The terminal can be certainly frustrating and you might run into dependency issues but remember, it’s all in the practice.

Chapter 2.2: The IDE

You need to know how to get your way around an Integrated Developer Environment (cool phrase for IDE). I personally enjoy using Visual Studio Code but there are other code editors which you may prefer.

Chapter 2.3: Git & GitHub

Let’s say Drake (best artist btw) is working on different versions of his songs. Each time he changes to a track, he saves a new version. Moreover, if he doesn’t like a part of the song he just recorded, he can easily go back to the previous version of the track before he made the changes. That’s Git in a nutshell. It’s a version control tool that allows you to track changes to files and coordinate work on those files among multiple people.

While learning Git, you’ll definitely come across GitHub which is a web-based platform that uses Git for version control and collaboration. It’s like a social network for those who work with code. With GitHub, you’re able to host Git repositories on the internet, meaning you can store your project’s code and history in a remote location, making it accessible from anywhere.

The importance of understanding both technologies cannot be overstated so ensure you’re taking them to know them.

Chapter 3: Reading

Just as being able to read code is essential, incessantly reading articles on the industry is necessary. Whether you enjoy reading or not, being up-to-date on the latest advancements, trends and innovations helps keep you in the loop on what’s going around you. For example, given the EU’s stringent Digital Services Act and Digital Markets Act, Meta will withhold its next multimodal AI models in the EU. So in the case that you want to start a business in Europe, utilizing Meta’s future models to improve your goods and services probably won’t be possible.

Given how fast-paced technology is, reading also allows you to see how other organizations have tackled challenges which can provide inspiration and practical solutions for your own personal projects. Furthermore, news articles can help you to understand skills that are in demand and align your career development efforts accordingly. As someone who wishes to become a mogul of the technological landscape, reading these articles provides me with information on what my future competitors are doing, thus helping me to stay competitive and identify areas to make some money.

To start, join popular subreddits like r/technology and r/Futurology.

Chapter 4: Networking

Attending the recent Microsoft Black Partner’s Growth Initiative is one of the best decisions I’ve ever made. Although I went to the function in shorts and Crocs (I should’ve read the dress code), I was able to increase my visibility within the industry, making it easier for others to recognize my skills and accomplishments. I also came across many professionals that I’m still in touch with today, who helped to expose me to various opportunities.

My attendance there has made a significant contribution to my career but there are many ways you can do so too. By using platforms like LinkedIn, you can showcase your projects, engage in conversations and initiate contact with those sharing your interests. Don’t shy away from reaching out to industry leaders as you’d be surprised that a few will actually respond. LinkedIn offers a wealth of opportunities for growing your professional network and LinkedIn Profile Optimization – A Web Developer’s Guide to Attract Opportunity provides a great read on how to organize your profile. Also, take the time to go to industry events to network with associates and key opinion leaders.

At some point, you’ll be on the hunt for a job, whether it be an internship or a full-time role. By virtue of that, you should craft a well-structured resume that’s clear, concise and reflects the experiences and skills relevant to the role you’re applying for. Obviously, if you’re just starting off you won’t have any job experience, so confidently add the courses you’ve engaged in, as well as the creative projects you’ve created.

Chapter 5: The Mindset

Innovation involves taking risks so be curious and explore things outside of what you’re trying to do. Your project may have a prescribed purpose but play around with what you’ve created so you get a deeper understanding of the concepts you already know, and also learn topics which you can later delve into.

Throughout your journey, you’ll face many challenges, and errors will be one of them. Not all your code will run smoothly on the first run, and as a matter of fact, it’s very unlikely that it will. Despite that, you need to know how to handle failures constructively, learn from mistakes, and move forward with renewed determination. You’ll sometimes panic when met with an error message but if you copy that error message and paste it in Google, many resources will come your way on how to go about solving it. Stack Overflow is bound to be your best friend where that’s concerned and some other good sites are W3Schools and GeeksforGeeks.

You need to be comfortable with not knowing things because if you can’t, you’ll have a huge problem on learning how to write code. There’ll never be a time in which you know everything in this field because technology continues to evolve as time progresses.

So as you continue to code, embracing curiosity and persistence are invaluable throughout your journey. Coding is a constantly evolving field so approach each setback with a problem-solving mindset and use valuable resources to navigate through difficulties. Challenges and errors are inevitable but through it all, I know you’ll be able to do great things.

I’m confident that someday the world will know your name so keep pushing forward. You got this.

Written by Romeil Grant
www.linkedin.com/in/romeilgrant
https://github.com/romeil