I recently left my job at India’s biggest startup (Paytm) to join one of the world’s largest companies — Microsoft. As Front End Engineer, Paytm rewarded me with an exceptional learning experience, best in class salary among Indian companies, big pay hike within a year, and high performer award. Still, I said “Adios”. It’s actually hard for me to settle knowing that I can achieve more. I would like to take you through my Journey which started very small.
The idea that you can code an application from scratch to complete using web technologies and instantly make it available to millions of people worldwide is exhilarating.
I was so much in love with the web that I started making websites(mostly static) ever since I was a college sophomore. I did a startup (Hyperlocal E-Commerce Website built using PHP) during CS final year of college (NIT Jamshedpur) and ditched my placements. Long story short, one year later my startup was gone due to the constant pressure of cash burn in e-commerce.
Little did I know about how the dynamics of the web have changed during this period. At that point, I wanted to start something else. When I started building it, I realized that I lack the skills to build a modern application. I didn’t keep up with the latest development changes that the world was seeing — Rise of Javascript as I call it.
Web Development logic moved from server-side languages to Javascript. Angular was killing it, React was rising, and JQuery was slowly witnessing its departure. NodeJS started replacing backend languages and here I was with no experience in modern web development, different frameworks, package managers, build tools, module bundlers — you name it.
At that moment I felt the need to upgrade myself & I started applying for a job as a Front End developer. I remember my first interview. It was horrible. I failed to answer basic JS inbuilt functions. From that time until recently when I ended up cracking 7 consecutive interviews in Top Tech companies, it has been a helluva ride.
After a couple of insults, I interviewed for Spectral Insights. In the first round, I coded a web app using HTML, CSS & PHP. They asked me some web performance & data structures related questions, which I answered well. I got the job.
I started working as a Software Engineer (Front End). It was a small startup with 20 highly motivated Engineers, a CEO with strong ethics, and amazing office space. I was working on a complex website that was used by Doctors to run algorithm-based analysis on body cells. The application was built using a mix of JQuery and Javascript in Front End with backend written in PHP. Despite my comfort in PHP, I gave priority to Front End. I knew PHP was going to be a thing of the past in some days. I didn’t want to make that mistake again.
I got an amazing mentor who literally helped me grow at 2X pace. Being in a small company, it’s easy to make decisions. We moved to AngularJS (1.6) and it was a much-needed upgrade for me. In spite of these changes, the overall skeleton of development remained the same. After a while, it started becoming hectic, and I was still not using modern methodologies of web development. After a good 11 months, I moved on.
Interviews are important. They teach you concepts that you might never use in your day-to-day job. I learned this while searching for the next job and a couple of failures did introduce me to a lot of new concepts.
I also realized that hardly anyone was using AngularJS 1.6 😂. I did acquire a lot of knowledge in Javascript during this period. I knew that I could learn any framework quickly. I targeted companies that had the most modern tech stack.
I got the first job offer at 60% raise and a better tech stack (Vue+ NodeJS). I cracked a couple of other interviews and finally ended up with 100% raise and a job in India’s biggest startup. I got a chance to work on E-Commerce as well as FinTech products.
Paytm is a perfect company if you want to add fuel to your career. I used React (Class Component + Functional Components with Hooks) with Redux/Context API, Vuex with Vuex, Angular 6, NodeJS, Webpack, different package managers and build tools. Despite being a company with a 350 million user base, they don’t shy away from new technologies. I got a big hike, a high performer award, a good work-life balance, and a ton of learning that propelled my career.
It was going perfectly but towards the end, work became stagnant for me. Now I didn’t care about frameworks, libraries & tools. I wanted to work on a product that’s got a global customer base. I wanted to experience the work culture of the world’s top companies. After 1 year and 9 months at Paytm, once again I moved on.
I strongly believe that your skills should always be in sync with the market requirements. After my first job, every time I received a call for an interview from a good company I went for it. This kept me updated with the market. Apart from it, each interview will teach you something, introduce you to a new set of concepts and your end goal should be to understand all those concepts. Aim for a day when interviewers won’t be able to surprise you. That’s my current state. I can effectively guess what the interviewer will ask even before he/she finishes his question. I have immersed myself in Javascript for the past 3 years.
I started applying for the companies I wanted to work for. I cleared interviews with Microsoft & a couple of other big tech companies. In terms of annual salary, I got more than 100% raise in all my offers as these are very high paying companies.
I didn’t do any specific preparation apart from some data structure & problem solving on coding platforms. I focused on optimizing time & space complexities. As a Front End Engineer, you should be able to implement Stack, Queue, Linked Lists, Trees & Hash Table in Javascript.
My experience with plain JS in my first company really helped me with the Machine Coding round. Most of the top companies ask you to create a web app using Vanilla JS. I have worked on E-Commerce, FinTech, HealthCare & Social Network related products so far. I always try to understand the complete architecture of the product. This helps me in the Design round. You can also try building games like Snake & Ladder or Chess for practice.
As far as Javascript round is concerned, I dedicate my success to the non-stop spree of interviews that I gave in the first two years of my career. I go through those concepts(.pdf) once before every Interview. I honestly don’t remember when did I last fail in a Javascript round.
In my last interview (first round) at Microsoft, I was asked to code a web application with client-side sorting, searching, pagination with optimizations, and a good-looking UI using VanillaJS. I finished it well within the given time frame. Neither Web-related concepts nor Problem Solving & Data Structures questions were a blocker.
Now, I am working on one of the fastest-growing products of Microsoft (Microsoft Teams) which has customers all over the world. I am learning how to build and ship a global product. I am getting exposed to concepts that I would have never gotten in products with a limited user base.
If you are a Front End Engineer, then you are already on the right train. Powerful applications like Microsoft Teams, Slack, VSCode, Instagram, Uber Eats, etc are built using Web Technologies. Apart from the web, many desktop and mobile apps are also built using Javascript.
As a beginner, you need to make sure you are always learning what’s in demand. Don’t shy away from Interviews, the more the better. Failure is good, it will expose you to new concepts. Learn those concepts, implement them in code, and apply again. And don’t settle until you max out your abilities.
Follow me on Twitter as I keep sharing my development & interview experiences. My tweets are mainly about Javascript, Job Market & Interviews.You can also DM me your questions.
Top comments (4)
Hey Nikhil! Very inspiring. Came here from Twitter. Reading this gave me the confidence to start preparing again. I started well but soon became overwhelmed by the sheer number of things in front-end; whether to learn Angular or React or Vue or vanilla JS or Typescript or Bootstrap. Reading your article gave me a sense of direction and helped me put in order, my learning plan. Thank you for that!
Could you share the resources you found most helpful in your journey, specially from an interview perspective. There are so many option - good and bad - available that it becomes hard to decide which one to follow.
Hope to read and learn more from your writings. All the best.
Thanks a lot for such kind words. I am glad that you were inspired. I am planning to write a detailed blog post on how i prepared. But remember that interviews are the best preparation for interviews. My post should be live soon.
You didn't share your salary that we could get the difference between your life at paytm and microsoft. Anyway thanks.
I cannot share my exact compensation. However, you can check salaries online (Levels.fyi or Glassdoor). Salaries move hand in hand with skills. That's the main point.