Hello fellow dev.to readers!
I was inspired by my colleague @shockwavee, who wrote a great post about his journey to mastering React. Since I was recently promoted to (mid) Software Developer position, I wanted to reflect on some of the most important parts of the journey from junior position to the new one, in Bornfight. Why am I explicitly saying "in Bornfight"? Because every company has its own understanding & vision of seniority levels. This is just one of many things I’ve learned, and which I want to share with others, who might find it helpful, motivational or just interesting to read.
Before coming to Bornfight, as a student in my final year, I worked full-time for 6 months in a small company (there were 2 of us, me and the boss). Projects were both interesting and more complex (e.g. enterprise softwares for banks). This opportunity allowed me to get hands-on experience with a PHP framework I’ve been learning in my free time - Laravel. I look at that period as a great start for someone new in the industry.
Since both of us in the company were not very experienced developers, I quickly realised that my growth could not be fast as I wanted to.
I was longing for experienced surroundings.
For a moment, I even thought that getting a raise could fill that gap, but it couldn’t.
Naturally, I started to look for another job. Knowledge and confidence gained here helped me in the interviews, technical questions and job assignments, which ended in getting 2 job offers:
- Working on a custom software products with Symfony framework, lower salary than current, 50+ sized local agency (out of which are 15+ people in development department)
- Working with Drupal (CMS) on a websites, much better salary than current, 20+ sized international agency with only 1 person in the local country with whom I would be working with
To be honest, the second offer (or “higher salary & international company”) sounded amazing, at first. After some rethinking and discussion with others, everything was pointing to the question of why did I even start to look for other opportunities? It definitely wasn’t about the money. Even though the second option had some great perks, it didn’t offer the most important one. I wanted to be surrounded with a bigger development team, with much more experience than me.
In late April of 2019, I started to work at Bornfight.
Fun fact: it was exactly one day after my birthday, so it increased that “new chapter in life” feeling, which I usually have after birthdays.
The first month was quite incredible. So many new things, modern working place, new faces (and forgotten names), a lot of meetings in different rooms, various departments and colleagues with different energies, new technologies and tools to work with… yes, it was overwhelming. To sum it up, it was a professional environment which included a lot of new working aspects all at once.
Less than 2 weeks later, I was put on a completely new project. That challenge brought a lot of smaller ones with itself. To name a few:
- working in a team hierarchy with different responsibilities
- collaborating with different departments (frontend, design & PM)
- separating backend’s tasks & responsibilities in my mindset from frontend ones (since I previously did everything)
- communicating with clients in foreign language
- giving estimates for tasks, etc.
Depending on the person, moments in life like this one can go in different directions. In order to feel more comfortable in day-to-day tasks, a junior should spend some of the free time to learn more about the vast number of challenges in front of him/her. Especially if your goal is to distinguish yourself from the others or to get a promotion quicker.
But, do you need to? It took me longer than I would want, to realise that everyone has a different path (and therefore different speed of getting to specific outcome). It's normal to compare yourself with your peers, and I'm not saying that everything will always be fair, but try to be as objective as possible when comparing. Bear in mind that you might not even have a clear picture of how good or bad someone is, or that the seniors might not be aware of some of the good things you've done. After all that, even after doing your best, promotion might come just because your colleague(s) left the company and a spot with new responsibilities opens up!
I believe that most (if not all) developers get to this point in their career, at least once.
This happened to me a few times so far. Mostly, it was because I've created an unnecessary burden for myself with a few misconceptions and bad practices:
- giving an estimate which PM wants to hear, instead of the one which is correct (i.e. higher estimate)
- giving a wrong estimate means that I need to work overtime for free, just so I could continue the next day without being late with my tasks
- delivered code needs to be the best possible, without taking into matter the effort and value behind each solution
- being wrong is bad (it isn't, just communicate it on time and be careful not to repeat it again)
- expecting that every process in the workflow is already set and it's working smoothly
A combination of things mentioned throughout the whole post and bad organisational skills in terms of balancing work & private life, led to losing focus and worse health. When that happens, things can go down even faster. Company was also in the process of rearranging many processes and responsible people at the moment. To be honest, I felt so bad mentally, not only that I wanted to leave my job, but not to work at all for some time...
In that state, quitting wouldn't be a bad call. In the meantime, the actual pandemic started and changing jobs wasn't an easy option as it might be earlier. Circumstances were changing often, I started to work remotely (which I discovered to be great for me), had more time to be in nature and have quality time with others... and I've managed to get through it all! 💪🏻 🎉
Even though it seems like a unique experience, I've realised that I've learned a lot in between, and that learning part was actually the key. When I got to the state that I feel confident in my knowledge and that I'm able to solve most of the tasks by myself, my focus improved. When focus came back, I could finally involve myself in some other things than just writing code, and use other abilities as well. Sooner than later, others started to recognise it, and step by step, things fell into place.
So, in the beginning, maybe I just needed to focus mostly on bettering my core skills needed in the job, instead of focusing on many aspects just a little bit?
Additional personal advice for avoiding burnout would also be to stay both physically and mentally in shape. Our job requires our focus to be in a very good condition, and we often forget that accumulated stress should be thrown out of the system through different kinds of activities & good habits, based on personal preferences (e.g. sport, meditation, socialising/having fun, good sleep, etc.).
Since the post is already long enough, and I could write about this 1.5 year journey in the company much longer, I've decided to sum it up, with possibility to extend it through new post(s).
I cannot think of any life experience from which I grew personally, that did not include both good & bad moments. If you find yourself in some of the situations above, embrace them, focus on the most important things you need to do (and are expected from you), and take care of your health. Then, everything will fall into place. And be patient.
Thanks again for reading my story. If you have any questions or would like to read more about it, let me know in the comments below. I really like to hear others' stories and experiences as well. Any additional advice for everyone would be greatly appreciated. Cheers!