paint-brush
My Journey From a Novice to Becoming a Front-End Engineerā€‚by@aakansha1216
278 reads

My Journey From a Novice to Becoming a Front-End Engineer

by Aakansha DoshiSeptember 10th, 2022
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

I want to be able to share my journey today so that someone, somewhere, reading this can relate to it, and feel "It's okay, I am doing fine". It's great to be able to walk down memory lane and give myself a pat on the back. Sometimes we need to give ourselves credit. It's good to be reminded of the path, of the journey, completed, and of the long road, that still lies ahead!

People Mentioned

Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail

Coins Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - My Journey From a Novice to Becoming a Front-End Engineer
Aakansha Doshi HackerNoon profile picture


How? How exactly does one start a damn Blog?!??? Maybe I should introduce myself. Maybe I can jump in straight away and talk about... No, the introduction sounds better! CLEARLY, I AIN'T A PRO AT WRITING BLOGS šŸ˜†, but I do write code though šŸ˜‚. I have a story to share, one I believe many of you will be able to resonate with!


Here's me Aakansha Doshi, venturing yet again into something new. Blogging. This is my first blog. And why exactly am I writing this? Ummm... At work, I have gotten the opportunity to interview and mentor people, and looking back I could relate to many of them. I could relate to what they were feeling, the anxiety, the excitement, and the curiosity about the unknown.


I want to be able to share my journey today so that someone, somewhere, reading this can relate to it, and feel "It's okay, I am doing fine". It's great to be able to walk down memory lane and give myself a pat on the back. Sometimes we need to give ourselves credit. It's good to be reminded of the path, of the journey, completed, and of the long road, that still lies ahead!


Background

I was never sure of what I wanted to do. I was confused among various subjects likeĀ Computer,Ā Mathematics, andĀ ChemistryĀ during my school days.Ā EngineeringĀ was never in my mind but my friends pushed me to give the entrance exams. So, I went for it.


It takes years to prepare and get a decent rank to get into good engineering colleges. Since I had been given only 2 months for the preparation I had no hopes. Nevertheless, I wanted to do something with Computers so I decided on BCA, but things turned out differently. As per my rank in the entrance exams, I managed to get into one of the private engineering colleges.


College Life

I hardly knew anything about web development in my college days! To be honest, I was one of those 'studious' students whose only goal was to score a good CGPA thereby securing a job at a decent software company. There were very few MNCs likeĀ TCS,Ā Infosys,Ā and IBMĀ which use to visit our college on campus.


Fortunately, I got placed atĀ TCS, but I always wanted to join a startup so I can get more exposure. Hence I started browsing about the prerequisites required to be able to get into a good startup. And, the first thing wasĀ A good understanding of Data Structures And Algorithms. I knew the theory as I had studied that as part of the college syllabus but wasn't sure about how to implement it. So I started browsing how to improve my DS/Algo skills and came across a few platforms where I started practicing 24*7 on each DS/Algo topic during my 4th year. A few of those platforms are listed šŸ‘‡šŸ»


Participating in contests and code sprints became an addiction for me. As a result, my college grades started deteriorating but I WAS ENJOYING CODING šŸ˜Š.


How I became a challenge curator

One day after participating inĀ HackerRank EpiCodeĀ where I rankedĀ 638/5855, I received an email fromĀ Hari, The CTO ofĀ HackerRank,Ā and thereby my interview process began. As I had started competitive coding only a few months back, I lacked confidence! And there was a lot to learn but there was no harm in trying since I had nothing to losešŸ˜‰.


Fortunately, I cleared my first round where I was asked to solve a challenge with one of the graph search algorithms. The next round with Hari didn't go very well as I didn't have any experience/projects to show as a developer but luckily, there was a requirement for aĀ Challenge CuratorĀ and that sounded interesting to me so I decided to move ahead.


The role of aĀ challenge CuratorĀ is to createĀ challengesĀ based on differentĀ DS/Algo/frameworks, etc topics that could be used in contests and hiring as well. Few interviews went well, few didn't and I was aware that I had so much to learn and improve in lots of areas.


Finally, I got the offer! Since I was not technically very strong for the role, I was put on probation forĀ 6 months, and if everything was to go well I would be then hired as a full-time.


You might be wondering even though not being technically very strong for the role, why was I offered probation? The interviewers noticed my persistent efforts and were quite impressed!


And woopie I got the offer. I started learning, practicing extensively, and finally got converted to a full-timeĀ Challenge CuratorĀ after 6 months.


šŸ¤” about Development

