6 ms·
Honest, "be slightly evil" answer: say absolutely nothing. Just work. Get done what is asked of you. When you have free time (which you often will, due to the c
by michaelochurch 13y ago
Honest, "be slightly evil" answer: say absolutely nothing. Just work. Get done what is asked of you. When you have free time (which you often will, due to the chaos as things start to shake) use it to build skills for your next gig.
People will probably lose jobs. Sometimes that will happen based on seniority and sometimes it's just random. Sometimes, that will happens to the PITAs who spoke up and happened to be right. You don't want to be a PITA. PITAs become blame dumpsters even when they were right, because enough people hate them and no one will defend them. You're not the only one who knows that the project is fucked. Just keep your mouth shut about the fact.
There's something I call the Welch Effect, which is that the people most likely to be laid off are junior/least-established members of macroscopically underperforming teams (who had nothing to do with its underperformance, because they had no power). Managers are sometimes sympathetic to the Welch Effect and will set a "no infanticide" rule, but not if you're a PITA.
Keep your head down, do good work when work is asked of you, and start planning for your next move. Start networking and searching and building skills now, not when you need to.
If you lose your job, don't take it personally. It's not your fault, and if you tell the story in the right way, no one will hold it against you. These things happen to good developers, especially early in the careers, all the time. Most projects fail. It's not like school where something has to be going wrong to fail a course, because only 5-10% get F's. It's probably 50-75% of software projects that fail.
- cateye 13y agoWith this behaviour probably you will survive this project but in the long run, you will be wasting your life and maybe miserably unhappy in the end.
- addandsubtract 13y ago"Do as you're told" and "Don't talk back" are probably the worst "rules" I've been taught in US grade school. Following that mentality will net you exactly this: a miserable and close-minded life. DO voice your opinion and professional expertise. DO make recommendations as to how to salvage or improve a project. Not doing so will not get you anywhere.
- gbog 13y agoThat's not true. Being able to endure and suffer silently is a skill that is often the way to survive through struggles and win the game in the end. It is mostly the case for politicians and mafia members, but it is also useful for developers.
- addandsubtract 13y agoSure, you can play the endure card and just do your job in the hope of one day pulling ahead of everyone. But what if that isn't the case? What if you silently work your ass off and then get laid off anyway? If there's one thing I've learned, it's that you earn what you put in. It's in your interest to push the product, create a drive in the company and basically make it the best environment for you and everyone else to work in. And if that is met with nay-sayers or incompetence, then you should be moving on anyway.
- michaelochurch 13y agoI'm not advising anyone to "silently work your ass off" because that doesn't work either. If you're on a failing project that will harm your career, leave. But leave silently unless there's a credible chance you can fix it (and usually, you can't). If the project is doomed to failure, being a PITA means you're more likely to get fired while silently working out a transfer or next gig has only upside.
- Yourfags 13y agoI love how this idealism is so accepted here, sure it works, but there is plenty of good in "staying until the job is done", you just don't believe it.
- deleted 13y ago[deleted]
- bdcravens 13y agoI don't think michaelochurch is saying that. Rather, sometimes you look out for #1, which involves doing your best and setting yourself up for long term success.
- michaelochurch 13y agoI'm not saying he needs to stick with the project. I'm saying that it's, on average, bad for your career to try to save a failing project. Better to move to one that will succeed, but you don't get mobility by offending everyone around you, which is often what happens when you try to "save" people in spite of themselves.
- hga 13y agoExactly; I have a bad habit of saving failing projects, generally of companies that had to have them succeed, and very seldom got any thanks from it, even when I was explicitly hired to do just that (sometimes was even purged when technical success was achieved but not cemented, causing the company to later crater). If there is a gentle way of doing this it was beyond my limited interpersonal skills, and I agree with everything Mr. Church is saying here, if you can pull it off (I can't): keep your mouth shut while you pull the ejection handle.
- smacktoward 13y agoOr to learn how to differentiate projects that are within your power to save from those that are not. If you're a developer, you often can help save projects that are failing because they were poorly outsourced, or handed to the wrong team, or technically flawed. You usually can't save projects that are failing because management never really believed in them, or that are caught in crossfire between conflicting factions on the corporate board, or that have never been funded/resourced at the levels required for success.
- brudgers 13y agoRight on. Working conscientiously when easy excuses for doing otherwise are in season is the essence of professionalism. Providing one's best given the circumstances is the core character trait. Deadlines move, budgets expand, requirements shift and staff move on (including managers). All are beyond the line worker's control. Sometimes, life includes a deathmarch. You still gotta' throw strikes when trailing by thirteen in the top of the sixth.
- VLM 13y ago"All are beyond the line worker's control." This is probably the most important piece of advice in the whole discussion. Getting all worked up about someone else's responsibility. Another interesting side issue not explored yet... I believe its a distorting factor that he has semi-privileged information and opinions about his own area of expertise. If he had semi-privileged information and opinions about the supply of packing tape in the shipping department, or the technology level of the forklift battery charger in the warehouse, he'd wisely be advised to stick to casual careful gossip unless its human safety critical, aka just do his job... at work. At home, if certain that the battery charger is going to cause irreparable financial harm, sure, go update that resume... just keep it at home.
- brudgers 13y agoReal businesses can be messy and inefficient and petty and stupid and still turn a handsome profit. They usually don't participate much in our Platonic ideal of one. One of the tracks of the discussion here and on Stack Exchange is to elevate the situation to a plane requiring moral decisions. And it just ain't so. A line worker does not have fiduciary responsibility, and as you rightly point out, this doesn't entail issues of life safety, public health, or economic exploitation. It's just normal muddling through. The biggest hazard to the person posting the question on StackOverflow is erroneously assuming they are the smartest person in the room, or in its most common form, that everyone else is an idiot. Trains are big loud whistling contraptions with bright lights. Unless distracted, few people fail to see and hear them coming.
- hga 13y agoMr. Church is absolutely right, and I have a telling story from the decline and fall of Lucent to back it up: The last project I worked on was something essential to Lucent's survival as an independent entity. Many of you have heard of sophisticated telephone switches, like the Western Electric (AT&T) then Lucent 5ESS (http://en.wikipedia.org/wiki/5ESS http://en.wikipedia.org/wiki/5ESS), a really impressive monster that's truly 5 9's reliable (or it genuinely tried to be and by and large made the grade). The new way of doing this is (or was as of 2001) to split the functions of such a switch into a Media Gateway Controller AKA Call Agent e.g. the Lucent Softswitch, which understands things like billing, and a Media Controller which does the actual work of connecting A to B and converting as needed (e.g. POTS to VoIP). There's even a dual ITU/IETF protocol for communications between the two, Megaco AKA H.248 AKA RFC 2805. It should be obvious that being able to offer a complete solution was essential for Lucent's future, as conventional switch sales were at least projected to plummet, and my group was part of effort to create the other half the company needed, the Media Controller. Which was a challenging thing, including that true 5 9s reliability requirement (just say no to hard disks, I was among other things the database guy in testing, and the operational database lead and I had to vet and sign off on each other's designs (mine was a data warehouse approach for storing fine grained events generated by the test system, Oracle was real fun for that sort of thing and we had a 106,000 seat license (!) from them, although headcount was going down to 35,000), and I was personally responsible for testing his system). ADDED: going off the Yourdon Death March chart included in OP comments, this was a "mission impossible" project, high happiness (fun, challenging project), at least a decent chance of success initially (e.g. we were working with the 5ESS people, who taught us a lot of neat stuff about real 5 9s.) Anyway, at a certain point, completely insanely a company wide headcount cull was applied to this effort, and I'm pretty sure it was sufficient to kill the project (my testing area was gutted, going from "maybe, just maybe we can get this work done in time" to one engineer plus a little outside help, with one manager, a failed programmer so she wasn't of much if any help). One of the things that really stood out was the layoff of a pretty famous person in the company, a jack of all trades who e.g. had the energy and skill to take the chosen (Linux based) RTOS from the vendor and get it up and running in our environments, kick the tires and minimally validate it, etc. Don't know if he was a PITA like I was in part, but it's hard to imagine he wasn't at least a bit, he was the sort of guy who was in a position to say "This won't work because I just tried it". The managers flaunted his layoff like a badge of honor, an implicit "If this guy can get fired no one is safe", and blatantly lied about the grounds. They claimed he was "inflexible" about what he'd work on, when it was a very visible matter of written record that he'd very productively work on just about anything. I never even talked to this guy, I just learned of his background and merits from the written progress reports and mention of him in an occasional conference call meeting, he was perhaps the most visible "exceptional" employee in this make or break project. And yet he was purged. (As was I, although that was by abuse from an envious boss and may not have even been part of the headcount cull; while I wasn't hardly so visible, I was the only serious software engineer on the testing effort, and there was no way the company could build the new test system without someone of my caliber. And you'll never create a true 5 9s system without serious testing.) And as many of you know, the bottom line is that Lucent was bought by Alcetel and is a shade of its former self, including Bell Labs, e.g. http://en.wikipedia.org/wiki/Bell_Labs#2000s http://en.wikipedia.org/wiki/Bell_Labs#2000s: "As of July 2008, however, only four scientists remained in physics basic research, according to a report by the scientific journal Nature. On August 28, 2008, Alcatel-Lucent announced it was pulling out of basic science, material physics, and semiconductor research, and it will instead focus on more immediately marketable areas, including networking, high-speed electronics, wireless networks, nanotechnology and software."
- chuckcode 13y agoI definitely agree with michaelochurch to avoid being a PITA, being right that project will fail isn't productive professionally or personally. Being the person to tell a smoker that they are likely to get cancer isn't helpful to them or you. If you're going to stay around pick something that you think is the most important function/feature and make sure that it is amazing. There is almost always some smart people around and some new things to learn. Taking responsibility for things over which you have no authority will make you miserable and crazy. Find out where your authority stretches and make the most of that area leads to amazing developments. I can predict that the education system will continue to suck tomorrow and there isn't much I can do about it but tutoring a few students at my local school can really make a difference in their lives.