Why Developers Get Fired
jammag writes "Other coders get canned — but never you, right? From a developer who's now a manager (and who admits to being fired himself) comes the inside story on how the Big Ax might sneak up on you. To prevent it, he recommends some strategic bragging, keeping a CYA (Cover Your ...) folder to document your efforts, and making sure that your talent isn't frittered away so much that even your most mediocre colleagues look good. "
However, some people truly have their heads buried in the sand (or their code).
Yes, imagine the shock and horror that you would see on people's faces if I spent my time doing what I'm getting paid to do: develop code. Yes, I'm young. No, I've never been fired but I've been "hired then unhired" out of college because of a poor job environment in the locale of my origin. No matter, plenty of jobs were out there for me.
Spiegel claims he's fired people. I wonder how he would have chosen people if he saw through an employee's thinly veiled attempts to make himself look better? Or if he knew that employee spent time trying to cover his or her own ass instead of -- you know -- just get work done? These points aren't addressed in the blog.
So for those of you reading this, I will offer you an alternative to what the blog suggests. I imagine most developers (even agile developers) have a system for tracking completed requirements and also for fixing reported errors/bugs. If you spend your time chewing up those outstanding items and forget about all this near-Machiavellian bullshit manipulation Spiegel is proposing then you've got nothing to worry about. If your manager wants to fire you, just pull up the numbers if he or she hasn't already and show them. You can't fire a developer that's leading in resolutions and completed requirements. It's that simple. Skip the drama and get to work.
My work here is dung.
Spiegel claims he's fired people. I wonder how he would have chosen people if he saw through an employee's thinly veiled attempts to make himself look better? Or if he knew that employee spent time trying to cover his or her own ass instead of -- you know -- just get work done? These points aren't addressed in the blog.
I think it's a matter of semantics. Bragging as a thin attempt to make yourself look better when you suck is worthless. Managers are not stupid.
However, managers are busy. In most organizations, too busy to do too much work managing their employees. Business bragging simply means to inform your boss when you do something good. Don't lie. Don't stretch the truth. Just provide information the boss might be too busy to notice.
Managers like when you make their jobs easier.
-- Support a free market in the field of government
You must be wet behind the ears. None of what is mentioned in TFA really states you have to take these steps to the extreme. While you never came out and wrote it, you sure make the implication that the writer of the article is telling you to do this.
Hard work only gets you so far. And guess what else? Hard work may never get you promoted. You go on to make another point on the other absolute end, that if you're a hard worker, you must be the top producer in your company. You can work hard and still fail at what you're doing. This is why people are sometimes oblivious. I've worked with a few people like this. They do work really hard. The work that they do, however isn't usually the best and no amount of training can help them out. Some of them just never got it. Some of them were the type of people who thought that their way was the best way to do things when it clearly wasn't. In either case, they worked hard but were eventually let go because of how their work turned out.
It never hurts to chat yourself up casually every now and then. You can do this a number of different ways. I'm a supervisor where I work. All of the supervisor's used to here that the president of the company thought we were doing the bare minimum for our jobs. That we were just good little foot soldiers. I realized part of the problem was that my immediate manager didn't really have an idea of what the fuck I did every day. All he knew was that I helped my team to produce a lot of work that generated a lot of profit.
So one day I took about an hour to sit down and type out a list of projects my team needs to address. These were mostly "as we encounter them" issues. Items where if we take half an hour, an hour even, we could figure out a few things out to help us out in the future. I send this list to my boss with updates about once a month now. It gives him an idea of what else I'm doing and how quickly these tasks are getting done. It also allows him to more easily give me help when I need it.
So what was the net effect of me doing that besides a little extra help from the boss? The president of the company has personally told me on several occasions that he views me as a very valuable employee. That I have a bright future there and that he would rather not ever see me go.
And honestly, if you don't spend a modicum amount of time trying to cover your ass, you may get blind-sided one day. You rail against it, but then in your last paragraph you even cite an example of how to cover your ass. Not everyone has access to raw data to pull up, so some tracking on their end might be necessary. It doesn't take a lot of time to do this.
Or, you could just come off looking like a jerk to both your team and to your boss. You're on a team for a reason: to work together, not complain about how bad someone else's code (or any other work, for that matter) is.
If you are a team member and not in a lead role, you're not in a position to decide what's acceptable and what's not. And you'd be foolish to believe that you are in that position.
Yes, you should let the other person know that improvement is needed, but "throwing them under the bus" isn't the way to do it.
I've been a software engineer at the company I'm at for about 7 years now. Was in technical support before that (enterprise level development support).
Here's my solution to not being fired. Make yourself damn good at solving the difficult customer problems no one else can solve. Do it so that customers and executives at your own company request you by name (executives at a customer knowing you by name can help here too). Yes, it makes life somewhat miserable when those ugly ass escalations come in, but you know what, when customers and company exeuctives ask for you by name because you did a great job solving problem xyz 3 months ago and saved a multi-million dollar deal, middle management will think twice about being the one to tell company executives, uhh, that person was fired last month.
Screw making deadlines, I miss deadlines all the time and haven't been fired yet. Why? Because instead of working toward my deadlines I'm saving multi-million dollar deals that could get lost because of other people's incompetence :). It's a great way for job security, and I love troubleshooting, even if the escalations are a pain in the ass.
Good coders get canned all the time. Often it's because they have and exercise integrity which equates to shitting on the kitchen floor in today's corporate environments. The advice in the article is entertaining but probably not practical. If you're on the chopping block there is little you can do to mitigate the outcome. It really depends on your *perceived* value to the organization. People are too smart and narcissistic to change their perception of you based on your bragging. Bragging used to work back when most people with power in an organization had absolutely no idea about technology. If I walk into work and start bragging about my work and skills today, my peers and superiors are just going to be annoyed and think I'm a jerk. Bragging about the team's successes, and how the current team is a cohesive unit, is better advice that may save not only your butt, but your entire team's as well.
I got laid off in 2002 specifically because I was vocal and did my best to try and make for a better work environment. The problem was that management was TOO political. The parent poster is 100% accurate. After that I learned, never to be vocal. Give simple opinions and never give negative feedback, or try not to do so.
...the horrible degree of corruption implied by just about every post under this article?
The essential implication seems to be that your longevity in employment has absolutely nothing to do with your actual work. Rather, it has everything to do with someone else's perception of you, and said perception doesn't necessarily need to have any honest or factual relationship with your work output whatsoever.
If this is the case, I seriously wonder how much longer contemporary human society can last. Is it really so completely, unsparingly rotten out there these days?
Good article generally and good advice. But for a US audience.
"For those who donâ(TM)t see it coming".....here in New Zealand would earn the employer a death sentence in Employment court (well, a large settlement anyway).
NZ law states broadly 2 key points: That there is a relationship of good faith between employer and employee, and that both parties act in a fair way.
examples from both sides:
For the employer:
- Theft by an employee is grounds is grounds for instant dismissal
- A drop in income that requires a restructuring process when some employees might be shed.
For the employee:
- A drop of productivity can be due to various reasons. The employer must determine what those reason are. And instigate a prodedure policy known by both parties. The No.1 rule is "no surprises" to the employee.
- Numerous instances of Case Law indicate the employer must act to prove in a fair way they are right(they are the ones with the resources). For example , allowing one employee to arrive late but then enforce it on another first time late person would show lack of process and earn punitive penalties in employment court.
In post Patriot Act America, the library books scan you.
My question is why do good developers, that are talented get laid off?
Because they earn more money. This goes double for if they have lots of experience. I know someone who's almost 60 and they kept incompetent people in the department but laid him off (when the last 3 months before he was laid off he was working 14 hour days to make up all the work that wasn't being done by the others in the same department) because he made too much money.
"The tree of liberty must be refreshed from time to time with the blood of patriots and tyrants." ~Thomas Jefferson
I got laid off once when the old boss died, and the new boss thought I was too tight with the old "administration". After I was gone, the lay offs were done. Go figure.
Later I got fired from Microsoft. Microsoft's corporate culture is about a grading curve. No matter how good your team is, no matter how successful they are, some get "A"s, some "C"s, some "D"s, and some Fail. You get an "A" and (at the time) you could be rich beyond your dreams. You fail, and you are asked to leave.
This makes life at work brutal, because helping others be productive doesn't get you a great grade unless you can clearly claim credit. Furthermore, making use of someone else's advances in an obvious way is going to count for them, so you don't do it. Bottom line, it makes a very productive environment cause deadwood gets tossed. But if you survive a few years, you do so because you can develop an "in" with those that grade you, and you increasingly get grades partly (but almost never solely) because of who likes you.
The bottom line is that your first year is absolutely critical. You are almost never going to get an "A" cause you don't have the "In"s for that. But you can't fall down in visibility or you are toast.
Now it happened that my Dad died the first year I was working there. It was a long and drawn out process with cancer. I took several trips during the year to be with him when things got bad. And for the funeral. And I found it tough to talk to people. Then I had a meeting with my group leader, a guy who laughed nearly constantly but paradoxically had no sense of humor what so ever. We met in a conference room outside the doors of the building, and I was told to simply leave. My stuff would be sent to me.
After being tossed out the door, the project lead told me, "My dad died, and it didn't hurt my productivity."
The bottom line is that I MIGHT have avoided this had I spent more time talking up and down the chain of command about what I was going through. I could have taken leave until I had my head back together. The environment made it tough to get any support from people around me at work, but I might have worked harder at that. But it is also possible that some situations just are not going to be within your ability to manage.
In my experience, bosses want to see things. Working user interfaces. They want to be able to play with products as soon as possible.
Bad strategy:
- Choose the best tools for the job even if this is not one the company used for previous projects
- Write solid, reliable, secure, clean, flexible, scalable, optimized and tested foundations.
- Tell your boss that you spent 80% of the time allowed to the project writing quality code, but there's nothing to look at yet.
- Sequentially and methodically write every part of the project, with a crappy UI just for testing
- Polish the UI, replace images with nice-looking ones
- Profit?
Rewarding strategy:
- Stick with the same old tools: no need to justify nor to demonstrate anything.
- Write crappy foundations. Hard-code data as much as possible. You just need to get a working test case.
- Work on the UI. Make it look cool even if it barely works. Add every possible button as soon as possible, even if they don't trigger any action. Looking at the interface is the way most people will judge the completion of the project.
- Connect the UI to the crappy foundations. You can easily show how much progress you did on the project.
- Rewrite the foundations so that they can deal with real data.
- The project is ready for production, you made the deadline.
- Plugging security holes, rewriting everything so that it can handle the real load, and fixing bugs will be dealt with after the deadline.
- Who cares about the quality of the code ? It's closed source anyway.
{{.sig}}