Live data from Hacker News

I'm doing 90% maintenance and 10% development, is this normal?

programmers.stackexchange.com

51–58 of 58 posts

Re: I'm doing 90% maintenance and 10% development, is this normal?

#51
This is a tricky question and you have to be very careful in how you read answers here.

First, not enough developers have a 5 or 10 year relationship with one code base.

Second, you will find many people here who think it's normal to throw away everything and recode everything, every few years. This is because they work on startups, temporary codebases.

A business is an established business model, warts and all. It has found a way to make money, and along the way the codebase to do it will probably look less than ideal.

The world of an established business is one of refactoring code. when 10 year old code makes money, it's valuable in any form, unfortunately. Mix this with management who don't understand software being in the custom software development field for themselves and it's a recipe for interesting times.

Third, remember you're there to make it better. You won't be able to explain things to anyone in any particular detail. You'll have to learn to manage your managers to get enough breathing room and time to start improving things, if you see fit.

As for the pay, it sucks. If this is your first programming gig, remember you can pick the city or the position, never both. If you can commit to learning to solve unreasonable problems for a year in a very controlled experiment, you will grow 3 to 5 years professionally.

Programming isn't for everyone, especially being the guy who can sort out messes really well.. It's a skill that pays handsomely with a track record in place.

Re: I'm doing 90% maintenance and 10% development, is this normal?

#52
I wonder what kind of company this is, e.g. media, marketing, finance, tech, etc. If you're not in a tech company - or sometimes even if you are - you're usually considered a cost center instead of a value provider. This would explain why the company is paying badly, why there's more maintenance than new development opportunities, and the overall managerial direction of trying to squeeze every ounce of productivity out of the poor poster.

I'm sure the poster could eke out a salary bump if she were to complain about her workload and state her responsibilities and accomplishments. Doubtful that her responsibilities would change though, and more likely management would ask for more in return.

Re: I'm doing 90% maintenance and 10% development, is this normal?

#53
post #36
post #16

It's not the 90% maintenance that's the problem, it's this: "But then I got to hear I wasn't allowed to improve the existing code and to only focus on bug fixes when a bug gets reported." A product that is not worth improving? This is called a hopeless product, a hopeless company, and a hopeless job prospect.

Typical for software with actual users that rely on it. Hell, typical for hardware too like the electronics in your car.

Really. What about Apple hardware and software?

Re: I'm doing 90% maintenance and 10% development, is this normal?

#54
post #19

> (badly coded, developed by multiple programmers over the years, handles the same tasks in different ways, zero structure) Yeah, that's totally normal for a mature application. Better get used to it. > At this moment I'm slightly beginning to get crazy from the daily mails of users (read managers) for each application I have to maintain. Maybe not normal, but common . It's really up to you to manage your business re…

That's a terrible attitude to encourage. Accepting the status-quo as a junior is a great way to encourage them to never improve or question the more debatable practices. Teaching juniors to care about software quality and software maintainability is hugely important in order to encourage an overall improvement within the software dev industry.

Also realize that junior devs often lack the experience needed to distinguish good code from bad and when it Is appropriate to rewrite large parts of an existing application that currently meets the needs of its customers

Re: I'm doing 90% maintenance and 10% development, is this normal?

#55
post #53
post #36

Earlier quoted context omitted.

Typical for software with actual users that rely on it. Hell, typical for hardware too like the electronics in your car.

Really. What about Apple hardware and software?

Nobody relies on Apple software or hardware to power their business. (I'm thinking POS applications, machine control etc, see the car electronics example).

The closest I can think of is a graphics outfit. You know, the same people that went berserk when Adobe announced the only way to get bugfixes was to upgrade. I wonder why.

Outside the reality distortion field people do not rely on Apple.

Re: I'm doing 90% maintenance and 10% development, is this normal?

#56
post #55
post #53

Earlier quoted context omitted.

Really. What about Apple hardware and software?

Nobody relies on Apple software or hardware to power their business. (I'm thinking POS applications, machine control etc, see the car electronics example). The closest I can think of is a graphics outfit. You know, the same people that went berserk when Adobe announced the only way to get bugfixes was to upgrade. I wonder why. Outside the reality distortion field people do not rely on Apple.

"Nobody relies on Apple software or hardware to power their business."

This is simply not true. You are the one living in the reality distortion field, not Apple.

Re: I'm doing 90% maintenance and 10% development, is this normal?

#57
post #49
post #19

Earlier quoted context omitted.

That's a terrible attitude to encourage. Accepting the status-quo as a junior is a great way to encourage them to never improve or question the more debatable practices. Teaching juniors to care about software quality and software maintainability is hugely important in order to encourage an overall improvement within the software dev industry.

Yes, but a junior developer's role in any company regardless of size is most definitely not to come in and say how they could do it better and the company should change their workflow.

I totally agree, but the value that a junior developer can bring to the table is a pair of unbiased eyes. It's what I look for when new developers join any existing team I am on: what can they see that we can't.

At some point in the growth of a human being, we are discouraged from continually asking "Why?" and from questioning things we see. This is largely a bad idea, so showing junior devs that they are in a position to ask questions and help lead everyone to a better solution is great!

Re: I'm doing 90% maintenance and 10% development, is this normal?

#58
post #57
post #49

Earlier quoted context omitted.

Yes, but a junior developer's role in any company regardless of size is most definitely not to come in and say how they could do it better and the company should change their workflow.

I totally agree, but the value that a junior developer can bring to the table is a pair of unbiased eyes. It's what I look for when new developers join any existing team I am on: what can they see that we can't. At some point in the growth of a human being, we are discouraged from continually asking "Why?" and from questioning things we see. This is largely a bad idea, so showing junior devs that they are in a positi…

> It's what I look for when new developers join any existing team I am on: what can they see that we can't.

Based on my experience, it would be unrealistic for a junior developer to expect this perspective at a new job. More realistic: here are the things that need to be done for this business to survive; please do them. Maybe some leeway in how you approach the problem. If they wanted unbiased eyes, the job listing would have said consultant, not junior developer.

Believe me, I hear what you're saying. I've tried it many times. For instance: "You don't check everything into source control? Oh my god, it's so basic, look how much better you guys could be doing your jobs!" Which, yeah, it would have been better. It also annoyed the people around me and destabilized the team, even as it improved the technology. Net loss for the company.

Having made this mistake over and over, I want to help others avoid it. Junior developers, know that if you find success in your job, your most important contributions to the company will not have been code. You will not bring some great insight to the table that makes everything faster/better/cheaper and wins you everyone's respect. You earn respect and admiration by working hard (not smart, hard!) and helping the people around you. Look up from your text editor, go talk to people, find out what they're doing, help them succeed.

That's where your focus should be as a junior. (Or as a senior, for that matter.) Helping others succeed. Questioning the status quo is a distraction and not as useful as you think, even if you're right and everyone else is wrong. Maybe especially if you're right.

Post reply on HN