Hacker News new | ask | show | jobs
by gfaremil 5381 days ago
I'm not an expert how to write job posing (and Dave Thomas is an excellent writer), but this is more like "what a developer job posting should NOT look like" then "should look like"

Two important things and one less important:

* job description is more for system admin and not for a developer - your audience will be confused

* if you do not offer either health care or a pension plan, this is then essentially a contracting gig. You probably need to provide exact salary in this case. Probably you need go to hourly rate. In practice, there are only two type of jobs for developers in US: job fully loaded with all benefits and contracting gig. There is very little between.

* less important: too wordy and just too long without exact facts (you know engineers do not like

1 comments

Am I the only developer who thinks this looks like their own job (albeit with different technology and health insurance)?

My job breaks down to something like 25% tech support, 65% fixing other people's bugs, 10% developing new features. Maybe I'm just bad at managing my career or something.

My job breaks down to something like 25% tech support, 65% fixing other people's bugs, 10% developing new features. Maybe I'm just bad at managing my career or something.

Sadly, that's about the norm in this industry.

There's a reason why the average software engineer burns out after 5 years. The legacy/maintenance burden is a real problem, and it ends a lot of careers.

There's a lot to be learned in maintaining one's own projects, and I think everyone should maintain their own stuff, instead of being "promoted away" from maintenance, but I think maintaining other peoples' code is only a strong learning experience when the code is of very high quality. In that case, it doesn't feel like maintenance.

What happens is that poor maintenance practices lead to more maintenance work in the future, and the norm in the software industry is for maintenance to consume 70-90% of developer time. Sloppy maintenance practices self-perpetuate. With proper practices in place, it should be 30-40% at the worst.

The biggest fuckup in the software industry is that maintenance jobs usually get passed to junior programmers who (a) don't know enough to do them properly, and (b) more relevantly, don't have the power to do maintenance properly. Actually improving the code would require clout in the form of (a) asking people to drop what they're doing and document code they wrote years ago, (b) removing bad functionality from APIs, and (c) having the option of saying, "we need to rewrite this entirely" without risking one's job. The junior developers who get the maintenance projects never have that kind of political power, so the result is that the "maintenance" doesn't achieve lasting code health improvement.

The trick, and very few companies have figured this out, is to create a "maintenance engineer" career track, pay it 30% more so that it's desirable and people have to be turned away from it, and delegate legacy maintenance tasks to people who actually have the relevant skills and can actually (imagine this) improve these legacy modules instead of "maintaining" them indefinitely. The most important thing is to make sure these engineers actually have enough power/clout to do their jobs properly. Which means the maintenance work should go to people who actually have proven skill and can be trusted, not those who draw last.

> The biggest fuckup in the software industry is that maintenance jobs usually get passed to junior programmers ...

Agreed. Moreover, maintenance isn't great at teaching anything but maintenance.

> The trick, and very few companies have figured this out, is to create a "maintenance engineer" career track...

That might be a good idea. I think it should be something you're promoted into, rather than out of, after having spent a while writing and maintaining your own code.

Just think a bit, why are you still on this job? Are you a mediocre programmer ? Are you poor either mentally or lack a power of will ?

Of course someone should fix other people's bugs and someone should do tech support. As well as someone should be a slave, someone should work as a cleaner or keep streets clean, but why you should do this boring stuff ?

I cannot talk for your the grand parent, but I can think of a million reasons to have such a job. Great colleagues, good benefits (vacation, health-care, etc.), tied to a small town without good opportunities, ...

By the way, fixing other people's bugs and tech support may not always be quite as boring and demeaning as you make it out to be.

Your disdain for menial work is misguided. There's more to life than your work.

The small town effect would seem to apply in my case. I'm not too close to a major metro, but some insane people commute from here.

Maintenance isn't so bad except for how it's managed. michaelochurch addressed this well in his reply [http://news.ycombinator.com/item?id=3024752]. I could do with less tech support, but haven't gotten around to automating it away.

I'm more interested in finding out what's "the norm" for the industry, than in discussing why my particular job is what it is. However, I feel like I shouldn't leave your implication unanswered. I have no reason to believe I'm a mediocre programmer or mentally deficient; quite the opposite. I write solid code, I turn flimsy code into solid code, and I can fix bugs without creating new ones.