THINGS I WISH I KNEW AS A BEGINNER.
Published: 2020-06-17 16:04:08

About a year ago, I wrote my first lines of code and I felt *powerful*. It was a simple Python program with a print() method to display my name. I was so pumped that I thought in a week's time I'd probably be able to hack NASA or something... Unfortunately, the excitement soon faded away; all I was left with was my wit to push me through it. (And maybe also the fact that my mum had already paid Ksh. 35,000 for me to get my training, I couldn't back out).

So here are some of the stuff I picked up along the way:

###1. DON'T TRY TO LEARN EVERYTHING AT ONCE.

Coding is a process or a life cycle of some sort... but with tech. As a beginner, it's best to learn the basics of a language before delving into the plethora of frameworks and libraries that come with a particular language. You can't skip the basics-stage of your journey, you'll just end up right back to the basics. Take your time, one step at a time. You'll have an easier time understanding later on having formed a firm foundation.

###2. EVENTUALLY THE TUTORIALS WILL MAKE SENSE.

I had a hard time understanding the official language docs so I reverted to watching more tutorial videos. Some were confusing or outdated but they helped me understand the docs even more. Moreover, they showed a more practical approach to a concept. Some of the videos were 'heavy' but looking back, I now understand most of them. Thanks to people like *[Traversy Media](https://www.youtube.com/user/TechGuyWeb)*, *[Telmo](https://www.youtube.com/user/Telmo87)* e.t.c, the University of You Tube has become a rich source of programming content.

###3. MAKE SMALL PROJECTS FOR PRACTICE, YOU'LL UNDERSTAND MORE.

I personally had a hard time putting my knowledge to practice as a beginner. I was afraid that I still hadn't learnt enough to start my own projects. It doesn't have to be something big, because you'll probably end up giving up on it or even lack the motivation to start. You won't be able to measure your progress effectively unless you see what you can actually do. Who knows, maybe you're better than you think you are. Celebrate the small achievements and progress you've made, draw from that and code some more.

###4. FIND YOUR PASSION AND RUN WITH IT.

In an era of great connectivity, it's easy to be swayed by people's opinions about what you should be doing. People debate if JavaScript is better than Python and PHP (obviously JavaScript is hands-down superior to y'all). Or which tracks in the tech field are easier or popular or better than the other, be it data science, Web App Development, Mobile App Development e.t.c. Don't lie to yourself, you can't learn all of these tracks or languages and have the level of proficiency expected in all of them to be employed. 

See where your passion lies and stick with it. It's fine to experiment with other tech fields but decide on a primary path you'll take. Learning 5 languages to make your resume 'richer' won't help you. There are new technologies emerging daily and it's hard to keep up with all of them. Don't jump from tech to tech just because it seems more 'popular'. 

###5. DON'T GIVE UP.

This sounds quite cliche but it is true. The enthusiasm will fade away and sometimes you'll feel like there's no progress you've made. But most good things take time. Try not to compare yourself with others, that only ends up in a black hole of negative thoughts. Find out why that bug is there, do more research and ask around. This is your time to experiment with what you've learnt; make stuff, break stuff. 

Sometimes I feel like Software Developers are just people who are really good at getting answers from Google. Sleep on it, take a walk, eat something, then come back...just don't give up.

###6. CODING ISN'T EVERYTHING.

For the longest time I thought that in order to be a programmer, you have to be a loner and quiet, with your nose always hidden behind a computer. On the contrary, most employers expect you to have other skills outside your technical ones. You can double in music, be a social media influencer, start a blog or vlog, the possibilities are endless. Some of these hobbies will be proof that you have essential skills like: good communication skills and leadership skills. They'll make you stand out and not seem like another robot in the Tech industry.


I hope you can try to practice some, if not all, of these. Good luck in your journey towards becoming a kick-ass coder.