This is specific to software development in a large IT firm.

The company has an extremely large legacy codebase riddled with issues. There's plenty of project work being done but also plenty of work in maintenance.

I enjoy the shorter term mini-projects that are finding and fixing issues in maintenance but I am also concerned how future potential employers might see that.

Personally I've worked in projects and now in maintenance I'm finding this more challenging but does the industry see it this way?

Is working in maintenance a somehwhat "dud" job that would harm my career?

closed as primarily opinion-based by PagMax, OldPadawan, Dukeling, DarkCygnus, IDrinkandIKnowThings Jul 12 at 17:38

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • I think a lot of developers don't like maintenance/support that's why it would be called 'dud' job. Doesn't mean these people are needed and still very well paid and there is a career in doing this as well (question is if you want to). – Joel Harkes Jul 11 at 9:17
  • Could you clarify how you see your career? If you want to spend the rest of your life doing this type of work whether as an employee or as some sort of freelance troubleshooter (the boilermaker story comes to mind) then great. But for most people in Software Dev maintenance is very much an operational / low-level task and a career track ends up in an Architect / Manager role where that experience is not that relevant. – Lilienthal Jul 11 at 14:14
up vote 22 down vote accepted

Are you supporting your company in terms of current and future profitability? If you are, then congratulations - you're not sabotaging your future career.

Maintenence is something that happens in all large companies (whether they're IT based or not). There's always going to be bugs to be fixed, improvements to be made, compliance regulations to adhere to, etc., etc., etc.

This is normal, business-as-usual kind of stuff in which you're gradually bringing this codebase up into more modern ideas of performance, security, structure, and everything else that facilitates company profit and efficiency.

Not everything is about building new products/software.

  • 7
    Every completed project has to have maintenance eventually. Only cancelled projects don't have maintenance. – Nelson Jul 11 at 7:00
  • 8
    "I'm good at fixing obscure bugs in tangled code" is probably the most valuable skill out there. – Borgh Jul 11 at 8:10
  • @Borgh Unfortunately there is a significant difference between valuable and valued. – Lilienthal Jul 11 at 14:12
  • @Lilienthal indeed - my experience has been that maintenance programmers are treated like IT: cost centers rather than profit centers. Both are valuable/necessary, and both can save money and make things possible that might not have been otherwise, but few see either group that way. – Dan Lyons Jul 11 at 18:00

The vast majority of software work is in maintenance. Getting to work on a greenfield project is extremely rare for the most part. They can be a whole lot of fun though, so if you feel so, you should pursue that specifically. You need to find a place that tells you it is a new project - not that they are planning one or that you might get to work on such. Those rarely happen in reality.

  • 1
    This. Most large (and many small) software systems are used for years, sometimes decades, so there is a lot of maintenance work. – sleske Jul 11 at 7:52

Career suicide is, as far as I understand it, working on/with outdated technologies and concepts without ever learning anything new or up-to-date technologies and concepts.

Just doing maintenance work doesn't automatically count as carrer suicide. I estimate that (outside of startups) the major amount of work done is actually maintetance and improvement of existing software.

So as long as you have the chance to learn new concepts and integrate them into the maintained code, or once in a while develop a small module with up-to-date technology, it should be fine (and in fact quite usual).

However, if the software you maintain is not being developed any further and your job is solely to fix bugs that managed to hide for years in a code that hasn't seen any improvement in as many years, that is certainly carrer suicide.

Current status of jobs for developers is there are way more jobs as there are developers. Nobody knows the future but I expect the only reason this will change is when machine learning is going to replace part of the developers job. Maintenance it jobs and higher level jobs will even then still exist.

If you enjoy doing maintenance there will most probably always be other companies that have software that needs maintenance and pay good money for doing this.

If you want to work in the next new hipster company in the future, than probably you should focus on learning new frameworks, tools and languages. otherwise you are fine. It's always good to learn new tools and frameworks to broaden your vision but so is learning solid standard, code smells, good architecture and design patterns.

If you are afraid of this machine learning (or AI, probably not) taking over your job. Than you should invest in learning more about this so you could in the future have a job maintaining these algorithms.

Simply put: Work in the area you want to work in in the future. If this is maintenance, keep doing maintenance. If you want to code new applications, find a job where you can do this.

  • 2
    Machine learning replacing developers jobs will take decades, if not centuries. – Mafii Jul 11 at 9:54
  • @Mafii i think so to but maybe other tools like higher lever programming languages combined with machine learning algorithms can highly reduce the time a developer needs to develop something (and bug percentage). But yes this is probably still quite some years away. – Joel Harkes Jul 11 at 10:21
  • AI is already a side passion for me, I'm alwasy on the lookout the bring AI into anything I'm maintaining to improve it. Same with design patterns that didnt exist when the legacy code was written. – solarflare Jul 11 at 22:52

Not the answer you're looking for? Browse other questions tagged or ask your own question.