
Jumping from a controlled environment of education to an open world industry with lots of choices and paths is not natural nor easy. The education system is half preparing us for real-life problems and use cases, and most of the “solving algorithms” being thought have an ideal context for simplicity reasons.
I found myself that among entry-level developers and people looking for a career shift, there is a need for a roadmap: something that will guide them towards a successful professional developer career in an efficient way – nobody wants to waste his time.
I learned some lessons that I would have liked to know when I took this path by trial and error. Here is my Software Developer Starter Kit that I carried in my backpack while traveling this road.
1. Find yourself a mentor or somebody to admire
Either if it’s a senior colleague or a software developer you follow on Twitter or YouTube, you need the vision, steadiness, and creativity of somebody better than you. You need to learn how to focus and how not to get lost in details. You need to learn how to learn.
Imitate, Assimilate, Innovate.Pragmatic Thinking & Learning, Andy Hunt
It’s not a secret: every job has to be learned, tested, and improved, and the best thing to do this is to watch a master doing it. Usually, you will find this person without too much effort. He’s the guy that everybody respects in your company because he proved himself by delivering high standards results. Watch him work, watch his behavior, watch his attitude in different situations, ask him what he does to improve his work and what you can do to improve yours.
If you’re not in the luck of having such a person in your company, look for a source of inspiration online. There are lots of guys out there that share tutorials, courses, and projects. These people know what they are doing – they are professionals. Watch them. Learn from them.
2. Read a lot
I remember I was not much of a reader myself because of the imposed literature in school. I was in the industry for some time when I met my mentor. Guess what his first advice was?
There’s no shortcut to learning a craft; you just have to put the years in.Kylie Minogue
Well, reading is a kind of shortcut to learning the craft of software. Take it this way – a guy with some years of experience decided to gather all the information on a specific subject and put it in a 300 pages book. He distilled the information, reviewed it, improved it, made a couple of drafts, and then showed it to some other professionals that gave their opinion. Then he published it to the world. It would definitely take more time for you to look and understand that volume of information by just practicing and searching matching subjects on StackOverflow.
I believe that starting a journey with a book provides you with the necessary resources to succeed. It’s like a map of where you are and where you can go.
3. Code code code
A mentor and a book provide can provide wisdom, but that alone is not enough to be a professional. You need to practice.
Everything is practice.
With some background knowledge of the domain you’re diving into and some inspiration from your mentor, you are good to go. There are lots of projects you can start with. There are even websites full of ideas that you can pick from. Don’t make it too complicated – use the main idea and start from there. The rest will follow and remember: you’re learning, not starting a business(not yet, at least).
A simple but efficient method that I found interesting is learning by finding differences between languages, frameworks, and libraries. After I finished a project, I started again in a different language or using another approach. Try writing something in Java and then in C# or Python. If you wrote a front-end application in Angular, try to build it using React or Vue.JS. If you used a synchronous approach to a problem, try asynchronous.
4. Keep going
It’s fair to say that it’s not easy and there is a lot of information. In the beginning, many things won’t make sense, and you will easily get lost and discouraged, but don’t worry – it’s normal. You will get tired, feel overwhelmed, and definitely spend hours figuring things out, but it is well worth it.
Quality is never an accident. It is always the result of intelligent effort.John Ruskin
After some time, you will start to recognize patterns and feel like you’re familiar with a subject, giving you confidence. That confidence will power your curiosity. On the other hand, you will lose that confidence often when misjudging a situation or misusing information. The lesson you must learn is that with enough time, everything can be familiar.
I met some younger developers that were chasing money before they got to know the project, the domain they were working in, or the technology they were using. I’m not saying to spend your entire life at one job practice Javascript until the end of it(if there’s any), but before making such decisions focus on your personal improvement. The money will come and go, but the knowledge will stay. And you can produce money anywhere with that knowledge.
5. Make connections, not friends
We spend approximately one-third of our lives working. Our industry indeed offers the opportunity to work from home much easier than others, but be true to yourself: it’s still work. We spend an essential part of our entire life next to some people that we call “colleagues” and sometimes know so little. But we cannot help it. We are social beings, and we like to communicate and be part of a community.
One hand will not wash the other for nothing.
Usually, there are birthdays, weekend parties, team buildings, and some other events that bring people together in a company. These events create bonds between employees and help unify the team, but these bonds are dangerous. I’ve seen people that took decisions about their career based on the relationships at work.
I believe it’s good to have some relationship with your colleagues, one that will provide you with information and connections but if it comes to choose between a better job and an unknown social environment and the current job and a comfortable social environment, always go for the first one. You never know that the current situation will last forever or that the other environment will not be more comfortable. And either way, if you really have friends, you can see them outside of work.
This is my starter kit and I wish I knew these things 5 years ago.