Every now and then I get asked the question, how does one become a programmer? Is there a special skill set needed? Do I need a formal degree? This must be hard and the list goes on. Just like anything else in life, we are inherently hesitant of the unknown. What is unfamiliar, seems of little interest to us. I see programming as the act of befriending someone. You start out with a few handshakes and arrange the next meeting. It is only with patience and the frequent meetings with your "new friend" that you learn, what you thought was so abstract is so simple after all. Getting to know someone completely or somewhat well enough, requires an investment of your time and a genuine interest in knowing them, not just a fly-by hello and that be it.
So with that in mind, here are my tips in case you want to become a programmer.
There is a reason why I think this trait is of utmost importance when you want to be a programmer. Many times, because of what your background maybe, we are used to a form of learning. And software engineering requires, in my humble opinion, the ability to visualize. One must analyze a host of conditions and based on those conditions an approach is chosen. It is this ability to visualize and build a link to reach your goal, is what makes software engineering so much fun. I can see why Lego holds a certain appeal to engineers. So go ahead, fine tune how you learn. Learn, how to learn.
When I was starting out in my career, I saw code, a lot of code. Code that was beautifully organized and cleanly written. I wondered why that mattered to the folks that wrote it. It is only when I saw the code I realized, the effort that goes in, when creating software code that someone else can understand. So, do not be afraid to copy a style. Do not be afraid to mimic the masters of programming, it will be how you become really good at what you do.
What if you could play every day and get paid for doing that.What would you do if money was not the driving force for your actions? That is a dream job, if you ask me.To get paid for playing every day. Programming is like that, it grows on you. So where does passion fit in? To thrive in the world of programming, there must be fire in you that refuses to die. That small flame that eggs you on, to strive to learn more, to be a master of your craft. To create, to solve, to add value to someone's daily life.
The biggest obstacle to knowledge is the illusion of knowledge, so they say. You can never learn or know enough. But one must be aware of how to fit the pieces of the puzzle together. Learn to be humble when your knowledge grows. Always stay curious, always stay hungry. Treat your co-workers with respect and try to pass on your knowledge so they will succeed in their own paths. Stay humble and respectful. Be the first to admit if you do not know how to solve a problem. It is easy :-)
Pick a favorite language and stick to it. Why? Shouldn't you try to master it all? Well...to begin with, keep it simple. You want to be patient in your approach. You want your brain to adjust to the new information you are asking it to process. Your brain will not like it at first, but when you meet your "new friend (programming language)" every day, your brain will be familiar, and will adapt to it. Try it
Learn by doing. Reading is great and all, and very relaxing, but nothing comes closer to learning by doing. Do you gain muscle by reading a book about building muscle? The same applies for learning how to code. You must practice by doing
Phew, that was quite a ramble. Hope you enjoyed reading about becoming a programmer. I will add to this series in time :-), for now I need to get ready to release billmywork on Wildfly 10
Until next time.