Everything was going smoothly but soon after a year, I started getting inclined towards web development. I didn't even know how to useĀ gitĀ properly, so that was the first step as that's where the code base resides. The culture at HackerRank has always been amazing and everyone has always been amicable. I started picking up small tasks- mostly bug fixes in the back-end(Ruby on Rails) at HackerRank to get an overview of the codebase in my leisure time.


Moving to Development

I continued taking dev tasks on the side even though it sometimes affected my performance review as aĀ curatorĀ but I wanted to move to development soon, so I had to take the risk.

Hari always gave me side projects to work on especially during weekends so I could progress faster.


Things were difficult during this time but soon after a year, I got the opportunity to be interviewed for a fresher(backend) at HackerRank. To be honest the interview went 'Okayish' so I wasn't sure if I will get a chance to move to the dev team. It was a full-pressure situation and I wasn't sure what would be my next step if I get rejected.


And guess what- I was not rejected and was moved to the dev team inĀ April 2017.


Bad times

Being a part of the Dev team I thought things would get easier but it was the other way round. My first project was to rewrite one of the routes fromĀ backboneĀ toĀ react. I had an overall idea aboutĀ reactĀ since I had to createĀ reactĀ challenges as part of my previous role. Of course, that wasn't enough to rewrite an entire route! The next step was to start learningĀ react,Ā reduxĀ in-depth and the courses byĀ Stephen GriderĀ atĀ udemyĀ really helped me in understandingĀ react. This was a big rewrite (~4k lines of code) and the deadline was getting nearer, and I was not even close to completing it.


I was trying hard to finish it as soon as possible and ended up getting fully burned out for months. Can you guess the number of comments on my pull request?

Let me give you a hint, it brokeĀ GitHub šŸ˜‚


Ok, I will tell you it wasĀ ~500Ā comments šŸ˜±


AfterĀ ~9Ā months my code went to prod. It tookĀ ~3Ā quarters to finish this which was earlier estimated to withinĀ 1Ā quarter. Due to my poor performance, my appraisal didn't go well. This year had been very difficult for me. More so because of the doubts, I had inflicted upon myself.


Critical Feedbacks

I received a lot of critical feedback when working on the previous project. Trust me on this- critical feedback if taken in the right spirit can get the best out of you. And it really helped me in my journey.


Learn to Debug

As I tried to finish the project faster, I became further dependent on others rather than learning to do it myself. This doesn't mean you shouldn't take help but first, one needs to try on their own. This is the only way one would become independent, and let me tell you the joy of fixing it yourself is pricelessšŸ˜.


Planning before implementation

I was trying to jump into implementation even before thinking about how I should be breaking it intoĀ components, what should be the flow etc. It's ok to take more time to complete the task instead of finishing it in haste. No one is going to judge you based on that, rather if you take a little buffer and finish it before time then it would be commendable. Remember to take some time in planning so you estimate better as well as, execute it well.


Have šŸ’Ŗ Basics

I was lacking basics and that was causing trouble in understanding the core concepts. So I started fixing my basics first andĀ You don't know JSĀ byĀ Kyle Simpson, there is alsoĀ an online versionĀ for the same. These are the best series of books for anyone who wants to get into the core ofĀ JavascriptĀ fromĀ basicĀ toĀ advancedĀ as it assumes you are aĀ complete beginner.


Persistence

I started working on all my weaknesses and aimed towards becoming a better developer. Soon within a year, I had shown a significant amount of improvement. I also took the responsibility to set the right coding standards and high coverage. Everything went well and I was promoted toĀ SDE 2Ā by the next year. I started mentoring my juniors, leading more projects, and executing them well. I was applauded for being so hands-on and taking complete ownership of the projects I was working on. Soon I was promoted toĀ Senior Software Engineer.


The most important realization for me was that I need to have the right amount of patience. Only then can I ensure my understanding of the core and thereby plan, and execute things accordingly. It's never too late to learn or start with something new. The time you start is always the right time. šŸ˜Š


OpenSource

Contributing toĀ OSSĀ is something that has always helped me grow professionally and personally. There is a lot of exposure and learning you get while working with the community. And once you start contributing, trust me you will get addicted to it ā¤ļø. I will soon write a blog on how open source helped me become a better developer.


Well, this is how my journey has been so far and I believe there will be so much more to it in the time that is yet to come! But I can't be ending without expressing gratitude to the ones whose guidance shaped me. Thank youĀ HariĀ for being my pillar, for always pushing me beyond my limits,Ā SudhanshuĀ for mentoring me,Ā and AkshayĀ for the support and guidance without whom this wouldn't have been possible. I also have tremendous gratitude for everyone with whom I got the chance to work. It's so important to be surrounded by people who believe in you and keep inspiring you to be better.



Also published here.