Imagine that you're working on some huge application, probably building it from scratch, as a part of the team. Maybe it is some sort of CRM package or people management software - anything that is big and complex.
Just the development process may take 2-3 years. Then, after the product is launched, you'll be dealing with maintaining it - I guess customers will want new features, some bugs will be found etc. Maybe a whole new version of the application will be in the plans.
Anyway, here you are, working on the same application and mostly using the same technologies year after year.
My question is, what would you do and how? (Let's say, the company is good enough and the salary is quite reasonable).
The pros I can see
- Stable position, you could've become a key person on the project after all this time
- You know the product inside out, you're an expert in your field
- There is always ongoing work, you have a number of customers who have needs
... anything else?
The cons I can see
- You know the product inside out, you're bored by the fact that you learn nothing new most of the time
- There is always ongoing work, but you mostly keep doing the same things over and over
- Your technical skills are not getting updated, you're becoming less competitive as a developer
... anything else?
So, what are your options here? Stay with the company until retirement? Try to build a career in this company? Spend your spare time on a side project? Educate yourself and look for another position? Maybe even apply to a competitor if they have something interesting and promising going on?
What would you do?