Developer Stigma After a Bad Or Catastrophic Release?
An anonymous reader writes "We hear in the news all the time about how executives can drive a company into the ground and yet somehow become more desirable to other big companies. What we don't hear about are the grunts who implemented those decisions, and whether or not they end up resume-stained or blacklisted. Since we've got so many developers with lots of time in the trenches, I thought I would appeal to their experience. When disaster looms and sales starts pushing for development that has little chance but to end in disaster, what happens to the programmer who decides he needs his job enough to follow orders? Have they ever become unhireable?"
I've been part of two large, high-profile projects that cratered spectacularly (as I knew they would) and I consider it some of the most valuable experience of my career as a software developer. I've told that to interviewers a number of times. If they don't get it, then I don't want to work for them.
I'm sure Windows 7 developers will still be employable after the October release.
[Insert pithy quote here]
Bad programmers move on to do other things. A guy may suck at programming and be perfectly fine in IT doing maintenance, or in an over priced big box electronics store selling some new electronic pieces of shit.
Excuse me, but please get off my Pennisetum Clandestinum, eh!
Wow. That's horrible advice.
Burning bridges is stupid. You may very well need a job at that same company some time down the road and the same "clueless" manager is going to be the one hiring you back. A much more pragmatic approach is to simply say that you have opportunities elsewhere and wish them luck on their current project. Being positive, even as you're leaving, is always the correct strategy.
How is being able to tell your interviewer "I quit in the middle of projects I don't think will succeed, because it's good for my career" good for your career?
I agree - definitely jump ship before the the shit-fan interface, but don't burn your bridges. Just tell them you 'need a change' or that you're seeking new challenges. People understand; it might even make you look smarter in their eyes because you saw the writing on the wall early.
Scientists point out problems, engineers fix them
altslashdot.org: The future of slashdot.
A good friend of mine spent a couple of years on the Confirm project, which ended in a total mess almost 20 years ago. He claims that he simply put "2 years, federal prison" on his resume so that he'd have a better chance of being hired.
For those that don't know the Confirm project, they spent about $180M and about 6 weeks from the end date realized they were at least 18 months late. You can look up the rest of the details. :-)
How is being able to tell your interviewer "I quit in the middle of projects I don't think will succeed, because it's good for my career" good for your career?
Well, you are taking advice from a guy with the nick "ILuvRamen" - maybe there's a connection?
Live today, because you never know what tomorrow brings
Burning bridges is always a bad idea. I'm just turning 50, and it has surprised me the people that I used to know that pop up. In fact, past antagonists gained new respect from me in later jobs as they learned from their mistakes and matured.
That doesn't mean one can't offer advice, one just needs to word it diplomatically instead of calling everyone dumb shits.
I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
It's certainly possible that for some employers they'd hear you worked on Project X which failed spectacularly, and so they'd want to avoid hiring you. But I'd wager for most employers this isn't a black mark against you unless for some reason you have demonstrably substantial culpability in its failure. Maybe if you had 3 or 4 big failures I'd start to wonder if there was a pattern. But even then I'd ask you why those projects failed, and depending on your answer, this might actually make me more likely to hire you. For example, if you could give me a thoughtful analysis of what went wrong in each case, and could give good thoughts on things which might be done to avoid those mistakes in the future, maybe you have the insights necessary to help my team avoid a similar mistake in the future.
The only things I can think of that would make me not want to hire you (based on association with a specific project) is if you put on your resume that you were the lead developer, project leader, etc... or if the project failed for a very specific reason and I knew you were the cause (such as if you were successfully prosecuted for coding a back door into the project, etc).
There were a lot of excellent crew on the Titanic; the crew of the Challenger disaster were not responsible for its failure. Just because you're associated with a catastrophe doesn't mean you did anything wrong.
Slay a dragon... over lunch!
Keep in mind that when it comes to actual businesses, it's often better for a project to fail catastrophically in two months.
A project that is started, realized, and dead in two months costs two months of resources. Compare that with the following:
- a project that takes a year of work to get off the ground, and then eventualyl fails after repeated attempts to make it profitable over another two years.
- a project that takes three years to become profitable
The former is not only a waste of money, it's a waste of time too.
The latter is profitable, but when considering the opportunity cost, many businesses look for faster, simpler, and lower resource-intensive projects.
The reason business-level executives can be rewarded for a failed project is because a smooth fast failure is a good thing is high-risk projects.
Realizing failure is just as important as realizing success -- when you've got other work to do too.
As for developers knowing earlier, I call zombie bullshit. Developers know when the product isn't great. Business has always made successful projects from crummy products.
Also compare spending $N on a project over a year, versus spending the same $N on the same project over only a month. In business, the latter is better -- why waste time.
But hey, we're all science-lovers here. Look at business the way we look an scientific research. If your experiment can be done faster, at the same or even a moderately increased cost, you get to results faster, and you get to do more experiments, and you get to move through more potential filliments before finally being able to invent that working lightbulb.
I've been in this position a few times because in game development, there are lots of bad games out there that are rushed to completion to sync them up with the release of a film, for example, or to hit Christmas, or because a publisher is trying to make its quarter or because a developer is running out of money.
Here's your lame project survival kit:
1. Stick close to the most talented folks on the team, and treat them as your real boss. Pretty soon, they're going to leave. Make sure they have fond memories of you, so that they can recommend you where they end up, and make sure you get their personal email addresses. Everybody loves a good, helpful coder. This is by far and away the most useful thing you can do for both your soul and the long-term health of your career.
2. Drop the project from your resume. Mention the company but explain that you worked on various projects there.
3. Take responsibility for turning the project around, find a scapegoat in sales, gather evidence, and pin it on him (never in writing) when it goes down in flames. This will make you part evil and is a big part of how people fail upwards, but lots of folks have had made lucrative careers using this approach.
4. Lame projects typically have poor direction and allow people to get away with doing whatever they want without being fired, as long as they look busy. So invent a task that or sub-project that results in a short, flashy demo or video that makes you look good to your next employer.
5. Flatter the slimiest, most inept manager in the group. They typically crave this because no one recognizes their true "genius". They also often pick option 3. and end up attached to some new project to fuck up, which can buy time while you're looking for a new job. They work hard to surround themselves with loyal useful people who say nice things about them.
6. Start humbly asking to buy the CEO lunch and start picking his brain on executive management or anything he knows lots about and seems to be passionate about discussing. Never let him pay for lunch, because you consider it too educational. You may or may not be interested in what he has to say, but the key thing is face time. When things go to poo, it'll be harder for him to fire you.
7. Stop being lazy about your future. Look hard for another job. Put 1-2 hours into it every day after you come home from work. Lame projects blacken and destroy souls.
and a negative into a positive.
You could have made every mistake you can make on that job or project, but as long as you learned from it and can avoid making the same mistakes, you become a better person for it. That is because human beings learn by mistakes.
When a software project is costing more in expenses to support than revenue it brings in, it is usually because of a quality control problem. I know this from experience and I am usually the programmer taking over "legacy projects" and "legacy software" by debugging them so the quality is better and it runs faster and hardly ever crashes due to the higher quality and quality management process I go through. When I went to college and studied programming I was a student worker in a computer lab, and they had a full time debugger to help the students, when she couldn't help the students because the program was a mess or was for a computer language she didn't know they sent it to me to debug. It was one of my many jobs as I tried to learn as many computer languages as I could while in college. I applied that debugging skill to my career and I helped countless coworkers with debugging issues. How did I get to be so good at debugging? I learned from my own mistakes while writing programs for class, and then I learned from other students' mistakes doing debugging for them, and then from coworkers' mistakes in debugging their programs.
Now while I tried to teach coworkers to learn from their mistakes, they often took it the wrong way, and refused to learn from them, leaving me to always having to debug their programs. The few coworkers that did take my advice and learn from their mistakes went on to other jobs later to be promoted to high paying jobs and careers in writing quality code with quality built into the design. Those that didn't, work the same job, for almost the same pay, and keep making the same mistakes until they are fired or laid off, and then work another job making the same mistakes. I hear from them via email, asking me to help them out like I did when I was working for them, but I cannot as their employers would not want me to see the source code they are working on, so for legal reasons I have to turn them down, and then give them a few web links to debugging books or web sites that might be able to help them out.
Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
How is being able to tell your interviewer "I quit in the middle of projects I don't think will succeed, because it's good for my career" good for your career?
"I wanted to work on a project that was going to be successful, and I left when I became convinced that I couldn't contribute effectively given the current set up."
Showing you know the difference between a good project and bad project, especially ahead of time, is a plus in an interview. Showing you care enough about the end result, and not just a paycheck, is a plus. You should be able to communicate both of these things pretty convincingly if you left a high-profile disaster ahead of time. Make sure you're professional enough to talk about these things without badmouthing co-workers or sounding like a legend-in-your-own-mind, but other than that you're fine
Even if a project was successful, interviewees should be able to explain what they learned from the things that didn't work well. If it was unsuccessful, they should have a long list of mistakes that they now recognize first hand--and if you're going to claim you recognized all these things at the time they were happening, why did you stay?
I'd be just as interested in hearing the answer to that question. It's not like either situation would make you start with a presumptive strike against you--both should be pretty easy to explain. But there should be some level of awareness demonstrated, shouldn't there? If someone's attitude is "I did what I was told, my section worked fine," you know (at best) you're dealing with someone who has a pure grunt mentality and will never take responsibility for the overall product quality. I'd find working on a project like that very frustrating, and would be suspicious people who didn't.
Guess what. I burned the bridges in my last company too. In a way that let a 500 people company still talk about it one year later! :)
And one year after that, I got a job offering from them. Begging for me to come back. I said no thanks, and that I will buy them for an apple and an egg. (Is it really "for a song" in english? Sounds strange.)
Two years later, they closed the whole shop. Trying to sell the business shortly before it. For that apple and that egg (or that song if you want).
I'm not going to play that crooky lie of "ok, everything is ok". Because I will rather die than come back, begging for anything.
Sadly, lack of pride is a big problem nowadays. Which creates many slavery-like jobs for many people in the first place.
After all, managers *learn* that everything is ok with what they did.
Just like in a relationship with someone. *Actually talk to them and state the problem*. :)
Any sufficiently advanced intelligence is indistinguishable from stupidity.
You're obviously a Highly Paid Consultant who could care less what happens to the project or what the client thinks. It's people like you who give developers (and consultants in particular) a bad rap.
Or they at least have the balls to stick it out until the bitter end, which (if your post is at all accurate) can't be said for you.
Please, what company do you work for so I know who to avoid?
Or a quitter, i.e. someone I wouldn't care to work with.
It sounds like you're confusing loyalty and professionalism with laziness. Personally if I'm hired to do a job I stick it out until the job is finished. Even if the project ends in spectacular failure, as long as I did my absolute best I stay until the job is done and I expect those I work with to do the same. Everyone works, no one quits.
God, schmod. I want my monkey man!
On what planet? In the interviewer's mind, that translates into: "Given the doomed projects coming up, this guy is going to quit within three months. No Hire."
You may need to work on your interviewer mind melding skills.
Just ask yourself it that's what you'd think as a manager interviewing an employee. "I have two candidates, one who will understand what's going on in the workplace around him, and one who won't. I obviously need to hire the clueless one, since the smart one will recognize that I am an incompetent who will do nothing but feed him projects are destined to fail." I imagine probably not? Then why do you think anyone else would think that way?
You may be confusing a candidate's being able to distinguish good and bad projects with a candidate who's just a prima donna. The guy who projects a sense of entitlement, who will only want to work on the central aspects of high-profile projects, yeah, he's not going to get an offer. As I said in my grandparent post, you want to make sure you're not coming off that way. Explain why the project failed. Don't explain why it was "beneath you."
Also, this is distinct from concerns about someone being overqualified. Overqualified (ie, should be running a team on paper but is applying for a grunt job) is a concern. Then you're worried that they might leave; but you're also worried that they're apparent "underperforming" is because actually quite incompetent, so exuding cluelessness will not help.
It sounds like you're confusing loyalty and professionalism with laziness. Personally if I'm hired to do a job I stick it out until the job is finished. Even if the project ends in spectacular failure, as long as I did my absolute best I stay until the job is done and I expect those I work with to do the same. Everyone works, no one quits.
For me you sound like two extremes on a scale and I think you're both wrong. Yes, if you quit the first time a project you're in is in trouble then you're a quitter. But if it's a huge project or it's a repeated problem, why do you want to inflict a death march project of on yourself? You know the kind where you know the project will be a failure even if your part is flawless. That kind of thing is just a soul-destroyer of morale, making you feel like you live in a Dilbert strip. If the company is just too stupid to cut their losses, are you supposed to loyally and blindly follow their stupidity? Draining every last paycheck before the project burns isn't exactly building confidence in the consultants that either, then you're just blamed for bleeding them dry and leaving them with crap. In fact, I'm quite sure I've heard more accusations of that than the opposite. Of all the reaosns a project fails, "horrible internal project mismanagement" is always the very last option if you got noone else to blame. Try to guide them through the rough waters, but if they insist on heading full speed like Titanic against the ice berg, then I say abandon ship. The honor of going down with the ship may gladly be left to the captain, not the crew.
Live today, because you never know what tomorrow brings
Is this the spiel you give your developers? "We will pile on the stupid and expect you to turn it into gold?"
Your admonitions won't improve anyone's geek-fu. Quite the contrary, it gets them into a mindset where, if it compiles, it's good, and if it runs, it's perfect.
It also teaches them that 90 hour work weeks are not just to be expected, but are in fact a gift from the coding gods, an opportunity to temper your skills on the field of battle. Which may work for a while. Until their marriage fails, or until they realize that they hate working "Jedi hours" for a lousy fifty grand a year. Then, because they've swallowed your Kool-aid, and convinced themselves that "real coders" are supposed to thrive under constant stress and hammer out six impossible algorithms before breakfast, they start looking not for a more laid back coding job, but for a shift at Best Buy.
There is only one use for the crap you're peddling: to get a horde of young coders working long hours at substandard wages. As you mentioned that you're the CEO of your company, this fact doesn't surprise me in the least.
You want the truthiness? You can't handle the truthiness!