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.
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 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 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 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.
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.
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.
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.