My advice to young aspiring programmersMon, Mar 16, 2015
I am not yet that guy with decades of experience that can retrospect and deliver shocking advices in hindsight. But, I feel like in the whirlwind that was the past 6 years during which I learnt programming, the whole universe of web programming had time change more than once and that I learnt tons, like TONS. With that in mind, if I am writing this, it’s because I think I have something to say.
So, advice number one, don’t try to do programming as a side thing, as a hobby. Yes you can get to a basic understanding of what is involved in it, but you will always be light years away from programmer doing it everyday. And that, leads to utter frustration and, ultimately, abandoning with feeling that all the IT world thing is way too complicated for anyone without a “natural talent” for it.
Advice number two is, time is school, even when you are not studying in computer science, should not be wasted. It is the best moment to ramp up and learn a maximum! You have friends to make projects with. You have plenty of time when coming back home (depending on your cursus). But mostly, when you finish your day you are not already saturated or bored from all the programming you did at your day job.
It may seem like I press a lot for taking every minute you have unassigned a use it for programming, and I am. There is zero secrets to being good at anything, no natural talent (ok maybe physiognomy helps in few sports), every skill is developed over time and can be improved. What will set the top carpenters, violinists or programmers way above you is the 10 000 hours the have been investing in consistently improving. Note I used the words consistently improving so repeating the routine for five years won’t bring you far, you need to go just above your limits, always.
Advice number three, try landing a job at a web agency to begin with, as soon as possible, those places are great! They often will be more than happy to hire a motivated young person the can pay close to minimum salary. This seems not so fun but I tell you it’s way better than McDonald’s when still in school. The big advantage of that work experience is that you will get to do all kind and gather interesting sidekick skills to your programming ones.
Web agencies mainly offer wordpress websites, websites built from scratch, design work, custom programming work, printing, social networks help, all kinds and even if you are not necessarily assigned to all of those types of projects you will gather essential skills like a minimum of design taste and CSS skills, learn to talk to clients which includes translating geek speak (technical terms) to plain english, experience with a variety of technologies, work in a actual team of other programmers (communication skills), costing and estimation sense, even business skill just by seeing how the place is being managed by your boss and decisions being made around you.
Advice number four, get out there, don’t stay, alone, they say you learn the most when someone mentors you and points out your mistakes to you. Plus it’s super fun, the tech industry is the best industry to work in ATM IMO and everyone is super welcoming and helpful.
Getting out there may include attending hackatons (do one as soon as you can those are amazing source of fun and learning), going to local monthly tech meetups, just going to cafés hoping to meet fellow programmers, joining a club at school, etc.
Advice number five: Write, write a lot more code than you watch videos or read books because programming is creative domain you can’t get anywhere without practicing your craft, it’s the only way to really learn and anchor concepts in your head. But, but, don’t forget to read books (or watch conference talk on YouTube) those are great sources of explanation for abstract concepts the will make you an order of magnitude better programmer, when facing a specific problem of bug, search on stackoverflow.com or read the docs but to learn new concepts/languages and stay informed read and watch!
I think this wraps the most important of what I had on my mind! Hope it helps and gives a direction. I might post a follow up post with few more points later.