A month in my developer life: Episode 1 - May 2021
👋 Hi everyone and welcome to a new series here on my blog all about reflecting on my experiences each month as a developer new to the industry. This will mostly be a rambling of my thoughts reflecting on the previous month.
If that sounds good to you then please keep on reading!
I wanted to start writing a series of articles talking about my experiences as a developer taking on his first full-time developer role. To give you a little background on me, I started learning to code as many others did around March 2020. I put thousands of hours into learning and last month in May I secured my first full-time role in the industry.
Many others have picked up programming during this time and are now also looking to make a similar breakthrough, or have recently done so themselves. I thought it would great to start a series focusing on my experience and especially the things I struggle with so that it might help others in similar situations.
Last month I became a Full Stack Developer here at Hashnode 😄. It became my preferred place to blog in March and quickly became something I was passionate about. It's awesome to be working to help build the future of Hashnode.
This was the moment I shared my news with everyone 👇.
My role with Hashnode is fully remote. It's not only my first full-time web development role but also the first time that I'm working remotely so I think there's a lot I could share as I take on this brand new challenge.
Now that's over, let's get into my first month!
🙂 New is the flavour of the month
- My first month as an employed software developer
- My first month as a fully remote worker
- New codebases
- New teammates
- New challenges
My first week was very exciting despite also being a little intimidating purely because it was all new to me. Everyone on the team was super welcoming which helped to settle my nerves and I soon began to dig into the codebase. I've worked many jobs in several different industries over the course of my travels so I know how much easier things become when you have a supportive team.
Jumping into someone else's established codebase for the first time kind of feels like what I imagine being pushed off the side of the cliff into a cold pool of water is like. It's shocking at first, then hopefully your instincts kick in and you start to swim to stop yourself from going under 😄.
Fortunately, I felt comfortable with some of the main players in the tech stack that includes Next.js so that helped ease me in. As I worked my way through reading each and every file on the first day I quickly realized that it would be impossible to pick things up straight away and understand the exact significance of each line, file, and function. It takes time for this stuff to come.
🐾 Small steps
A good place to start is to work your way through each file to get accustomed to the structure of the project. I use a pen and paper to make regular notes of things I can refer back to and I would be lost without it. Think of it as getting used to a new city after you've just moved in. Walk around and take in the highlights. When you need something in the future, you'll at least know where to look!
I can honestly say that working in a codebase that was not written by me has been a complete eye-opener and something I suggest everyone do as soon as possible.
🙏 It's OK to be nervous
For the first couple of weeks, I definitely felt some nerves which I think is normal. This was the first time I was working in a shared codebase that was rapidly evolving. More than anything I was afraid of making silly mistakes.
My mind would go blank when I had to perform the simplest of actions with Git for example. I didn't want to cause problems that would negatively affect others and so I would second guess everything I was doing. There were a couple of days where I genuinely couldn't remember how to do simple fetching, merging, and branching because I was second-guessing myself. Even though this was stuff I knew how to do.
By week 2 or 3, I started to calm down and I tried to remember that I did know what I was doing and I was here for a reason. I'm sure this a very common occurrence among new developers and feel free to share it if you have experienced something similar.
🎥 Getting used to remote working
My current temporary setup, not so fancy but it's mine 👇
I've never worked remotely before and I found this to be a surprisingly difficult thing to get accustomed to. All of a sudden you have to think about things like when to take breaks, what work schedule works well for you, and handling regular video calls.
I think it's important to define your own working day structure with some kind of plan. I didn't do this so well for the first two weeks. Some mornings I would forget to eat breakfast until it was almost lunch and I wasn't consistent with taking breaks when I needed them. Weeks 3 & 4 were a little better and I'm starting to see what times work well for those short breaks.
It's all trial and error
I still struggle with remembering to get up and move around. From what I've found, it's easier to feel a little too comfortable in your chair when you're at home which means you forget to get up and take a quick refresher. There was a day last week where I must have been glued to my chair because I completely forgot to move for most of the day 😄. Big mistake!
For the next month, I'm going to dedicate a little break time each day to a small walk or exercise of some kind to help keep me active. I'll share how I get on with this next month.
The other important part of remote working is video calls. I've never been someone who is completely comfortable talking over the phone or over video. Often one of those people who would avoid phone calls at all costs and would much prefer speaking in person. Having now finished my first month I can say that it's getting a little easier but I've still got some ways to go to become one with the camera!
🤗 I get to work on a platform I use daily!
It is a really exciting thing to be able to contribute to a product you know and love and I'm extremely fortunate to be in this position. Every time you see one of your pull requests get merged to the big boy branches it feels awesome knowing you were responsible for something, no matter how big or small 😅.
It meant that it often didn't feel like work at all. I was a regular user of Hashnode before I joined the team and it's really interesting to see the inner workings of how it all comes together and where it's headed in the future.
I honestly don't know where that first month went because I loved every second of it, even in my struggles. Blink and you miss it!
Hashnode swag that I was sent this month 👆
📝 Maintaining consistent content outside of work is tough
Starting a new full-time job definitely contributed to a drop in my own content which is to be expected. My tweets were way down and my articles were not as consistent as they were. It's been difficult trying to balance the two things. Some days you don't feel like posting and it's on days like this where having a plan is needed which I was lacking.
For the coming month, I will try and be a little more organized by planning ahead with content a little better so that I don't end up with as many blank days. I love interacting with the community and I feel disappointed in myself when I can't manage it how I would like to.
💁♂️ My tip for the month
Every month I will try and offer up a tip of some kind based on my experiences for the month. This month's tip relates to finding your ideal role 👇.
Build personal projects that represent the field or tech you are really interested in.
Let's say you are passionate about e-commerce and you would love to work on e-commerce projects in the future. Then build some of your own e-commerce projects and get them out in the open. This can go a long way especially if you are looking to break into the field for the first time.
Doing this will provide the opportunity for employers to contact you first. Share your projects in developer communities and on social platforms and write about them too. Your projects can act as another recruiter for you and you can use them to back up your own claims and knowledge when you get to the interview stage.
✌️ The month ahead
Overall I'm really happy with how my first month as a software developer turned out despite the article focusing on a lot of the things I struggled with. It's just how my brain works, to keep finding things I could get better at. I know there's only one way to go for me and that's ⬆.
Although touches of imposter syndrome crept in at times, I was able to cope with it and I now know that I am able to do this.
Please let me know if you enjoyed reading this article. You can do so in the comments below or @Kieran6dev where I'm always available.
Here's to the month ahead! 👋