If you’re writing your first lines of code at age 30, it’s easy to feel like its too late. There are plenty of talented programmers that are way younger than you, and it’s hard not to be overwhelmed.
I wrote my first useful lines of code at age 29. While I made a lot of mistakes in my approach, I found some useful insights that might be useful to anyone in the same position.
It’s weird how common it is for job-seekers to list Python on their resumes and not be able to do anything. Completing an advanced Python MOOC does not make you an advanced Python user. It makes you a beginner, at best. I understand what it’s like to be mid-career and trying to find ways to up-skill, but you’re better off focusing on your strengths than faking it as a programmer.
Learn how to code because you like to build things. Don’t do it purely for the sake of standing out in the interview process. It most likely won’t help you until you’re good enough to solve real problems.
I was 24 when I first got interested in coding, but I wasn’t sure which language to learn. I read countless message boards, and started buying random books on C++, C#, and VBA. I put in a lot of time reading about how to code, but I spend almost no time writing code. The search for the perfect programming language burned me out, and I gave up.
While some amount of research is necessary, it can quickly turn into procrastination. It might feel satisfying to read about your goals, but you’re not doing the work.
I was worried that I was going to waste my time learning the wrong language, and get nothing out of it. That was the wrong way to think about it. Every language will give you something useful to apply to any language you might need in the future.
You shouldn’t need more than an hour of research to settle on a language. If you’re already late to the party, you don’t have time to waste on this.
It’s important to strike a balance between learning and doing. Sometimes I focused too much on wildly building things, and other times I was stuck in a cycle of tutorials.
I learned R by redoing work I had already done in Excel, and there are pros and cons to this method. It’s good because it’s real-world problem solving, and you already know what the answer is supposed to be. However, I found that the learn-by-doing approach can leave huge holes in your knowledge.
It’s important to supplement projects with tutorials, books, competitive coding, Kaggle, etc. This helps to keep things interesting, and you will pick up on the fundamentals like algorithms and data structures. I’ve also found that tutorials help you stay focused on embracing libraries that will make your life easier.
Keep in mind that there is a limit to how many tutorials you should do. You have to make sure you are trying to apply what you learn in tutorials to real problems.
I got started by reading a book on C#. After I completed all the exercises, I had no idea what to do with this new knowledge. I simply lacked the worldview to understand what types of problems could be solved with programming.
I was lucky enough to join a team that was using R for statistical analysis. It suddenly made sense how to incorporate code into my job, and I started learning how to do things in R that would have usually done in Excel. This ultimately led to me working with Python, R, and SQL everyday.
If possible, try to make coding a part of your current job. Think about tasks that can be automated or data that can be maintained and visualized better. If you can start small and get your team interested in your projects, you can transform the role you have into the role you want.
If you aren’t spending time reading open-source projects, you’re doing it wrong. This is one of the best resource for learning about software development. Search Github for projects that you use, and see how developers built those tools.
Simple projects and tutorials help you learn the basics of programming, but software development is quite opinionated about style. When you read popular open-source repositories, you will start to get a feel for how projects should be organized.
Most people have less time to devote to learning as they get older. Once you hit your 30s, it’s quite common to settle into your career focus on other things. It’s hard to start over, particularly when you want to learning something that’s challenging.
I think the ability to be a beginner is an important skill. I’ve seen people struggle to pick up programming and data science, because they can’t accept being a novice again. They start by tackling overly complex problems, and ultimately give up. You have to lose the ego and start with something manageable.
It’s easy to feel like you’re over the hill, but it’s crazy how much you can learn in a year. If you’re in your 30s today, you still have a lot of career left. Quit worrying about missed opportunities, and go build something.
This outlines some of the insights I gathered while learning how to code a little later in life. I imagine there are a lot of people in the same boat, and I hope this helps.