Hey everyone, my name is Santosh. In this article, I will tell you how I ramped up my career and ended up increasing my salary as a developer.
I'll share what I learned from each job along the way, how you can stand out, tips for negotiating salary, and how I got to where I am today.
Here's a little bit more about me: I am from India, and I am an Angular GDE, India's First GitHub Star, and Auth0 Ambassador. I also live stream on Twitch and YouTube. You can find more about me here.
How It All Started
I started my developer journey in 2008. I couldn't get a job after college – 2008 was the worst year for the entire tech industry, as many already know.
When I was in college doing my CS degree, my friends used to tell me that'd I'd be able to quickly get a job making 300000 INR ($4000) per year. But by the final semester, it became clear that it wasn't happening.
After finishing college, my friend and I went around to every job consultancy to share our resumes. But we couldn't get any bites. We updated our resumes on every job platform available, but no one was hiring freshers.
How I Got My First Developer Job
Finally, one of my father's friends who ran a consultancy got me an interview scheduled. I was looking for a job as a developer in C#, and I joined the company the next day after the interview. It was 18th October 2008.
The organization was small, but the CEO had a big vision with the product he was building. I don't want to call it a Startup, because it was an HR consulting firm, which was his main business. My salary was 60000 INR ($800) per year.
I had a lot of free time, and I took the opportunity to use that time to learn more. Still, I was not that serious and enjoyed my free time. I learned a little bit from a senior developer on my team, though. I decided to quit after ten months, as I realized it wasn't good for my career.
From Jobless to Small Time Contracts
After I decided to quit that first job, I went home for one month. With my friend's reference, I got a contract position for a few months.
The pay was a little bit more, this time 120000 INR ($1600) per year, which was double what I was making before. But the work was more operations-focused and working with Oracle DB sometimes.
My first love was C#, but my family's finances were terrible, so I had no option but to take that job. By the end of 2009, it was clear – I wouldn't have this contract next year. So again, I tried hard and got a job.
My First Real Programming Job
I got my first real programming job in January 2010. I started working with Capita India, but I joined as a contractor on another company's payroll. It was like a contract position, but more stable than the last job.
My salary was 144000 INR ($1900), money was low, but of course, I was getting an opportunity to learn as well. My manager was terrific, and my co-worker was the Database Admin. Yes, you guessed it right – I was the only developer on the team.
For the first three months, I had a lot of work to do. I was working on a Windows App for the finance team. But soon work stopped coming. I spoke to my manager, and he said I should use that time to learn more.
After a few months, I became part of a larger team after some organization-level changes. I started getting some work on ASP.NET, but I decided to move on in November 2010.
Something I learned from this job: Use your spare time well. You won't always have enough work to do to keep you busy all the time. Use your spare time to read blogs, watch some courses, read, and create some proof of concepts with whatever you've learned.
The time I invested in learning paid off. I got an offer with a 100% raise. My manager provided a lot of motivation which is why I got that raise. As I had no computer at home, I read a lot, which was the best chance to improve myself.
Working for a Bank and on a Big Team
Like my previous job, my next role was also on the payroll of another company. I was working for ICICI as a contractor, the same as my last Job at Capita.
But for the first time, I was working on a team of more than 60 people, and my salary was 288000 INR ($3900). I felt like I was finally making good money as a dev, but I finished the project I was working on in ten months, and the work stopped coming in again.
At this job, I learned more about working on a team and saw how bad managers could make people quit. By the time I left, there were fewer than ten people on the team. This place became toxic over the months, and devs were terrified to share anything with the manager, and so that manager had trust issues with all developers.
I also learned that you shouldn't stay and work in a toxic environment. I have seen many developers working in toxic work environments. A toxic work culture is terrible for everyone, and it can turn your co-workers against you. It also makes you less productive, more insecure about your job, and it can make you burn out. Quit as soon as possible – you deserve better.
Fortunately, I invested time in learning some new packages introduced in .NET, and I found that there were a lot of job opportunities for that tech here. I interviewed at a startup and showcased tech I never used at work. And it paid off – I ended up getting the job with a more than 70% raise.
Here are some tips for negotiating your salary:
Always Know Your Worth
In the tech industry, you will find different devs doing the same job but not getting paid equally. Some organizations take advantage of you and pay you less. Always study the market if you are looking for a job. Ask for the salary range if possible.
Never Negotiate Salary Based on Your Last Pay
Always ask your recruiter for a salary range. If you hear it will be 30% above your last salary, you might skip them. Always keep the figure you want in your mind, and negotiate based on that. I have even received a 100% raise from my last salary.
Know the Job Description
Before joining any organization, know about the job description; money should not be your only focus. I declined a job offer with more salary once because the job was more of support, and I was about to get a work opportunity at the startup.
Joining the Startup
At this point, I started to push myself more, as I wanted to make sure I could give my family a better life.
I joined a startup in 2012 with a salary offer of 450000 INR ($6000), which was a good raise from my last salary. It was also my first job where I worked for more than a year – I stayed for almost five.
I had been promoted to Team Lead by the time I left in 2016, and my salary was 1200000 INR ($16500). But I decided to go as I was not writing much code, my manager was very toxic, and I could not give much time to my family.
At that startup, though, I got to work with some fantastic managers and developers. We made an incredible team, and I am still proud of it. I think it was one of the best achievements of my career. I learned a lot about people management, which still helps me a lot.
Also, the growth was tremendous. I was able to get a raise of more than 30% every year until 2015.
Here are some things I learned from working at the startup:
Don't Fall in Love with Your Organization
Even if you are the best employee at work, you are replaceable. I had worked extra hours for the startup, even though no one asked me to do it.
Because I loved the organization, I learned the hard way not to make that mistake again. Family time is more critical than an organization where you are just another employee.
Keep Your Skills Up to Date
Keep learning! Sometimes we get stuck into the same tech stack over the years. Then when you go back into the job market, it has already moved on, and there is a new stack everyone's using.
A lot of organizations have a Pluralsight or other learning platform subscription, so use that if you can. If your company doesn't have one, there are plenty of free learning resources out there you can use instead or in addition.
Once I decided to leave, I failed many interviews. But it was an eye-opening experience. I had learned everything I needed to work at my old job – but was I updated with what tech stack was currently in demand? No.
Moving to Pune for a Better Life
In 2016 I decided to Join Synechron and moved to Pune. I joined as an individual contributor and started working on .NET with Angular.js.
My salary increased a little, but the cost of living was much cheaper than in Mumbai. My salary was little bit more than last pay, and I started making some extra income in 2017 by conducting online Angular Training. That was a great help as my finances were terrible.
It was the first time since 2011 that I had worked 40 hours a week, which meant that I had more time for me. I started learning Angular and teaching it as well.
The team was great, and the client gave me access to Pluralsight, which helped me learn Angular, a new Front-end framework. I completed all the courses by Deborah Kurata to learn more. I got some contracts to teach Angular and led me to get my next job at the Bank.
By the last quarter of 2017, we realized that the client we were working with was not going to give us any more work, and we needed to be prepared to move to another project.
Working for Another Bank
In Oct 2017, I joined a Bank with a good increase in salary. It was now around 40% more than last pay, thanks in part to my experience teaching Angular which impressed my hiring manager. I was also getting extra money from my training.
I got the chance to take complete control of the framework built on top of Angular. I talked to different teams about the feature they needed and helped them implement those features.
And more than that, I still had enough time to improve myself. I read more about Angular, and made the framework better.
I even received a performance bonus of 100000 INR ($1300) in 2018.
I was able to apply learnings from my previous jobs and I learned to say no. The most crucial skill you need as a developer is to be able to say no when you need to.
There will be times when your manager needs you to work extra hours – say no. One thing I learned is that very few things are critical and they can all usually be done the next day. Especially if it's a new feature and some not crucial bug fix.
Starting Open Source Contribution
By 2019 I decided to get more involved in the Angular community. I decided to start making Open Source contributions and began working with the NgRx and Angular projects.
I started writing blogs, giving talks, and even created some of my own open source projects. 2019 was more focused on the community, and I started improving my skills in Angular too by learning in public. This was all possible thanks to support from my manager.
I gained a lot working here. The critical thing I learned was how to stand out, which is still helping me to get new work.
And here are some more tips to help you improve:
Learn in Public
At work, as a developer, we get to face so many issues, but often we just solve the problems and move on. You know you can share that experience with other developers. Start writing blogs, and create content. You will learn more by sharing your knowledge.
Contribute to Open Source
I have learned more by contributing to Open Source than from almost anything else. It lets me promote myself, too. It might even help you get your next job. I got better opportunities because of my Open Source Contributions and the connections I made in those communities.
Starting My Remote Job
By the end of 2019, I had the opportunity to speak at some conferences, which the bank wouldn't let me do. So I decided to quit, and one of my friends Serkan helped me land a new job because of all the contributions I was making to the Open Source community.
I received around 50% raise from the last salary. I was going to start working remotely, which meant more time for family and community efforts. At this job, I got to work on a product and used Nx DevTools for the first time. I also learned how I could improve the performance of the App.
In 7 months, I implemented SSR and optimized bundle size. I converted the app to smaller libraries, so it was easier to add more apps in the future. I also shared these learnings with the community.
I decided to quit my full-time job in Oct 2019 and move into consulting. I had a good connection on Twitter, and everything started with a tweet.
Many developers responded with some solid leads. Finally, I got my first client and started working in October 2020. I got my next client in November 2020, all thanks to my community contributions.
Around the same time, I became India's First GitHub Star. Both are good-paying clients, and I make much better salary now. I was able to pay off the loans I took out in 2012 to pay medical bills for my daughter and wife.
So far, the consulting gig is fantastic. I get to help many developers and I improve my knowledge while improving the platform.
It also helps me give time to the community and support Open Source developers by donating some money towards OSS.
Working for the community did wonders for my career. It took me 12 years to move from $1,000 to a more stable salary, but the journey so far has been worth it. I saw days when I had to think how we would survive, and I wondered how I would give a better life to my daughter and my family.
The experience at every job has been different. I suggest that you start learning in public. It always helped me give my best and it built up my confidence so that I knew I could sell my skills.
And don't forget that salary negotiation is an important skill. Never underestimate yourself when negotiating. You can always make more money than you think.
You can read my life story here:
Cover photo by Ian Schneider on Unsplash.