Time and again, I see ubiquitous articles about becoming or improving as a programmer. Sometimes, people ask me questions about that, ask for my opinion, and my hints on how to start their journey or improve in the long run after years of practice.
Finally, I decided to put it all together, so that I will better remember all my answers and present them nicely to anyone interested — that is one of the reasons to write this blog anyway. So, let’s jump into the subject, shall we?
Would you be a good programmer?
The first thing I ponder about regarding becoming a programmer is what gives you an edge. What makes you exceptional and indicates that you would be successful and make it to the top. Well, I believe there are three things that you may consider as being indicators.
You were interested in your science classes, like math, physics, chemistry. The thing is that you wouldn’t have to be particularly good at them, it is clear that there may have been different obstacles in front of you at school, but apart from that, you felt deep inside that if you would have a fair chance to learn them, you would be interested in doing so. Hence, this simple fact, the mere feeling of being inspired by those subjects, is all it takes.
You are eager to learn what you do not understand. That is an essential trait and a useful one as well, not only for programmers. Whenever you encounter something complicated, or you experience difficulty understanding things comprehensively, you feel an internal drive to sort things out, plan, and learn something that may help you. You may be getting extra treats for doing it, but more importantly, you feel an internal motivation to grasp the knowledge you desire.
Either you feel the joy of working, or you try to make it that way. Well, learning is an essential part of the programming business, probably because it changes so rapidly. Usually, we find it very exciting to play with new stuff and make it work as we please. However, sometimes that excitement fades away, and you must be able to still find some joy in it — to reignite it once more. You may remember that from school, when you needed to learn something not so appealing, but luckily you found a thing or two that made learning a rather pleasant experience, a little motivation for you to proceed. That kind of trait will give you an edge to be a successful programmer in years to come.
If you feel that those three sentences describe you, there is an excellent chance that you may end up as a successful programmer.
How to be a programmer?
What should you consider before commencing the remarkable journey of programming? There are two crucial things to consider when looking for your place in the coding world.
Choose a technology that suits you well. Take your time and think for a while. You may ask someone with more experience, try some tutorials or attend a course. Whatever you do, please remember that in the end, you are the one to make that call, so use your best knowledge to head the right way. That may not be an easy one, but remember that you can always choose again as soon as you realize that something else may be better for you. In addition, having a simple plan in your head for a year or two will make you feel better about your decision and help you keep up.
Push it consistently and continuously. It doesn’t mean you are not allowed to take a little break or spend some time reconsidering your steps. However, once you decide, invest your time and follow the way. Plan your future progress, make sure you have a clear goal, and milestones along the path. Know your strengths, your weaknesses, and most importantly, study what you lack. You will get the best results by using what you’ve learned and putting it into practice. By committing your time to gain experience, you’ll make you path much shorter.
How to progress as a programmer?
When you talk to experienced programmers and ask them what they do to be better, you may hear about various technologies they are involved in. Still, sometimes even those well-trained professionals have no specific goal, as if they reached the safe level and forgot to reevaluate and plan their further growth.
Invest in technologies related to your base. Obviously, you need to learn something from time to time, but remember that you have much better chances of increasing your importance by studying things you may use as soon as you know them. The sooner, the better. I understand that sometimes we need something different that is exciting and may be very beneficial later on. But consider the time you invest in things that primarily bring you fun and things that bring you expertise valuable right here right now. Think about that and plan your career forward a couple of years into the future to see the point in acquiring things related to your current knowledge.
You have to learn from your own mistakes. The most underestimated experience that a qualified programmer may gain is taking responsibility for something and failing. Yes, you’ve read it right. The chance to make your own mistakes is the key here. Of course, you do not have to fail miserably from the beginning to the end, but every experience you get from even small failures may serve you well in the future. One condition, those have to be your calls. You also need to try hard not to be wrong. There is no justification for laziness or sloppiness. Still, the very adventure, where you take the obligation on your own, regardless of the outcome, is probably the most significant factor in achieving maturity and becoming a successful and experienced programmer.
That is a straightforward condensed description of programmers and their characteristics on every level. I hope those short bullet points will help you realize what makes successful programmers, whether this game is suitable for you, and what you should consider while moving forward in your career. Good luck!