Months ago I was wondering about the journey that I had along with my career as a software developer and I could say that I’m “lucky” or “blessed” but I don’t trust in luck, I think you can build your destiny based on all the decisions that you make. So in these past years since I began my journey as a developer, I took some decisions and I always been trying to do some things that helped me a lot to improve my skills in this field. I would like to share with you 6 things that I applied and helped me to improve myself.
I'm not a great reader, I have difficulties to focus while I'm reading but I think read is very important. Since I don't have the reading habit I just read some books so far, I'm not the one that reads tons of books but I have to admit that read books help you to grow and learn new things. I'm a person that maybe doesn't reads a lot of books but reads a lot of articles at magazines and blogs, I invest at least 30 minutes every day (I try) reading blogs or articles. This practice helped me to discover new alternatives to do my job, new techs, new frameworks that in some point I've been using and helped me to improve my job. You can start investing some minutes to read about a topic that you want to specialize in or a topic that you want to learn. In my case each day I try to read one article about a tech or a stack that I'm familiar with (backend or DevOps) and also I read one article about some tech or stack that I want to learn (frontend and product management).
During my career and different jobs, I've been working on projects that are already built so I've faced code written by other developers, that was great no matter if that code was bad or well built. Reading other's code allows you to gain new knowledge. Maybe you can learn new design patterns, code standards and sometimes you learn how not to code. I also recommend reading the code from Open Source projects, if you use some libraries or tools that you like maybe you can spend some time reading the code and its documentation.
You may have all the theory inside your head but the only way you can prove your value is demonstrating what you've learned. As a Developer build things will help you to improve your skills, in software development the "practice makes perfect". You can develop an App or Tool to learn a new language, framework or design pattern, from my perspective there is no better way to learn than put it in practice.
I think is great to learn different programming languages. When you see that developer that knows 5 different programming languages you just think it is awesome that someone takes its time to learn different programming languages. You think that Dev is a superhero, the disappointment comes when you read that developer’s code or you watch him submitting bugs to production. So I think that if you don’t know good coding standards, coding principles, software architecture approaches and design patterns you will make the same mistakes in every programming language. I could say that those aspects are agnostic to programming languages and a good developer should focus on polish those aspects before getting obsessed to learn a lot of programming languages.
In every job that I had, I always tried to listen to the experienced co-workers and that is something that I didn’t regret it, we can learn a lot about the experiences (bad or good) from others. You know, listen to the difficulties from others can help you to avoid the same difficulties to you and listen to the achievements and success of others can inspire you to do great things. So always try to accept advice or a critic, listen to what the others have to say because sometimes they are spending some of their time to help you to be better.
Now on the other side, I also try to be someone that helps the less experienced to improve. This is not rocket science, this is about to guide or help others when they need it. In a situation when you’re teaching or mentoring I think that your technical skills could increase. In my particular case, I experienced the “learning by teaching” and it’s doubly satisfying.
Well, those are the “tips” that I can share with you so far, maybe some of them are obvious but the key is to just do it. If you have more tips or comments you can share with us.
Thanks for reading.