My Journey: From Intern to Tech Lead of a startup

Yashasvi Kumar
Towards Data Science
6 min readDec 2, 2020

--

Photo by Tim Gouw from Pexels

I am sharing my journey from being an intern at a social media startup to a Tech Lead at a cybersecurity startup. I hope to inspire and motivate others on a similar path.

The Beginning

I started programming in high school and I was hooked from the moment I successfully ran my first hello world program in C. Up until college, I had made a few mini projects in C, C++, and Python.

After joining my undergraduate degree in Computer Science, a whole new dimension of Web Development and Data Science opened up. Now, my college’s curriculum was mostly theoretical like a lot of Indian colleges. But I always liked to learn and explore new things which helped me discover various web technologies like PHP, Django & Node.js.

In most Indian colleges and universities the curriculum is outdated and theoretical. Due to this, most of the graduates are not employable and have to be retrained. I didn’t want to become another statistic like others so I consumed as much knowledge as I could from the internet and youtube tutorials which did help a lot when I entered the job market.

In my first 2–3 years of engineering, I experimented with various tech stacks in web development, ML/AI, and android development. After making a few projects in all the mentioned fields, I decided I’d start my career as a Full-Stack Developer. Android development never caught my attention and the learning curve for ML was too steep for me at the time. I chose MERN stack (MongoDB, Express.js, React.js, and Node.js) as my primary skill followed by Django and PHP.

Getting the First Job

Getting the first job/internship is always the hardest part. Employers want you to have experience but you can’t get experience without getting a chance to work first. Breaking this recursive loop takes a lot of time, patience, and in my case, 150+ internship applications.

I started applying for internships in my third year of Engineering. After around 2 months of interviews and waiting, I got an internship offer from a social media startup. Since this was a remote internship, I was working while attending college.

I was a Full-Stack Developer intern, which means I worked on both the frontend and backend. I was responsible for the entire lifecycle of features i.e. from designing the UI/UX to writing REST API calls on the backend as well as writing database schemas. Along with coding the features, I was also responsible to test out the features for bugs.

During this 8 month stint, I wanted to work hard not just for my CEO and CTO but also for myself. After all, it was my first employment opportunity so I wanted to give it my everything.

It was a small team of 5 developers with me being one of the two top-performing developers. Even though the job title was that of an intern, I was working 8–9 hours a day and my responsibilities were that of a Mid-level Developer. I was handling the entire lifecycle processes of various features.

Photo by fauxels from Pexels

The Switch

After almost burning out at the beginning of my career due to working hours along with college, I quit that job despite them offering me a promotion. As much as it was challenging, I always wanted to do something where I’d be more involved in the company. At the same time, my father had just started his second cybersecurity company as a sister company to his existing company.

He had 15+ years of experience in the cybersecurity industry and his first company was running successfully for over 8 years reselling various tools and providing services. He started the new company to focus more on building the cybersecurity tools in-house and taking them to the market.

I was excited about this as well and came on board as the first developer. Later on, we hired a few more developers and my role changed to Tech Lead.

Now my responsibilities were on the complete opposite spectrum compared to my previous job. As a Tech Lead, I had to build a solid team, plan out the product roadmap, hire developers, delegate tasks and work, etc.

I admit I had no experience doing any of that. But I had to learn everything as I went along, and luckily the transition wasn’t that tough. All the knowledge and development processes I learned at my previous job came in handy and soon enough I was leading my own team of developers.

Difficulties

My first major difficulty was hiring new developers. The process of interviewing and shortlisting candidates while making sure they have the necessary skills and would be a good fit is a tiresome task.

Being an introvert, the idea of talking to a lot of strangers terrified me at first. But since the job required me to, I had to overcome my fear. To help overcome it, I made it a habit to call people instead of sending a text. This small exercise helped me get comfortable while talking on audio/video calls in general.

When I was a developer, I was only responsible for the bugs in my features and code. However, as a tech lead, I have to make sure the entire software is bug-free and constantly test out every feature that goes into the production version of the software. I also have to plan out the roadmap ahead and assign the tasks to the developers.

As a tech lead, I have to make sure the team’s morale isn’t down. If a team isn’t motivated enough to work on the project, the results will be sub-par at best. To keep morale high, one major way is to acknowledge and appreciate their hard work and contributions to the company.

Apart from having expertise on the development side, to pick the correct tech stack and the appropriate languages, I also needed to have a fair amount of knowledge on cybersecurity as well. This was required to understand the business requirements for building cybersecurity tools.

Assisting the team members whenever they come across a hurdle is one of the primary technical responsibilities of a tech lead. There have been times where I resolved issues in a few minutes or hours that took days for the developers. For this, a good amount of expertise is definitely required. And expertise can only come after spending a lot of time on the subject.

I spend a good amount of time scratching my head like this on a regular basis.

Photo by Andrea Piacquadio from Pexels

What’s Next

Transitioning from a developer to a tech lead role at an early stage did have some cons. I don’t get to code as much as I used to before which I definitely miss a lot. But I have an important role in the startup where my contributions are evident so I don’t have any complaints.

Now I work more than 10–12 hours a day, I don’t take weekends off, and it does feel a bit overwhelming sometimes. But I still enjoy the work more than anything else and I’m grateful for it.

Going forward, I’d like to help grow the startup and create more cybersecurity tools.

Thank You

Although my journey isn’t a conventional one, I hope it inspires and motivates others planning to contribute to the world with their code.

Happy Coding :)

--

--