Pssst... Wanna become a senior developer?
This is a guide to get started, but I want to tell my personal story first.
I was a very curious guy, so during my software engineering career I spent lots of my spare time learning and experimenting new things, things that no one teaches you in university. I could have spent hundreds of hours in front of the computer reading and trying crazy things to get un-expected results and learn from them.
Sadly, we ran out of money to keep paying my career. I quitted.
But there was a reason to continue.. I knew the basics AND I knew programming was my passion. So I just continued doing what I was doing during my career, learning like no tomorrow.
I made a list of things that were popular in that time and started to teach my self all of them. No one at home could understand what I was doing in front of the computer all day long.
However, it was 100% worth. Started offering my services to small business. Mostly PHP development, Wordpress sites and Joomla sites. Here I acquired experience dealing with clients, making invoices and most important... getting paid!
I applied to a software development role in a pretty awesome software factory, they crafted rich web apps and IOS apps. Honestly, had no idea what I was getting in because I was a shitty PHP developer. But.. guess what? got hired! (with a decent salary) and a promise to get a better salary as soon as I became better.
At the beginning it was difficult to learn Ruby because it was so different to PHP, however I made my best to learn it. And I did it.. the reason? My girlfriend was pregnant and we desperately needed the money.
You see? There was motivation behind all of this, putting food in the table and ceiling over our heads was it.
At that new job, we had a mentor. He spent over 2 months teaching us every single day about Ruby, even with a mentor.. it was hard to learn. However, I knew that if I did not learn before the trial period ends, I could not keep my job.
I was the worst of the group, because all of my teammates got much more experience than me because they finished they careers. Somehow I did it, I pass the trial period and my salary got a nice upgrade.
Ran into hundreds of technical issues due the lack of knowledge, but everyday learnt something new about Ruby and my progress was notable, of course.. it was slow. I needed to do something about it, so acquired books and subscribed to online courses to get better at Ruby.
My boss complained about my performance, this was my last chance. So did not stopped until finishing reading my books and watching my videos. All of this happened in no time.
At the end my boss noticed my drastic improvement and he personally congratulated me because “Victor was sky rocket on Ruby”.
With time and practice I became a mid-senior developer. So it was time for me to go. I was ready for something bigger.. Freelancing.
As a newbie freelancer, I got experience with new front-end frameworks. I was working truly hard because there was no one to ask technical questions. What a pain! Only a mentor could save me! But that never happened. I was not getting better and that was kinda bad. But why all this happened? When you work as a freelancer you got more money and with more money, you relax.. that sucks because you stop learning.
What I was doing instead of learning? I was spending the money like a dumb kid, I was not investing in my professional development anymore and no one was interested about hiring me, I was stuck at my current job. So, I started learning again and this time it was in an insane level because I read several books per month and took several online courses per month. As a result, I got new jobs offers and off course more money.
You see? Keep Learning == Money.
Now-days I work as a senior software developer for very large companies and have assigned important clients. I make 30 times what I made when I started my career.
Yes, it's yourself.
Why? You waste too much time.
Why? You are lazy.
Why? There is quick money somewhere else.
Why? You are in the comfort zone.
Why? Name it.
Yes, fight with all your soul against anything that stop you being better, being someone happy, being someone with purpose.
I don't know what is stopping you, but you surely know better than anybody.
Write those bad things on paper, and make a promise to your self that you will rapidly change those with positive and fruitful things, like learning a new programming language.
Here is short example
Things that stop me from being better:
- I'm lazy.
I promise myself:
- Laziness will be replaced by learning Node.js in 1 month from now.
This is of course the most difficult part, many of us don't know what motivates us, what makes us get out of bed with positivism every day.
Perhaps for you it is the hope of being able to change the world, your city, your town or at least home.
Without motivation, it is almost impossible to make a positive change. Because it is the engine that makes us run towards new adventures, new areas of knowledge, incredible new paths.
If you believe in God, ask Him to motivate you to be better, to help you keep that promise you made to yourself.
Having a mentor is a nice to have, it surely helps to boost your learning curves.
If you had the chance to get one, like me. Don't think it twice.
It will be an honor for me to be your mentor. If you are struggling with a technical problem, or you want to learn something new... I will be glad to be part of your journey to become a senior developer like me.
You can find me at Codementor.io were I work as a mentor.
The software industry moves fast. But if you keep up, you can have an incredible career.