This is me sharing my experience as a junior software engineer. I’ve been working as a junior engineer at a company for a little over 3 months. I know I could have started this series a long time ago but I guess now isn’t late either. I feel it’s important for me to document my journey, track my progress, and share my successes as well as my failures in public. I think this could also be beneficial to newbie software engineers by providing some useful insights into what it’s like to be a junior engineer in this present day. I hope to make this an ongoing series so stay tuned!
Gratitude
First off, I want to start by showing a lot of gratitude to my employer for giving me the opportunity to learn and grow in this industry. Truth be told, there are little to no opportunities for junior engineers nowadays. Organizations are more focused on hiring more experienced engineeers thus making it very difficult for junior engineers to kickstart their professional career. I feel blessed to join a company that is heavily investing on employee growth and happiness. I hope to maximize this opportunity and contribute to the success of the business.
Note: These findings represent my experiences ever since joining this company. Like I mentioned above, I’ve only been a junior engineer for 3 months now so this part highlights some of the things I’ve learned within this short period of time.
Feeling dumb and not knowing where to start
When I joined this company, I felt I would be cranking out code from day one. I saw myself as genius and having some experience in some of the technologies stated in the job description, I felt it would be easy for me to get started from the first day.
I was wrong!
Diving into the codebase, for once in my life, I felt dumb. I didn’t understand anything that was going on there. I couldn’t even picture how the different components of the application are being composed as one big giant application. I learned how important it is to understand complex apllications and being able to add or remove some piece of code. This went on for weeks. I began to see how important it is to write good, quality code. I began to see how software is being built from the bottom to the top, how the different parts of an application is broken down into very small components. This was indeed a huge paradigm shift from what I used to know.
Luckily, I have a super helpful team who is kind enough to handpick some beginner friendly issues inorder to get me started, and make me familiarize myself with the codebase. I still don’t fully understand my company’s codebase but definitely, I’ve gotten alot more comfortable navigating the different parts. I’m happy with my progress so far!
Attention to detail is important
I find it very difficult to pay a very close attention to tiny details. In fact, I see it as one of my weaknesses. I underestimated how important this skill is, and of course, it had some adverse effect on me during my first few months of joining my current company. Code represents some form of value- in most case, monetary value. Thus, it is very important you pay a very close attention to any piece of code you’re adding to or removing from the codebase. I made a lot of mistakes like: pushing commented/leftover code to feature branch, bad variable naming, not testing changes locally. Nowadays, I try to focus as much as I can on anything I’m actively working on. I always make sure that anything I do, I put in my very best- build to perfection! I figured what has really helped me narrow down my focus is just focusing on one single thing at the same time, which brings me to my next point.
Know your limit
My mentor, Hugo Häggmark, taught me a productivity technique known as work in progress limit. In agile development, work in progress (WIP) limits set the maximum amount of work that can exist in each status of a workflow. Implementing WIP limits allows you to complete single work items faster by helping your team focus only on current tasks. I’ve realised that I can only focus on one single task at a time, thus, I set my WIP limit to just one. Ever since I started putting this technique into practice, I have seen some tremendous progress in my day to day work, as well as my life generally. This has drastically reduced the amount of context switches that I do everyday. Tiny changes, remarkable results.
Imposter syndrome is killing me
This has been one of my biggest challenges ever since I joined my current company. Everyone seems to be really skilled at what they do and for me, I feel I’m doing just so little. Sometimes, I feel like I’m a fraud and all that is left is just for my employer to find out and eventually lay me off. It’s such a bad feeling to live with this kind of mindset and truth be told, it affects one’s self confidence in every level. I try to solve this problem by having an open conversation with my teammates. It becomes refreshening when a much senior colleague tells you it’s normal to feel that way. It’s even reassuring to learn about their experiences having gone through similar situation in the past. It gives me this great conviction that it can only get better over time. Also, I try to reflect on my strengths at all times which gives me a huge morale boost and helps me overcome this feeling of insecurity- you’re awesome Uche, keep going!
That is all I have to share for this episode. Thanks for reading and see you in the next one!
Comments