How to become the Developer you’ve always wanted to be.

We are living in a world where technology is going crazy, things are invented on a daily basis, things that we couldn’t even imagine that would exists few years ago are part of our everyday lives.

Being a software developer in this era can be quite challenging. With all those online courses, youtube videos, blogs, learning websites why is it hard?Programming is gaining a lot of popularity and everybody wants their part. Things are invented on a daily basis and it’s really hard to keep it up, there are thousands of new programers everyday and YOU need to step out from the crowd!

Being a good software developer requires a lot of hard work, effort and patience. If you choose to be one, prepare yourself to adopt to new technologies and learn everyday something new… till the rest of your life!

Here are few tips that will boost up the process

1) Be faithfull to your wife not to the programming language you use

I know you love your programming language. You are using on a daily basis, you are even spending more time with it, than with your wife.

But it is not cheating if you spend some time learning a new one, quite the opposite, you should start learning a new language TODAY!

Popularity in programming languages and frameworks changes just like fashion does. If you asked SOMEONE few years ago weather PHP is the language to go, everybody would’ve said yes. And if you ask now, I doubt someone would say PHP is better than Node.js for example…

Learning new programming language is a great exercise for the brain, it makes you more open minded and easy to adopt to the next sexy thing. Which will make you far more likely to be hired.

Don’t be the guy who knows only one thing, be the guy who is expert in that thing, but can easily adjust to anything else.

2) Spend more time reading books than watching youtube videos

I know what you think now, its easier, it requires minimal effort, you feel more comfortable, its visual so it is more likely to fit in your brain and you can do it from your bed, awesome isn’t it ? Well you are not in kinder garden anymore and someone telling you stories should not be the main source of your knowledge. Don’t get me wrong, youtube community is cool and i love it, but it should be the source you will learn cool new stuff and tricks.

Your brain need to be active while learning, you need to sit tight get rid of all the distractions and focus on what you wan’t to learn. Books offer far more value than youtube videos, they are very thorough and every part is detaily explained.

Books are written by a group of professionals who’ve been in the area for over 10 years. They know their job, they know how to teach people and they have probably held many conferences and talks before writing that book.

Try reading one book a month, you will be amazed with the results. Get your next book about the programming language you’ve decided to learn next and you will achieve two things in one go, great right ?

3) Never… No, seriously NEVER say: “I Don’t know, it just works.”

You’ve said this one didn’t you? You probably even said it today, well stop it right there!

Software development is based on logic, facts and strict rules, nothing in your code is done magically. Everything is working the way it works just because you or some other developer wrote it.

If you think you are going to write software and just hoping it will work you can quit today, go bet on horses and hope the blue one will win. Writing quality code has 0 factor of luck in it, you need to know why it works so you won’t get stuck on the same thing one week after.

Everything you write has it’s own consequences and that chunk of code might be working now, but if you don’t understand why it works it may break the code you are going to write tomorrow and you won’t even know it’s it, because you didn't cared.

Get to the bottom of every line of code you write.

4) Software development is Art, aspire to be Picasso.

( Pablo Picasso 25 October 1881–8 April 1973 Regarded as one of the most influential artists of the 20th century)

Yeap, you’ve heard that right, it is an art ! Just like the painter is proud to show the paintings he painted, just like the writer is proud to publish the book you should feel the same when someone is reading your code.

Just because users are seeing and interacting with the UI and not the codebase directly, this does not give you the right to write awful code.

( The Burj Khalifa is the tallest structure in the world )

Everyone can build a house right? Well maybe not a real one but you can make a house for your dog in a few days probably. It takes a tremendous amount of work, knowledge, planing, good organisation and god knows what more to build the next Burj Khalifa.

The real art in software development is writing modular, robust code that developers would love to read.

Now, you are probably asking how to achieve this?

-Writers are reading a lot don’t they? Painters are attending all the local galleries, architects are spending hours watching beautiful buildings and you should do the same! 
Open source community is rapidly growing and everybody is contributing to it. Find the github link to your favorite library, jump into the code see how they solve certain problems and apply them on your own.

Finding things that needs improvement in your code means you’ve learnt something from the last time you wrote it and you should feel good about it!

5) Learn things that are less likely to change

If you are reading carefully you should be aware by now that your favorite programming tool is going to change or sadly go in history after a while. This is the truth you should accept sooner rather than later.

There are things in software development that are less likely to change, but you are probably not paying enough attention to them.

Algorithms and Data structures

“- Why are you asking me about data structures I’m front-end developer?”.

This magic sentence will get you kicked out of the interview room without any explanation and they have every right to do that.

You need them, and you need to know how they work!

First, you use them every day! You are writing lists, arrays and hash maps probably couple of them every day, isn’t that right? Well how can you say you don’t need to know how they work behind the scenes? Knowing the pros and cons of the data structure you use will less likely result in bug.

Algorithms helps your practice your brain to think like a programmer.
 You should think differently, you should see every task as a result to certain clearly determined path of rules and your job is to find the most elegant way.

Solving algorithmic problems is the best way to achieve this, there are tones of websites that have great collection of problem solving tasks that will strength up your brain. Visit one every now and then.

Great place to start is GeeksForGeeks.

Design Patterns

There is no excuse not knowing design patterns, you probably won’t learn them all, but you must be familiar with the most common ones.

For every development difficulty you encounter, chances are good that another developer has encountered the same problem. Design patterns allow you to exploit the experience of your predecessors using proven arrangements of objects.

Learn to write CleanCode

You should learn the principles in writing clean code and apply them to every piece of code you write. Here is a list of book that helped me a lot.

Before you jump into your next masterpiece, organise yourself, make a good plan, think about all the features the program should have and can possibly have in the future and than start coding.

Hope you’ve enjoyed it, that you’ve learnt something and that you will apply some of these habits in your software development journey. Make sure to show your support if you liked this article and would love to see more !