Programmer, developer, software engineer, coder... It doesn't matter. You want to become one and I want to help
Chances are that you are looking for information on how to become a programmer. Perhaps you’ve considered to make a career change and programming is a good choice. Or you are about to start your university degree and see yourself creating apps or websites. Either way, let me give you some hints of what is expected of you in the beginning of your journey.
There are 2 main ways you can become a programmer nowadays:
- By having a formal education (university degree, bootcamp, etc.)
- Through self-learning (online trainings, books, etc.)
Get a formal education?
A formal education is going to give you the structure you’ll need to achieve your goals: You enter a classroom, the teacher is going to deliver the content, you take notes and practice. That is for a certain amount of time and for a certain depth, depending on what kind of formal education you are going for.
And here is where the difference across formal education systems is more evident: Bootcamps tend to be shorter and more work specific than a full university degree since the goals are different – one will give you the right tools for the job, the other will give you a broader knowledge about languages, architecture, theory, etc.
They are all good, but it’s just about where you are going with your career.
What about self-learning?
One of the biggest issues with self-learning is lack of a proper structure, followed closely by lack of motivation: Often you will not know from where to start learning a subject and any difficulty can throw you off your path. And even if you can keep yourself motivated, you will be wandering around the subject until you find a way to overcome that difficulty.
Let’s see how you can optimize your self-learning.
Find your motivation
You surely have a reason to think about becoming a programmer. Either financial or passion, you must tap into this motivation and understand that you are in a marathon, not a sprint. Whatever your goal is, you will achieve. But you need to have patience to endure hours of studying (reading and practicing) in your career while thinking about long term achievements.
The idea is to always remember why you are pursuing this career and use it whenever you feel like giving up. It pays off greatly in the end.
You will need to learn how to learn
As previously mentioned, we usually have everything structured when we go for a formal education. However, you need to develop our own strategies when self-learning. The easiest way to do it is to follow roughly the same pattern you are used to (formal education) by:
- Finding good books: Any book should give you the easiest subject in the beginning and complementing it in the next chapters. If you follow it from beginning to end, you will be able to have enough structure to keep yourself motivated to continue, considering you wouldn’t normally know from where to start to learn. Online courses can also help as books, but most of them tend to be more specific, requiring you to get more trainings to complete your learnings
- Practicing whenever you can: You must be coding whenever you have an opportunity. If you are following a book or training, you will have exercises. Otherwise, you can create a small project to apply your newly acquired knowledge. Anything works: A small system to control the inventory of your friend’s shop, a small website that shows pictures of cats, etc. The most important here is to challenge yourself and practice what you are learning
I’d recommend starting with books if you want to learn something broad (such as “ASP.NET”) and online courses if you want to learn something more specific (such as “Building optimized APIs with ASP.NET”). And practice as much as you can. I’d suggest creating small projects that would solve an imaginary or a real problem.
You will always need an update
As a programmer, you will have to keep up with the new versions of your favorite language/framework/tools if you want to keep yourself employable. That means: The learning is a constant even if you already feel comfortable with your knowledge. Of course, I don’t mean you will need to learn everything from scratch every year. Think of it as “knowledge maintenance”.
A good way to keep yourself up to date is through online conferences (mostly free) and the official channels of your favorite technology (blogs and YouTube).
If you – like me – are a .NET developer, check the Microsoft Learn website and the .NET Blog to see what’s new. Also, Microsoft organizes their dev event (Microsoft Build) yearly announcing some good stuff. Otherwise, there is a good chance that your favorite framework/language/tool (if non-Microsoft) has similar options.
Find a mentor (or a “hero”)
As much as it seems I am telling you to just go on an adventure by yourself, it’s good to have someone that will help or, at least, inspire you. Having a mentor to guide you is very important since he/she will point you to the right directions and prevent you to make the mistakes he/she made in their career. In another words, a mentor will help you to cut some corners.
However, sometimes you won’t be able to have a mentor. Could be either because of the location you are at, or you just don’t know anyone who could guide you. For that I’d recommend a “hero” or, simply, look up to somebody who is in the field and try to follow his/her path. You may not be able to cut corners but, at least, you will be able to follow the directions your “hero” is going.
Find a community
It’s very important to find a community where you belong. It can be either a group at your location (where you can meet in person) or even a virtual one (Facebook groups, forums, etc.). You will be able exchange experiences with other people and, consequently, learn more about your technology of choice and your career. This is going to help you a lot as a beginner and, as you gain experience and knowledge, you will be able to help others as well.