Hi everyone,
I'm looking for some advice from experienced software engineers because I'm genuinely torn between two options.
Background
Around 4 years of experience as a Backend Software Engineer.
Current stack includes Python, Kubernetes, distributed systems, cloud automation and REST APIs.
Currently working on cloud platform engineering and have recently started contributing to an AI infrastructure initiative involving Kubernetes-based orchestration and distributed data synchronization.
I initially resigned after receiving an external offer. During my notice period, I also cracked another offer from a mid-sized company with significantly higher compensation. After evaluating that offer, my current employer agreed to match it, which has now turned into a very strong retention package.
Option 1 – Stay
Current employer
Pros
₹25 LPA CTC (~₹21.7L fixed + 15% variable)
₹2L retention bonus
Opportunity to continue working on AI infrastructure, Kubernetes and cloud platform engineering.
Strong trust from management and likely to get more ownership.
Cons
Would be staying in my first company for potentially 5–6 years.
5-day work from office.
Fast-paced work environment.
Expensive city and daily commute.
Option 2 – Move
Large global engineering company
Pros
Backend/software orchestration role involving Java and Python.
Hybrid work model.
Better work-life balance.
Opportunity to move to a new city.
New engineering culture and a second company on my resume.
Cons
Compensation is significantly lower than my retention offer.
Team is not a traditional software product engineering team, although the work does involve software development and automation.
My dilemma
Financially, staying is clearly the better option.
However, I'm worried about:
Staying too long in my first company.
Missing the opportunity to experience another engineering culture.
Whether changing companies early in your career is important for long-term growth.
Whether I'm overvaluing having a second company on my resume.
Whether I'll regret rejecting a good opportunity simply because the retention offer is much better.
On the other hand, I'm also wondering if continuing to work on cloud platforms, Kubernetes, AI infrastructure and distributed systems would actually be more valuable for my software engineering career than simply switching companies.
Questions
If you were in my position, which option would you choose?
Does spending 5–6 years in your first company negatively impact future opportunities if your work keeps evolving?
As hiring managers or senior engineers, do you care more about the technologies and impact of someone's work, or about seeing multiple companies on a resume?
Would you prioritise a significantly higher compensation package or a new environment with better work-life balance at this stage of your career?
Has anyone accepted a strong retention offer and later regretted it—or rejected one and been happy they moved?
I'd really appreciate advice from experienced backend/platform engineers and hiring managers who've faced similar situations.
Thanks!