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.
This is kinda vicious but my strategy is if someone else's coding isn't good enough or they make massive mistakes, I don't just let it fly. You don't have to be their boss, you only have to be working on the same project as them because you're the one putting up with missing object methods and bad documentation and poorly written code. Tell em to rewrite it before you can use it and correct them and generally let them know that it has to be acceptable or they get to fix it. If anyone asks about project delays, don't hesitate to throw them under the bus and accurately report that they were the reason for the delay because their code didn't work. Soon it'll become really obvious that they're the inferior employee who should be replaced if possible. Do note that if you're the one always screwing up, I hope you expect the same thing to be done to you. Get better at programming or get a different job.
Google's Super Secret Search Algorithm: SELECT @search_results FROM internet WHERE @search_results = 'good'
I wasn't fired because I didn't toot my horn. I got fired because I knew the system too well -- and when upper management was told about this, specifically about a distinct lack of guidance in their security policies and documentation, they canned me. The reason developers get fired is either for the same reason most people get fired -- namely that they piss off the wrong person and they find someone in power to make their dream come true (and someone else's nightmare to begin), -OR- they learn too much about the system and not enough about politics and get caught by surprise when they try to implement a change that is a political hotbed. My last job: In-house developer doing network/system administration, deployment, and integration tasks.
Very often, developing stuff (especially in-house) has conflicting political goals, which are distinct from the design goals. Each team wants a certain piece of the pie and wants assurances they are "indespensible". Well, the problem is that in every project people need to work together and so there is always some overlap or need for integration -- which is fought tooth and nail because once things are integrated and made redundant (as business should be) -- people stop being "indepensible". So those that are slightly more politically aware find ways to strategically delay the project or insert superfluous technical considerations. And should a really good developer see this and figure out a way to convince others (by the strength of his/her design argument) -- this person will very quickly find a surprise pink slip for some random reason.
Keeping your job as a developer is as dependent on your ability to design well as it is on your ability to know when to duck.
#fuckbeta #iamslashdot #dicemustdie
Programming is relatively simple compared to the complexity of human interaction. While we might consider it lame that software development is heavily influenced by purely social factors, it doesn't change the fact that we live in a social world. Too many developers think of themselves as the lone console cowboy, churning out brilliant code few others can understand. Too many developers think if they simply write good code, the rest falls into place.
The hardest part of software development has little to do with computers, but everything to do with people.
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.
Pro tip: maintain a list of everything you do: bugs you've closed, features you've added, projects you've planned, servers you've upgraded, or whatever else you've worked on. The next time your boss asks if you've been busy, you'll be glad to have a precise and detailed answer.
Dewey, what part of this looks like authorities should be involved?
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.
Just right safe working code, don't try to be fancy. Don't try to use optimized method, just do what is safe and easy. If you always just write safe code then what can really happen to you right.
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'm a former programmer, now a manager. Recently, we had to cut some dead wood. I went through all my employees and asked myself, "Would I hire this person?" (I didn't hire any of them in the first place). In many cases, the answer was no. Either they shouldn't have been hired in the first place (previous manager was borderline incompetent), they didn't work out as well as expected, or they had attitude/personal problems that outweighed their contributions.
... not caring if you get canned?
Have you guys forgot that developers are almost always in demand? If it's not working at one place, just find some other place. There are plenty of opportunities.
I recently made the switch from developing in Web-2.0-world to consulting in the Advertising-world. You forget how much you know and how valuable that knowledge is to outsiders until you leave the bubble.
Don't think for a moment there aren't still a zillion places in every industry that could benefit from better (or any) software. Go find them!
Speaking from previous experience, nothing can save you if your management team believes that the cure for all their department's woes can be found overseas. If slashing the bottom line is their primary concern, I don't think there's anything you can do. Short of moving to Cebu or Bangalore.
Been there. Seen that.
/. Dissent will not be tolerated. Think like us or perish.
If you have yearly reviews, bring in a hardcopy of source code commit and bug tracker stats like how many commits you've made or how many bugs you've squashed compared to other co-workers. If you have fixed critical bugs in a timely manner, point those out. Put everything you do into dollar terms if you can, such as, fixing this bug saved an account, or implementing this feature put us ahead of our competition. Also, pull up the diffs for a couple of your better commits/resolutions and explain why your code is better.
If you're in a company where you have to brag and put up a front to keep your job, you're working for the wrong company, if you cannot just simply do a good job and have to worry about that crap, you're working for a group of egotistical idiots who do not know how to run a business, but would rather do it on "feel good vibes"
It's good to let your bosses know what you're up to so you dont seem like someone who isnt doing their job, but if you can't just perform your duties, instead have to worry about being a bureaucrat and a politician just to keep your job, that isnt productive at all, and if your bosses expect that? Time to look for a better job where your talents will not go to waste. That's what I just did. My old job was transforming into the typical corporate monster, run by people who would rather do things based on feel good decisions and ego driven motives. "This will cost less because I said so!" rather than doing cost assessment, decisions that result in the termination of 20% of the company. ("Let's switch from water dispensers to water bottles! even though it will cost 4 times as much! It's less because we say so." "Oh we dont have enough money to keep these people working for us now! *force them to quit*")
When they started looking at "cost saving measures for IT" I started looking for job saving measures for myself. When they fired my supervisor, I just happened to get a job offer that offered me around the same amount of money, but with commission. Needless to say, they got their cost saving measure, they decided to put a 75/hr consultant who knows much less than I do in charge, and for the last 2 weeks of my employment, I had to fend him off from making decisions that would make managing the infrastructure a nightmare. He also wanted to spend as much money as humanly possible on equipment WE DIDNT NEED. Only because he didnt know our equipment and didnt think it was great, so he put in a bunch of orders for high-end cisco equipment that would not help the infrastructure at all. When I left, I started laughing my ass off, knowing how fucked the company was. They wanted cost saving measures despite us making every cost saving measure we could as an IT department, within legal bounds (we didnt skimp on licensing in case the BSA wanted to raise hell) Now they're spending at least 10 times as much as they were under me and my supervisor (we found ebay deals, the new guy's idea of fixing a laptop issue is throwing a "bad" laptop out and buying a BRAND NEW ONE that costs $1400! I fixed the "bad" laptop he got from an employee and wanted to dispose of the asset. It just needed some small things fixed in vista)
Sadly, people who pull crap like that will keep jobs until it's too late for their employers to realize their mistake and have squandered money away.
...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?
The vast majority of my job in a management capacity is to translate from geek to suit and back again. The guy who owns my company, my direct boss, is not technically minded. The man has fantastic ideas, but couldn't write a lick of code or install a server to save his life.
The company is lucky to have someone like me. Many do not. And in the absence of an interpreter, you bet your ass that closing a lot of tickets in the bug tracker will mean dick when it comes to convincing your boss who doesn't read the bug tracker to not fire you. And frankly, pulling out the metrics to show that you're valuable is exactly the kind of strategic bragging you're arguing against.
You can fire a developer who is leading in resolutions and completed requirements. It happens every day. The job is not just to make sure that you're working your butt off, but that your boss knows it. Help them to make informed decisions. It may suck, but you know what, that's life.
my swingline stapler :D
I've never been fired and never will be. I've walked out on places in the middle of a rush, I've gotten on a Grayhound bus and moved from one side of the state to the other overnight, I've destroyed things, I've screamed at people, I've done just about every thing you can do to get fired immediately in most cases and I've always had a job waiting for me the next morning.
I get shit done.
Wanna fight ? Bend over, stick your head up your ass, and fight for air.
...but otherwise you (sic) manager can fire you just because he or she feels like it.
Perhaps in the US this is true but elsewhere many countries have laws that prevent this. They can choose not to renew your contract but otherwise they can only fire you for a valid reasons, like failure to do your job, company downsizing etc. If you sack them without a valid reason you can get sued for unfair dismissal.
1) To the person who makes the hiring decision, make it clear that the person sucks up more money than they make the company. Make it a pure business decision.
2) Make it easy - very few people enjoy firing people. It is not only confrontational, but it often means admitting you were wrong in hiring in the first place. Give your boss as much of an emotional out as possible.
3) Have the meeting where you solidly and without malice make your case. If your boss isn't going to fire the guy right then and there, but until X, Y, or Z are completed then your boss is going to pussy out. Institutional inertia will set in. Say "I appreciate that you're in a tight spot with this project. What can we do to make this work." When it doesn't work, have a follow up meeting that puts the decision not to fire back in your bosses line of sight, and show that, indeed, it's continuing to not work out. Do NOT say "I told you so." You'll just make your boss resistant.
4) Once the problematic developer is gone, have a follow up discussion that shows it was the right call. Again, don't say I told you so. Say "Thanks for taking care of that. I know it was tough, but it's really working out"
Your job is to make your boss look good by kicking this person to the curb. You're approaching your boss and assisting them in making an informed decision.
Of course, if you're just trying to get someone fired out of spite, that's trickier.
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.
Some developers get fired because:
- Heads: They are too pedantic about development practices in an organization focused on shorter term results.
- Tails: They are too focused on shorter term results in an organization focused on pedantic engineering.
- Uneven performance - productivity that tends to spike around review time but lag in the between months. Many managers aren't naive about this.
- Embattling the lead developer. Some developers take a personal disliking to the lead for whatever reason, and take a position of disagreeing with every decision very loudly.
sometimes you do nothing at all that gets you fired. Many times I was laid off because the company wasn't earning enough money and the companies I worked for would fire IT staff first. Usually with a 90% turn around in 4 years.
Last two programming jobs I had I got fired because I ran up health insurance rates and got sick too much. Turns out the stress of working too hard gave me high blood pressure and other illnesses and I even developed schizoaffective disorder. When management learned about my illnesses they tried to get me to quit, and failing that had fired me for being too sick and having too many sick days, etc. Even if I had doctor's notes and was in a hospital waiting for my blood pressure to go back to normal before they could release me, my sick days got counted against me. So I got fired for being too sick, and eventually ended up on disability being too sick to work. Had I continued working, I'd be dead or in a nursing home for being so sick.
Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
If your boss likes you, he will set easy goals. If he doesn't like you, he will set unrealistic goals. You can be the hardest worker in the place, but getting "results" is an arbitrary and meaningless phrase, entirely dictated by the whims of your manager.
A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
I am simply amazed at the level of vitriol and naivete displayed in these posts. The article basically boils down to "you are your own best advocate." Of course management's perception of your performance is what keeps you employed when the economy is tough. Duh. The article says to back up your arrogance with facts and not to let your own perception of your value lull you into a false sense of security. Doesn't seem very evil or unethical to me!
the key to not being fired is to have the biggest penis in the company. it solves almost all problems. just whip it out during the next meeting and people will leave you alone. i see it happen all the time. the problem is, i work in the porn industry.
My question is why do good developers, that are talented get laid off?
Only 'flamers' flame!
Does slashdot hate my posts?
So the solution is to put your effort where the money is....
Hmm. That sounds a lot like the way most businesses tend to be run.
The projects that are expected to make the most money also get the most resources. The only time this takes a second seat is when lots of money is likely to be lost if a contract or customer is lost due to poor performance. Any resources that don't support these goals or aren't performing as needed should be re-evaluated.
I was "re-evaluated" from my last job, and it could eventually be traced back to this.
I'm one of the mediocre colleagues, you insensitive clod!
Rome taught me patience and assiduous application to detail. Virtues which temper the boldness of great, general views.
I too was the "star" of my team, and probably the last person that most people in my former company thought would be let go. However, my company was hit especially hard by the recent economic downturn, and as a result, I believe that I was seen as more a luxury by upper management rather than a necessity. So with that, I was laid off.
It's been about 5 months now, and looking back I've often reflected on whether or not there was anything I could have done to change how events unfolded, and yes, there are a couple of things that I could have acted on, but it's tough to be a backstabber and that's pretty much what I would have had to resort to.
Since then, I've also realized a few other things:
(1) Staying in one company and being the "star" there can quickly cause a person (me) to over-estimate their worth.
(2) In my case, working for a single employer was causing me to be lazy with regards to networking and getting myself "out there" and as a result, 5 years worth of incredibly hard work for my one company was really pretty worthless when it came to social currency to land myself my next position.
(3) I am more thankful than ever that my parents instilled in me the art of saving my money. It turned what could have been an incredibly stressful and damaging situation into merely a nuisance and bump in the road. Nothing can quite provide comfort like having a nice pile stashed away for rainy days like getting laid off.
Happily, since then I've contracted for a few companies, and also done some freelancing, both of which have allowed me to really expand my networking efforts, as well as learn a lot of new technologies/methods/etc.. It's really gratifying to know that I have a lot more control over my own success and career, and whether I work 40 or 80 hours per week, my pay won't always stay the same (for better or worse).
Will I ever work for someone else again full-time as a W2? I'm not sure, right now I'm enjoying being more of a free agent and the new experiences it has provided. I'd really like to start my own company, as I think that would really be a lot of fun and a great challenge. So we'll see.
India is way too expensive. How you can possibly compete by making software in India? You should really consider moving development to east Asia.
“Common sense is not so common.” — Voltaire
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.
Straight from the referenced article. Results are the only thing that matters in the corporate world. And make sure that your manager sees and appreciates your results. In other words, whatever matters to your manager, should automatically matter to you as well. Be it deadlines for a certain project, or better social skills, or whatever. Do as your told.
"Jesus freaking Christ, can't companies do employee evaluations at all?"
Geez, here in America we're in a neverending depression, and that's the question uppermost in your mind (assuming it's about Corporate America?????).
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}}
This is awesome. I suspect I will be fired by my next review, and this article comes along and I spot on match two of the three reasons developers get fired.
I'm complacent and late. I tend to give my work done in a fraction of the time at the last minute. Although I don't believe anyone has tried to motivate me, I suspect my manager believes he has tried. I don't think I've made him look bad by my lateness on deliverables, although I have often had shouting matches and aggressive public emails with him.
I have plenty of reasons for my behavior, but I've been around the industry long enough to know excuses(and reasons) don't matter.
Luckily I can walk away and work at numerous other places. Unfortunately I would be able to work with these great people anymore.
...some of us jump before we are pushed.
My web domain.
I know this will probably be seen as snarky by some, but IMHO any company too stupid to keep you doesn't deserve you. It may be annoying and disruptive to your cash flow for a few weeks, but if you're any good, IT jobs are plentiful. Sometimes getting laid off/fired/off contract is the best thing for you. It's been my experience that it's the best way to get a raise without really trying. And do you really want to work somewhere that demands you constantly remind everyone of your accomplishments? Get a better boss.
Unfortunately, the document neglects to mention bad management counter-tactics. I just watched an engineer get guided away from everything productive he did into a "primary focus" of a project to re-write the manager's old project, saw the manager completely ruin the work because it wasn't written exactly the way the manager had done it (which was dangerous stuff, and the point of the project), and block the engineer from closing any other work orders until the primary project was done. The result was that it _killed_ the engineer's productivity on all those little pie charts and project ticket reports, and got him "encouraged to resign". And it kept around that old piece of dirty garbage code, which only that manager knows how to maintain.
I'd love to go directly after the manager for this, but it's hard. The manager knows how to play the paperwork game and the blame game and I'm not even from his company. It won't help the engineer much: I've written him recommendations and am trying to guide him to better work, but the field is still not hiring much.
Disclaimer: I am a lead dev/team leader.
The first thing that struck me about that article was that I had (blissfully) forgotten how horrible, corrupt and incompetent a lot of companies out there are. I agree with the overall thrust of his article, although I'd phrase it as "Be good at what you do, be proud of what you achieve, and act accordingly". That said, I just want to take a few points from the article. This guy has been working in some toxic environments, and it's done bad things to his world view.
Why wouldn't you see this one coming? Well, you might be thinking the missed deadlines are not your fault. Your excuses may include "the design was bad" or "the deadlines are not realistic" or "they are making me code in Java and I am a .NET expert."
Guess what? Excuses don't matter. Results matter.
The job of the manager is to make sure that you're doing your best possible work, and to make sure that all impediments to that are removed. It is not to make ludicrous promises and then blame you when they can't be delivered. If you find yourself working under such a waste of space, move as soon as is practical. If you are such a manager, please consider growing some stones and taking the responsibility you're being paid to take.
You have to promote your work. Yes, I mean brag.
That might work in the U.S.A. Good luck with that in, say, New Zealand.
If you are doing good work, then you'll receive kudos when the software is implemented. And if the implementation is not a success? This is tricky because you don't want to play the blame game in public.
The "in public" is very telling. You don't want to play the blame game at all.
Seriously, people. If you're a good developer, for pity's sake don't work in companies like this. They're rotting your mind.
Rgasuya aata! : I have been coding Perl and cannot tell where my fingers are now!
The developer who has all the talent in the world, but lacks either motivation or drive to perform up to expectations. As a manager, I expect to be able to motivate team members with money, career advancement, cool projects or even intangibles such as increased work schedule flexibility.
LOL. This is a classical B.S. Yes, often direct (line) managers wants to motivate developers. But it still has to be approved by higher management. And this is where it goes terribly wrong.
It either takes ages to see results or something unasked and unwanted gets done. Or worse: it gets done, but then used to motivate somebody else.
But sometimes, the rewards just donâ(TM)t motivate.
The result is a developer who isnâ(TM)t accountable. They consistently are late to work and meetings. They donâ(TM)t adhere to standards. Theyâ(TM)re simply complacent.
Yep. That's me. E.g. i was dragged into three weeks of meeting about architectural problem I discovered - and I had to open every one of them by asking what the meeting is about and tens time repeating them that I have solved the problem week(s) ago. But the wheels just can't stop... They finally found something worth discussing and simply can't pass on the chance.
Remind me again how that supposed to motivate me?
Or performance reviews. They keep asking what I might be interesting working in future. And the whole list of things I'm interested in gets consistently shot down with "we do not do that" or "C*O will not approve." Also very motivating. Even trivial things gets shot down - because most managers are afraid to do anything on their own and have to get a nod from above for every minor thing. And obviously all the trivial things are too small to be discussed with higher management.
The problem is when the developer gets too lazy or too cocky and starts pushing their deliverables to the last minute, causing delays.
Oh come on!!! Are you playing idiot here??
Tried and true solution: move deadline few days/weeks back. Or if you are more advanced, learn to manage projects better and teach people to work on "mini" dead-lines by splitting one huge deliverable into smaller project phases.
Or they just aren't around when other developers need to talk to them. Eventually the ax will come down on them as well â" the manager must look out for what is best for the team and long term success of the organization.
You really being too long in management. And probably got used to your position "above the mere mortals."
If you want to become good manager, start learning how life goes. E.g. take psychology classes. Because developers are people too - they can't live in office vacuum forever. They need more *new* information. They need more diversity. Especially talented developers, as their brains burn them from inside, need even greater amount of information and diversity just to keep their brain from eating them from inside. Yet traditionally managers, to accommodate mediocre ones, filter information. Because mediocre ones get confused with too much information. But talented ones need the info to be "in touch" with work and results of the work.
Another advise I was giving some managers is to make internal mini projects to simply keep creative and talented developers busy. That was derived from my personal experience working with extremely talented manager.
In other words, there are tons of ways to lead people or at least to make them think you are leading them. For few exceptional people you might want to follow them or make them feel that you follow them. But few managers even consider getting acquainted with their subordinates. They'd rather wait people start going crazy.
All hope abandon ye who enter here.
The author has managed to underscore why the state of American engineering is such a disaster. The people who are generally good at the things that the author suggests are typically also NOT the same people that are good at actual development. I worked for a company a couple jobs back that was a great example of this... The better engineers would focus and get the job done - picking up the slack for the vast majority of poor developers without bothering to mention it. Some of these poor developers spend most of their time documenting what everyone else is doing, and constantly summarizing and sending out emails to wide lists and to their managers. The sick thing is, these are the people that tend to get promoted because they give their managers a warm fuzzy feeling. Then those people become managers, and start making technical decisions which they were never qualified to make in the first place. Then they themselves start to hire and promote people in their own image - of suckage and crap enginnering, but also of great time wasting and BSing. It's really like a disease, because once it's taken a hold within a company, it spreads and you can't get rid of it.
A combination of pseudo-sucking up to your manager and taking on even a fraction of his responsibilities will immediatey save you from the frist round of cuts if you are even just a mediocre programmer.
Part of the reason is - he knows you're making his life a hell of a lot easier. I do essentially 20% of his job - its easy and its helping open some management doors for me. But the most important thing is that I communicate everything I do to my boss and at every opportunity to his boss, without it sounding like a status report.
If your head is in the head and you have tunnel vision at work - you are screwed. Somebody made a point about saying that great programmers that do not regularly deliver, delay projects, etc. get canned. ABSOLUTELY. I just saw it happen actually. They don't care how good you are, how much potential you have, how many languages you're proficient in. All they care about is how you affect the bottom line.
So if they're paying you good - just do the obvious - take on extra work (non programming as in your bosses responsibilities) to justify why they pay you as much.
I have also seen great success by suggesting projects, implementing knowledge bases (based on more experienced people's knowledge - it makes them redundant, not me), introducing and documenting standards for efficiency, holding workshops.
I'm new at this - 1 year. So part of my strategy is to indeed (regretfully) step on some other people (who i do not like, who are below average at their job) to get to where I am going. It is working great so far. I am not the best programmer by AFAR. But I am the best asset because I do not have tunnel vision. You will be surprised how much more that hurts.
thats it.
As recent college graduate moving into the software development world, I have to say, based on the comments I've read and the direction the world is heading in general, that there is something seriously disgusting about corporate, USA, and modern culture in general. I wish I get off this sinking ship but, unfortunately, Earth is it.
Didn't I hear/read NASA is looking into oneway missions to Mars?
I got hired at a well known company about a year before y2k. I had been programming about 10 years, and loved it. When I got there, I found out that the better developers had formed a 'club' and most new hires were not invited. In this case, When some of the 'club' were managers, that meant that after y2k the long knives came out. The 'club' members were smart, but petty and vindictive. It just took me a year to find this out. I don't think anything in the article would have helped.
Many developers imagine themselves to be unique snowflakes, who are so much smarter and better at their jobs than anyone else could possibly ever be, again, this is something I understand. (I work in manufacturing, with engineers, toolmakers and quality people, all of whom either, are smart and know how to do things you don't, or think they do, to varying degrees.)
If you don't want to get fired remember these rules.
Don's rules for being essential, and thus not getting fired.
The better your boss is, the better these will work.
1: Remember who the boss is at all times. When it is you then act like it all times. When it is not you, remember that at all times.
1.1: Have your bosses back at all times, no matter what.
2: When your boss asks for your input give it, argue fight scream, yell explain why he or she is utterly wrong and you are right, do not pull punches.
3: Once your boss has made a decision, even if it is utterly wrong, accept it, go with it, do your best to make it work, if it is even remotely possible. If not, try your best to soften the crash landing. (Hint, sometimes your boss has made a doomed or stupid decision because someone told him he had to, or for some reason he can't explain to you, see rule 1.1)
4: Do brag, do point out when you and why you are useful and what it is you do that makes the company money, and makes your bosses life easier. These are your two primary functions as an employee. Being smart, being cool, coding/designing/solving problems etc.. That's all corollary in nature to making your employer money and making your boss happy.
5: Remember your boss may be a pointy-haired idiot, but he is your boss. (This is worth repeating.)
6: If you feel the need to stab your boss in the back, you make absolutely certain you are going to inflict a fatal wound, and you will have a new boss afterwords. Absolutely certain. (Uhm.. Please keep in mind I mean in a business/employment sense, please don't kill anyone because of what I post on /. However if you do feel the need to kill someone, it is probably better to finish the job with a single stabbing.)
7: Keep your friends close, and your enemies closer.
8: Revenge is a dish best served cold, and anonymously.
9: It is always better to avert any disaster or crisis from happening than it it to be sure you can blame it on someone else. Even if you have a chance to pin it on an enemy, or someone who is incompetent or stupid, don't stab anyone in the back unless it's a fatal wound.
10: In any workplace battle or argument, keep in mind what you stand to lose and what you stand to win, there are times when it is better to cave in and accept defeat even though you are right, than it is to win a bloody hard fought victory which will leave hard feelings on both sides for some time to come.
10.1: This rule applies even when you are smarter than the other side of the argument.
10.2: Even when they are stupid.
10.3 Yes this means you.
11: In terms of internal office conflicts do not forget to give those people you are fighting with a face saving way out no matter how wrong they are, no matter how stupid they are, they are people to, if you glory in explaining and demonstrating how smart you are at their expense today, then someday in the future they will be the one's preparing you a nice cold dish full of anonymous revenge.
Finally: Don't be a dick, don't be controversial for no good reason, like I said several times above, if I am your boss, make absolutely certain that I know you have my back at all times whether I'm right or wrong. [1] If you do this then I will fight for you to the bitter end and do everything but demand whoever wants you
Had to fire a guy with "too much of an outside life."
The CEO and a Sr pre-sales engineer were at a VERY LARGE customer's site in Cali working through implementation details. One of my developers had been working on a customization for a few weeks that was supposed to be ready the week before. He handed it over to the Sr. engineer who used it and played with is a few days before flying out. He gets to the client on Monday morning and the custom code - VB - doesn't work in their environment. Not all is lost, we regroup, determine the issue and code for 1.5 days to solve it. Send the resulting code to both QA and the guy at the customer knowing they are 3 hours behind and are in meetings.
At 4pm, our VB guy leaves. He doesn't have a cell phone. He doesn't go home. At 5pm local time, we get a frantic call from the engineer and CEO for help. They are in front of the customer with the expensive customization and it still doesn't work. See, we're a C/C++ shop with expertise in that, not VB. We did the VB due to this customers' demand, not because we had any skill.
We never billed the customer for the code. We fired the VB guy. He had gone to church to choir practice. This wasn't the first time we couldn't find him when we needed him, but it was the last.
If your crap code may not work for an important client - BE AVAILABLE.
That's exactly what lead to my termination a few months ago. Perception is everything. When the unemployment insurance person called to ask me why I thought my manager didn't like me I rattled off a couple reasons and referred him to the two page document I had included with my UI application detailing the abuse and hypocrisy. At some point he said "well that's just your perception." I tried to remain calm and told him "perception is the only reason I got fired. There is nothing in my termination agreement about actual work." It was very clear I was being held to a higher standard than every other employee including the manager who fired me.
Reality is hard so people are lazy and just pretend that their perception is "close enough."
So yes, your immediate supervisor needs to like you. No one else matters and only their perception of you matters.
So no matter what job you get focus on your resume. Because if your manager doesn't appreciate you, you can highlight your work on your resume and the next company will not be so blind to your value.
Work Safe Porn
I'm a witness of a regular ass-kissing, to such an extent that I bring high-quality Vaseline to work. Why? Cause my collegue doest it whenever needed; such kiss-up doest it every day; periodically and management likes it. He writes a great code; his last linux server had to run as a root, and as he argued, nothing's wrong with it; nothing's wrong with regular logging-in as a root as well. Management believes him; just kiss and kiss and kiss again. That's all. He's a great coder, he writes his code on-time (he's a mathematician actually)
The key to success in the corporate world is NOT about high quality of work nor how much you produce. It is all about PERCEPTION.. How do people PERCEIVE your work and your productivity? You can be a slacker and come out head and shoulders above others when it comes to reviews and bonuses. You can do a lot of hard work, and shun socializing crap like company christmas parties, baseball game outings, etc. - just show up, do your job, maybe put in a few hours a week extra to get a jump on projects, but if you don't toot your own horn but have braggarts in your department who are slackers, they will come out ahead in terms of visibility.
Now, I HATE company christmas parties (I don't do christmas. I'm not a scrooge, I just don't think it's biblical or even noteworthy), and I HATE baseball outings (I don't care much for watching baseball), and I like to have a social life with friends, not sucking up at the office,
So the question is this: without your job revolving around work and making it your idol, how do you achieve visibility without sucking up? If you have leadership skills, take up a leadership role. This doesn't mean step on your boss's toes. This means when difficult problems come up (be it design, implementation, etc.) then volunteer to take the lead on it. Be active in organizing meetings, communicating between teams, and so forth. Use lunch to socialize with coworkers a couple of times a week. That way, your quality of work is perceived as good as it (presumably) is, and you'll even up or surpass the slackers who focus only on sucking up. The slackers are always discovered sooner or later. Sometimes sooner, sometimes later.Just make sure YOU do good work, and do what you can do toot your own horn without bragging, because the slackers are relying on ONLY that. If your boss doesn't perceive you are doing good work, then it doesn't matter what quality your output is; you may have well been doing nothing all year.
The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
...and read TFA again. The last paragraphs pretty much sums up what it is all about.
Nope, you're a fucking retard. I've hired too many like you. See, there's no reason to hire you if I can outsource your work to India. None at all. You're a liability, an outsource is a contract. The reason I hire you is because you have something that can't be done over the phone or can't be adequately described in the contract. I don't pay you to show up in a few months with a clean compile. Got that, retard? I don't pay you to do that. I pay you to communicate with your colleagues, customers and management (that's me). That's the *only* reason you haven't been outsourced. If you don't tell me what you're doing, then you're not doing what I'm paying you to do. If you don't work with your colleagues, you might as well be outsourced. If you don't give me the information I need to coordinate with my colleagues and convince my boss to keep giving me resources (like your paycheck and mine) then you're failing to do what I'm paying you for.
When the end of the year comes, and I'm writing your performance report, I'm going to write what I remember. If I read your notes, which you emailed to me when I asked you, then I'm only going to remember the last few things you got done and all of your buggy ass code I had to help debug. Yeah, exactly. I don't read your good code. I read your buggy ass code, because if you're doing it right, I don't need to. So, when I ask for inputs for your performance report, you can write it for me, or you can let yourself fail. See, your coworker, the one who got fucked because you didn't communicate with him, is taking notes, writing in complete, coherent sentences, so I can cut and paste his comments into the performance report. And if you're not doing that, it's because you're too damned lazy to keep your job.
Oh, and when you go complain about how "it's not fair", remember that I've demonstrated that I'm right enough to be your manager, and that the time I don't spend babysitting you is probably the 80% of the time I spend above my level looking for resources, not the 20% of my time I spend babysitting you and your colleagues.
Why would you want to defend your position in a company that does not want you?
Do your job, help your boss and your co-workers look good.
If you are fired, accept it, move on.
If you are good, there will always be work.
If your niche closes, find a new one.
Its worked for me for over 20 years.
Been made fired four times. Each time, it turned out to be the best thing that could
have happened.
> Honestly, in the end, if your company needs to fire people for any reason, sooner or later, nothing you can do will prevent it 100%.
No kidding. I'm the only one with a whole bunch of software skills and am a big help in keeping at least one of our clients happy. But due to the recession, most of the time I don't have very much to do because I keep our systems in good working order. But I work in a manufacturing plant that's on life support and they need more guys on the floor. Can you see where this is going?
That's right. Any time I'm not helping a customer or fixing a computer, my ass is required to be on the production floor, doing manual labor.
Sometimes, I wonder if it's really worth keeping your job...
"Your Job" Is largely to make sure your manager succeeds in his job. Period. Never forget this, seriously.
In a properly-run, efficient company, that's exactly backwards.
The purpose of having managers in the first place is to help the line workers, of whatever stripe, do their jobs most effectively. Any manager who thinks his job is more important to the company than the jobs of the people he manages has become a bad manager, almost by definition.
Dan Aris
Fun. Free. Online. RPG. BattleMaster.
If you were a nurse, a cop, a teacher, or just about any kind of real career; you would have to do something really wrong to get fired.
It that, for developers, if your productivity is not extraordinary, and if you don't play politics just right, you are seriously at risk.
Back when developers were getting exceptional salaries, maybe the situation was worth it. But is it fair today?
I demanded access to my computer, cleared out everything
You should have had anything you wanted off your work computer already backed up at home. You shouldn't need to use any machines at work for anything once you're fired - at my office it's company policy to disable all of a person's accounts before firing them, and the moment you're fired you lose all access to data you had full access to just minutes before...and that's the same whether you're a secretary, an IT guy or upper management.
One thing I kind of wish this article covered was the type of "firing" that is more discrete. What I am talking about is a situation where a developer has done "nothing wrong" in order to warrant a dismissal "with cause" (i.e the axe or the sack) but the supervisor finds another way to get rid of them such as cutting away all their workload and then laying them off due to lack of need for their services. A business may do this in order to avoid having the employee contest their dismissal and/or claim it was "unlawful" in court. It's impossible to prove or even fully determine when it happens (and being dismissed this way thankfully doesn't have a negative impact on your employment record (i.e. you won't be trying to explain in the following interviews any horrible reasons you were let go)) but surely there must be ways to see it coming and avoid that as well since you will still find yourself looking for another job eventually.
Developers (at least here in the United States) get fired because jackass CEOs and other "decision gurus" would rather pay 1/4 the salary from developers in Eastern Europe and Vietnam, India, China, etc. What these buffoons always fail to realize is that for 1/4 the pay they are also getting 1/4 the quality and I would go to war with anyone who denies this is true. I also take it personally that these people can "work circles around US developers". Bull-fucking-shit. The issue becomes profits and that is the ONLY reason developers get canned.
What the hell made Mr. Spiegel of XTS software think that posting this story was a good idea?
If you were one of his customers, how would you feel knowing that the product that you just bought was developed not by the best developers but developers that knew how to play this game? Personally, I would feel more comfortable deploying software if I knew that the developers weren't spending most of their time marketing themselves internally.
Anyone else feel this way?
- Poor interpersonal skills
- You smell bad
- You don't do what you are told
- You can't actually code
Dialectician. Archology.
"The reason developers get fired is either for the same reason most people get fired -- namely that they piss off the wrong person and they find someone in power to make their dream come true (and someone else's nightmare to begin), -OR- they learn too much about the system and not enough about politics and get caught by surprise when they try to implement a change that is a political hotbed. My last job: In-house developer doing network/system administration, deployment, and integration tasks" - by girlintraining (1395911) on Sunday September 20, @01:58PM (#29483777)
See my subject-line above, & the same thing happened to myself, almost word-for-word (& we share the same titles & duties almost verbatim as well) - what happened to you? Happened to me, & many others... especially when you point out that those in control are being negligent. I pointed out that the endpoints (workstation/printers etc. et al), but, I'm NOT "ashamed to admit it" either.
Their systems, especially the workstation/user machines endpoints? They were not "security hardened" & the users not educated as to what is "OK" to do online & what is NOT OK, formally (as in get trained & sign off on it, so it IS "in writing" if they show up on logs as violating it).
When I "got the axe", in my exit interview (the day I delivered a program the users there actually THANKED me for, in making THEM part of the SDLC (part of building it, I used THEIR ideas & feedback to make it what THEY wanted to use, not what the other developers, especially the lead there, wanted - he literally called them "DUMB & STUPID" & I was like "We exist to service THEM, not the other way around, AND, they know their jobs FAR BETTER THAN WE EVER WILL, period"... I found his outlook outrageous & amazing actually... he was only a 6 yr. guy, but by that point, I would have thought he would have a better view of those that literally keep he in a job).
Anyhow - I was told that "I need to pick my battles more wisely" & it was NEVER A BATTLE TO ME - it was only pointing out what needed 'shoring up'.
In fact, the incompetent CIO who did this to me blamed me when viruses showed up on our network in a weekly meeting & I had to then point out he had setup TREND antivirus wrong, & it was over 6++ months OUT OF DATE on client workstations.
Once that came up? Heh - I thought I was "off the hook", but no... they fired ME!
The company in quetion then switched over to AVG 'free edition' & in a corporate environs, that is a "NO NO"...
(In fact, from "what I heard"? AVG was made aware of this iirc, & he got the axe for it himself, once he was caught using it for months in fact without paying for it legally to license its use that way).
My job there?
I was hired to secure FTP transfers of healthcare data & to help in a project to 'scramble' SSN#'s on member cards & all correspondence into a "member number" (& I did 5-7 projects/programs there successfully to that effect in less than 1 yr's time there & was doing great, until that happened).
Will I keep my mouth shut from now on & watch incompetents do that? I don't know, it depends, but it taught me a lesson - when you have "paper MCSE's @ the wheel" in this field, especially in leadership roles? This IS what you get - poor & incompetent setups, due to incompetent leadership. This is the problem with the United States, today, & NOT just at the MIS/IS/IT level. It's everywhere.
Leaders who haven't done the job in the trenches themselves abound... & the results show it. Argue with the numbers.
(A pal of mine says "Let them fakes @ the top screw themselves by their own stupid uninformed decisions, you will get their job when they get the axe, so keep your mouth shut" & I don't believe that actually. I treat a job like a wife I suppose, & advise when needed, for the GOOD OF THE WHOLE COMPANY, including myself. When the company is strong, I AM STRON