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.
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.
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.
What if they want phone references from your last job? I know some people who fake this part, but that's not my style. Also it may work when the market is humming, but tech and/or specialties are cyclical. You don't want to get canned in a down market.
Table-ized A.I.
...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.
...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.
You have obviously never met a PHB on crack in the middle of the night. (Its worse than drinking Dr Pepper)
Sent from my ASR33 using ASCII
I can't tell if you were going for humor or relating your actual behavior, but I can see a person with this attitude doing very well as a contractor to large US businesses, even if they really can't get shit done.
[b.belong('us') for b in bases if b.owner() == 'you']
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.
A couple of prepaid cellphones and some voice-acting lessons?
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.
"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}}
...some of us jump before we are pushed.
My web domain.
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.
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
Its true I haven't but I'm also not just a coder I also build hardware. To be fair I should make such a general overview of a comment, as I'm still in university, but the one thing I've noticed from all my good profs who teach development based courses are keep it simple to hand it in, of course then you get the ones who don't have a clue, Cough (Ali).
Of course it's alot different working on a RTOS then it is programming a MY SQL app (which i've never done).
What if you're a hard-core developer? Somebody who writes back-end code -- complex SQL, libraries, etc.? Those don't have much relevance to advertising -- or anywhere outside of a purely-technology role.
Web 2.0 development is inextricably intertwined with UI development, often publicly-facing. Hence, your switch was an organic one: you moved from one role dealing tangentially with advertising, to a role dealing more-directly with it.
Not everybody can do that.
Is Capitalism Good for the Poor?
You paid him to work 9-5, right? You didn't pay him to be available evenings. You cannot expect him or anyone else to be available evenings or any other time they are not being paid for. Okay, so he left early one day. Who hasn't? Do you let a job interfere with the rest of your life? Do you live to work, or work to live? If you have your priorities straight, you work to live.
Make it work in their environment? The onus was on you to either replicate the environment in house, or to fly him there so he could do the work on-site,with any custom controls or other libraries the project relied on; not fire him because you made half-assed guesses.
Who's the asshole here in this situation? Seems to me it is you, not the "VB guy".
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
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
Treating a Linux box as a single user box and just running everything as root is *convenient*, but not secure.
Then you make the entirety of the codebase reliant on one person and blame him for it not working in an environment he was not apprised of (in other words, he either wrote it to work in your environment, or a generic one). Then you arbitrarily decide that this person should be at the beck and call of the office outside office hours just because it was a VERY LARGE customer and fire him for not being contactable.
You wankers. I hope he sued your ass off ... oh, wait, this is the States where employers can act like slavery was never abolished.
"Wait. Something's happening. It's opening up! My God, it's full of apricots!"
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.
Interesting. Very, very interesting.
I spend time reading about the 5% Dark Side/service to self crowd, but it's very rare when I actually get one of them communicating with me directly.
I know, though. The problem isn't actually the fact that this group exist. The problem is the fact that although they're only 5%, the other 95% of us allow them to rule the planet.
"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?
You should have had anything you wanted off your work computer already backed up at home.
At many places, you can get fired for that.
*Still* negative function...
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.
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?
Which company do you work for? Just curious.
- Poor interpersonal skills
- You smell bad
- You don't do what you are told
- You can't actually code
Dialectician. Archology.
Damn, where are my mod points???? Wish I could give ya a +, sir.