In this post I will share with readers 5 things I learned during my 5 years of experience as a developer. These lessons I learned in a hard way, i.e. by paying with my time, energy, or money.

1. Think about architecture before you start coding

The novice programmers tend to write the code as fast as possible. While it is good to have a sort of working product, in reality, if you want to have not only working, but also successful product you need to think about architecture first. By successful product I mean maintainable, usable product that you can support in the future.

2. Don’t attach yourself to the technology

Technologies very often outdates very soon. It is always easy to start building a project with a technology that you are familiar with, however sometimes their may be a better choice.

3. Have a starter template for the projects

This is purely about productivity. I often caught myself doing the same thing again and again. For example: almost all web application I developed have authentication/authorization logic. So, instead of creating it over and over again, may be it is better to have a project template that you use if you need user logic. Another good candidate for templating is logging logic.

4. Use source controls

Even if you the smartest person in the world, it is really hard to develop something alone. Most likely you will need to add someone into the project who will be also developing some part of the project. For this kind of case, source control is your saver.

5. Learn the tools you are using

This point closely relates to the 3rd point. You need to learn your IDE. Try to learn its shortcut, if it support extension, what extensions are there that can boost your productivity. Currently I am using Visual Coe as my IDE. It has very large market place where you can find all sort of extensions. For example I have installed blade template code snippet extension that boosted my productivity during Laravel project development.