Six months of Hashnode: My journey as a full-time dev
Yay! I completed six months with the Hashnode team. π Logging all my experiences, takeaways, and bummers from the last six months. π₯³
Hey Everyone ππ»
Today marks the completion of six months of working at Hashnode for me. Yay! π
A week back, Rajat Gupta decided that we should catch up. So we did, haha.
In the sync up, while Rajat was sharing how his first two weeks were at his first job and constantly asking me several questions about how my initial days at Hashnode were, it triggered a range of retrospective questions in my mind. Most importantly, the conversation made me realize how much we all have in common yet unique in our tech journeys.
After coming out of the retrospection Rajat triggered, I thought of writing it down on my blog. But why, though?
Ever since I have been serious about my career, I used to chunk my days down into 6 months, pick up ONE domain and do personal projects and internships. This helped me a lot in accessing myself better in the last four years. So keeping up with this ritual of mine, I sat down to reaccess my progress. And log it in this virtual journal of mine.
By no means I am trying to "impart wisdom" through this article, but I am sure just like Rajat and me, there are many who joined their first job and got 10+ comments on your first PR, shipped bugs to Prod, and now think for sure that they are not good enough for their job. Probably this article can act as a good affirmation for all of them. Because believe it or not, You are good enough!
I hope this article will give you some hope and comfort, if and when you see yourself making similar mistakes as mine at your first job.
Umm yeah, that's pretty much my main 3 whys behind writing this article. Also, I feel there are many stories present across the internet about how to get your first job, but very little about what happens after it! π¬ So this is my futile attempt to share what all happened after taking my first job in the last six months.
Read on to see all the things I felt, thought, and experienced and my takeaways from it:
1. Did I make the right choice?
When I was joining Hashnode, to be honest, I was very confused if I am making the right choice. Because for joining Hashnode, I turned down an offer from a company that was my dream company for the last two years.
To date, it is the most surprising turn that happened in my journey. But when I actually got onboarded, most of my overthinking faded away. I became sure that I made the right choice. No one around me was sure about my decision. It felt strange to them when I told them that I would be the 7th Employee of Hashnode. But within 1 month only my parents started loving my job more than me.
I feel the growth that a small and fast-paced team like this can give you go beyond words. The accountability and freedom I got in this small team are unmatchable.
πΆ πΌ Through the dark, through the door Through where no one's been before But it feels like home πΆπ΅
Takeaways:
If before or after yes to your first job in tech, you see yourself drowning in overthinking. You can use this five-point checklist that I used before joining Hashnode:
β
Has your back?
β
Will you get the kind of mentorship you need?
β
Aligns with your interest and the things you genuinely care about?
β
Works on the latest technology(not just for the sake of hype)?
β
Encourages experiments and provides freedom & accountability?
β
Bonus - Promotes Community presence and contributions.
I hope it will help you in keeping unwavering faith in your decision.
2. New Team. New Tech Stack. New Codebase.
After getting onboarded, I had too many mixed emotions for so long. At one part, I was happy meeting this super welcoming team, but on the other part, I got cold feet as everyone is way too experienced compared to me. π₯Ά
So you are telling me that there are no other 20 yo in the team :P
Who will relate to my whining then? π
Anyways as expected, getting started with a totally new codebase was tough. I was really confused because there was a lot that I didn't know. So what I did? I used to READ READ READ a lot of existing code and try to implement and once done, used to learn in-depth whatever I used in the implementation.
But there was one teeny tiny problem with this approach. I was working and studying from morning 7 to evening 9. The workaholic in me loved it. So much to learn. Wow, what a dream!
The researcher in me refused to stop until it understood all the things used in implementing a feature.
And that's when Mohd Shad Mirza and Syed Fazle Rahman pointed out to me that even though I am working from home, I do need to have a ritual of logging off from work daily. π
So, I made the ritual of logging off. And it turns out it was a necessary one. Because working too much can burn you out like anything.
Hence I adopted a new approach, READ READ READ -> learn enough to implement right -> add in notes whatever I used to implement and then research and learn in-depth over the weekends. This approach is working well for me in terms of repaying the technical debt, and at the same time, it has turned out sustainable too. Didn't burn me down.
Takeaways:
It can be overwhelming to see the extent of things you don't know. But at the same time, it is necessary to acknowledge that you can't pack everything you don't know together and plan on learning it in one week. It will take time. But it is ACHIEVABLE. Believe that.
It is necessary to adapt your natural habits and systems based on the ecosystem you become part of. For example, I observed that I learn quickly and enjoy researching things in-depth, but adapting myself to a weekend in-depth learning routine saved me from burning myself out of curiosity.
It's okay to take help. Your teammates won't think less of you because of it. But make sure you ACT on their suggestions and feedback too, that's the best reciprocation for the mentorship you get from them.
3. Am I just surviving or making progress too?
All the projects I did before Hashnode were focused on Frontend only and used different open source APIs. But as Sandeep Panda calls it - as true Hashnoder, you need to implement stuff end to end. I was terrified that I won't like working on the backend side of the features, or even worse, I won't understand these complex things. But slowly, as I progressed, I figured out that all the fear I had was inside in my head only. Once you figure out the right lego blocks in coding, you can build ANYTHING.
In the past six months, I learned - Next JS, MobX, Mongoose, MongoDB, TypeScript. But the thing I learned the most is - PERSEVERANCE.
And while I was learning, it was essential for me to identify my progress too. A common progress indicator for me is my confidence index. Let's say my goal was to learn XYZ. Over time, I found myself confident enough to make complete tasks without any additional help. Slowly, I know I am capable of answering questions on XYZ and helping my team out with issues relating to it.
Takeaways:
Instead of freaking out and refusing in your brain that you don't want to do a thing. Try to give a shot, and create something 1, 2, 5 times. Creation is a better judge than fear, and it will guide you on how to improve your competence and work ahead.
Writing bad code doesn't make you a bad person. Try to keep your work and your identity unmixed. Put in dedication, and you will write better code too. Just act on the feedback and code reviews given to you.
Access your progress the right way. With me, I observed the more I shipped, the more my confidence increased. The number of times I was seeking help decreased along with the comments on my PRs :P
4. Multifaceted Job == Dream Job (for me)
The thing I loved the most about this job in the last 6 months was - It can be as multidimensional as I want. I have always carried so many varied interests and skills with me. Even the thought of abandoning all of my side interests and projects for a full-time job used to scare me. But as I slowly tried to mix match my side interest with my work. It resulted in - new unique ideas for Hashnode and more variety for me.
Takeaways:
- Simple. Speak up. You never know which crazy idea of yours that you can't find time to work on can turn the KPIs of your company. And you will have fun working on it - that's the most important part.
5. Bummers
I think this shouldn't have been the last section, but it is. π
"If you want the rainbow, you have to deal with the rain." - John Green
This section carries all the rainy moments of this journey.
Work remotely can be/is lonely: Even though the Hashnode team is by far the team I feel least remote to (since my teammates are simply so awesome and laugh out hard that it feels they are sitting in my home office only.ππ₯Ί). Feeling lonely once in a while as I work remote (that too during the pandemic as we can't go out) is something I am not really a fan of. But yeah, it exists.
Handling college with the job: While I was joining Hashnode, I promised myself that I wouldn't let the college work be a blocker to my Hashnode work priorities. And it turned out really well. I can say without a doubt in mind that it didn't cast a shadow on my work. Just once I forgot that I have an exam to give :P But this is more of a fun story, less of a bummer. π
Closing Thoughts π
I am looking forward to facing more amazing challenges ahead! And being more consistent with this blog of mine. I hope to help more of you with the things I have learned technically and non-technically and share the mistakes I made along the way, so you can save yourself from making similar mistakes. π€
I'm super grateful to all of my teammates {Anand Vaidyanathan, Catalin Pit, Eleftheria Batsou, Girish Patil, Guru Prasath, Kieran Roberts, Sam Sycamore, Mohd Shad Mirza, Vamsi Rao} and super friendly founders {Syed Fazle Rahman and Sandeep Panda} because of whom I am having such a great time here.
Till next time, Ciao. ππ»