"it’s easier to keep a job than find one. We’re hearing about companies cutting 25% or 33% of their headcount. That means you need to be in the top 67% or 75% to avoid a pink slip. Other than an entire plant, division or office closure, the decisions about whom to keep and whom to let go are based on performance, salary and redundancy of position."
Unfortunately this is not always true. I have seen two really good developers loosing theirs jobs recently. If you are paid too well, then you are in the x-ross if layoffs come.
While your manager might appreciate your skills, some hire management just views you as a cost, and really Don"T realise that some people are better in order of magnitudes.
When that spreadsheet comes, it is ordered by salary, and the top people are the first to be scrutinized, even though they good performers, and worth the money, they might get the axe.
Layoffs are almost never personal, esp. not in large companies. The decision to lay people off and how many is made at a level well above caring about the performance of any individual. The HR department decides who gets the chop, and they don't care about your performance either; they care about the company not getting sued, basically their only objective is that when the dust settles the company has a plausible gender/race/whatever balance and no-one's claiming unfair dismissal.
If a company starts laying off then you want to get out of there while there's still the cash to pay a decent severance package, because the writing's on the wall.
I happen to be one of those. After I left my manager left to a different team, and my most senior member got promoted. He actually offered to try and get my job back at a 30% salary increase because I was too damn useful to get laid off (with a hefty severence). Fortunately for me I had another job and I actually wanted to stay at that one (I liked the old job quite a bit, but I didn't trust the company enough to even consider going back).
I ended up with a large bonus and a shiny new job with a higher pay. So I ended up on top :). Its skill and mainly lots of luck. So polish your luck skills! How? I duno but damnit you need to do it!
In any case, to upper management you are a number, to the people who know you, if you are good then your value is known, but to upper management you are a title and a salary. Unless the CEO knows you by name management does not know about how great you are, what you did, and how much they are going to miss you.
Unfortunately not all companies have you, your manager, his manager, and the CEO. At some point its you, your manager, his manager, his manager's manager, (go 4 more levels up), CEO. And after his manager's manager nobody will know you, about you, or anything good/bad you did.
This is especially true when you have a team of ALL excellent developers (I was fortunate) and they have to lay a few off.
#11 - Take advantage of your health and dental insurance. If you haven't gone to the doctor or the dentist in awhile, or if you have an appointment that you should make in the coming months - make it now!
Anyway, I think most of the list is good advice in general, even if you aren't planning on getting laid off. It basically boils down to: keeping your skills up and maintaining your contacts. It's who you know and what you know.
#3. I don't "really" have one. But one can feel free to check my HN profile and you'll know what interests me (submissions), what I think of most issues (comments) and also how I react to criticism or when someone offends me (troll). All in there buddy.
Do it yourself. Dreamhost + One click WP install == working wordpress. You don't even have to ever log into the terminal. Plus having your own domain name makes you look more professional.
Work out??? Oh no no no no no. If you get hired because you look good, either you are incompetent (work out and do it man) or you should not take the job. ALL jobs I interviewed for dug deep within my brain to get a taste of my problem solving skills and knowledge of programming. Good people skills help, if you can get along with the interviewers (a few laughs to ease the tension) then you have a better shot than someone else, but that's where it ends.
If it is a choice between a weak candidate who looks good, is fun, and has a ton of linked in buddies, or a strong candidate who is worse at all of the above, I doubt the pretty face is going to get the job.
You seem defensive. Don't you believe it's better to be physically fit and energetic than not, or do you argue that fitness and health is truly irrelevant to your role as an employee?
You could suppose that there is an unfair cognitive bias at work (see /beauty premium/) which could favor one candidate over the other. But think about how an interviewer would consider the physically fit you versus the physically unfit you. This is the real point, not how you compare to someone else.
#11. Make friends at your current job-- as many as possible, preferably with some being "diagonal-up" (e.g. not your boss, but at a higher level). Bonus points if they are unlikely to be cut. You will need them as references if your boss gives you a bad one (which you should check 3-5 weeks after being laid off, using a professional ref-checking service).
Friends from the old company are not just potential references, but also possible co-founders or recruits at the new job.
#12. Move all your side projects onto off-work computers, and try to make sure that they're deleted from your work machines nightly and automatically. (Of course, this is not the time to do something moronic, so only delete true side projects, e.g. things that the company doesn't know or care about but that you still need to unambiguously own for future purposes.)
#13. This one applies mainly to large companies. In good economic times, you want to make yourself as replaceable and obsolete as possible (write well-documented, easy-to-follow code) so you can move on to more interesting projects and, if laid off, leave on good terms to a better job. In bad economic times, try to make yourself irreplaceable, even if that means making your code difficult to use. If you feel the need to be unethical, you can hide time-delay bugs. At worst, you'll be asked to train someone else in the technology and offered a severance package in order to do it, which is better than being let go cold.
In bad economic times, try to make yourself irreplaceable, even if that means making your code difficult to use. If you feel the need to be unethical, you can hide time-delay bugs.
Wow.
What this sort of thing does to your soul is far worse than being laid off. Anyone who believes that they need a job more than they need integrity or self-respect has some work to do, and some fears to face. And making code obscure on purpose is unethical, and ethics that fluctuate with economic conditions aren't ethics to begin with.
Edit: For a different perspective, I ran this by a couple of guys where I'm working. One of them offered a more succinct response: "Maybe if you did a good job, they'd keep you, [expletive deleted]."
I made an error in using the phrase "in bad economic times". Economic conditions are actually fairly irrelevant, because one can be in a positive career situation despite a terrible economy, and vice versa. I meant to say "in a bad career situation" and, specifically, a truly terrible one.
I know people who've been put in the humiliating position of being outsourced, while being expected to train the cheaply-hired replacements. That's the sort of situation in which obfuscation, in the hope of having, at least, the option to come on later as a consultant, may be an appropriate strategy. Why is it unethical? It's not nice, but it's not nice either (though not unethical) for the company to fire all the American staff and replace them with overseas workers at 1/3 of the cost.
So I'll back down from "in bad economic times" because, really, obfuscation only makes sense in rare and outright terrible situations. I've never needed to do it, never done it, and I don't even know how often it works. What I'll say is this: I've known people who've been laid off recently, and one of the warning signs is when they are asked to suddenly place a high priority on clarifying previous work, and it's definitely not in their interest to do so.
I meant to say "in a bad career situation" and, specifically, a truly terrible one
Well, who put themselves in that situation?
I know people who've been put in the humiliating position of being outsourced, while being expected to train the cheaply-hired replacements
No one is required to remain in such a humiliating position.
Why is it unethical?
Because it's your job, not to mention your duty, to contribute the best code you can. Not to mention not actively destroying it.
obfuscation only makes sense in rare and outright terrible situations
Courage and honesty are what make sense in rare and outright terrible situations. What the person who takes the sneaky, greedy route under duress never gets to learn is how many benefits flow from standing up to what you fear.
I've never needed to do it, never done it, and I don't even know how often it works.
Yet you are prepared to offer it as advice to others?
I've known people who've been laid off recently, [who were] asked to suddenly place a high priority on clarifying previous work, and it's definitely not in their interest to do so.
There's a big difference between taking responsibility for your own interests and actively screwing the other guy in order to (allegedly) protect yourself. See what allenbrunson said.
So I'll back down from "in bad economic times"
You've missed the point. Ethics that fluctuate with one's career situation aren't ethics to begin with either.
Look... I wouldn't write this if it were just about critiquing your post. Personally, I am far from being a master of appropriate behavior. But I can't emphasize enough how rewarding it is to get to a place within yourself where you just won't do shit like this (and how punishing it is to live with the beliefs that make you think it's ok).
Variable. My first job out of school was at an MDC (medium-sized dumb company) where, 3 months in, there was a management change. The new middle-manager began sabotaging the best people-- taking them off their coding projects and putting them on non-coding office work-- in order to bore them out of the company, thus eliminating the people he saw as threats to his position in the future.
The 3 best new hires were laid off within 6 months of this happening, myself for the "crime" of seeking employment elsewhere, one for refusing a "promotion" into an ethically dubious role, and one for reasons too complicated to get into, and all of this was through no fault of their own. Luckily, this was during a great economy, and all 3 of us got better jobs within a few weeks.
No one is required to remain in such a humiliating position.
What if the company says they will give negative references if he doesn't train the replacements? Is this not coercion? This is an unusual case, but it's not entirely uncommon. In the pharmaceutical industry, there've been M&A cases where people kept on at the acquired company were forbidden from giving references for their laid-off colleagues. In BDCs, this sort of political sleaze occurs more often than you'd think. Again, I'm assuming that you're "spoiled" by startups and technology companies, where one's career progress has a high correlation to the quality of one's work, and wherein internal political sleaze is exceedingly rare.
You've missed the point. Ethics that fluctuate with one's career situation aren't ethics to begin with either.
I don't know why "situational ethics" get such a negative review, when all ethics are situational, the situation including the consequences of each option. For example, it's unethical to steal, right? On the other hand, some people must steal in order to avoid starvation, and it's arguably much worse, from an ethical standpoint, to submit oneself to pointless and preventable death. Ethics is about pursuing the morally best option among those that are actually available, and which choice is best depends on the consequences (to oneself, and to others) of each, i.e. the situation.
I believe that there is a phrase that CEO's and Most Paid People in the company that is used to everyone else to keep the little guys smouthered in the position they sit: "the bottom line." They use this when they realize that if they don't do something unethical or completely brilliant, there will be a bottom line that little guy will have to deal with. He will be fired or they'll cut his hours, or they will give less health insurance and higher premiums and deductables, etc. Somehow the little guy is going to get cut so the irreplaceable CEO can go on a $600,000 necessary cruise that the little guy wasn't even invited to.
Look at working in retail. It is a nightmare! There you are so replaceable, they can't keep positions filled for very long because people either "get themselves out of that situation" or they remain humiliated and keep collecting a smaller check.
The only way to be truly irreplaceable is to CREATE something. Because once your one-of-a-kind creation exists, you have added something to the world that wasn't there before. So for it to be authentic, it must remain irreplaceable.
perhaps you've heard that two wrongs don't make a right?
if a company screws you over, you don't try to screw them back. that makes you just as bad as they are. the right thing to do is walk away, think about the warning signs that were almost certainly there from day one, and don't get into a situation like that again.
I'm not arguing that anyone should be screwing anyone over. Taking revenge for the sake of revenge is a monumental waste of time and energy, and can lead to disastrous career and legal consequences.
In the situation I outlined-- of a person being outsourced, and told to train his cheap-hire replacements before being let go-- the reason he does a poor job of training them is not revenge. It's not an emotional decision, but a rational one: he wants leverage for the negotiation of severance and references, e.g. "Sure, I'll train my replacement, in exchange for [X]." It's neither ethical nor unethical; just business the way it's been done for centuries.
I was all set to upvote this after the first point, and then I read the next two. Really, it's a job. There're things more important than a steady paycheck, and IMHO keeping your integrity and doing work you can feel proud of are among them.
#12: This seems a bit vicious, but that's probably because you're spoiled by startups and tech companies, where there's a lot of work to be done, and a high proportion of it's actually interesting. At some of the big-box companies, neither of these is true. Some of the BDCs have beginning programmers doing office work during the first year to "pay dues". The saving grace is that 25% utilization is the norm for BDCs, leaving the underutilized hackers time for side projects. Unethical? It's not more unethical for the hacker to work on side projects than it is for the guys in marketing to spend 6 hours per day on Break.com.
#13: I discussed this in my reply to the other poster. As I said, it would only make sense in an extremely negative career situation. I was utterly wrong to imply that obfuscation would make sense in poor economic times without other extreme circumstances.
#12 - my issue isn't with the side projects done on company time. It's in doing the side projects on company time and then trying to unambiguously own them. Didn't you sign something to the effect of saying you wouldn't do this?
Back when Diffle was a part-time project for me, I did bugfixes and stuff while I was at work. After all, I was often blocked waiting for another team member, and coding on some other project is a better way to keep skills sharp than surfing Reddit. But I threw away the code and started fresh when I left my day job and turned it into a full-time startup. Granted, part of this was for technical reasons (I found the code I'd done on nights & weekends basically sucked), but part was because the best way to unambiguously own the software was to not have written it on somebody else's dime.
#13: For me, the appeal of programming is in having my code get used. Making it incomprehensible seems a good way of ensuring it won't be used in the future. In both of my last two employers, I put a premium on readability and documentation, even staying about a month longer than I'd hoped to at my last employer so that everything was documented, all known bugs were worked out, and all unit tests passed.
my issue isn't with the side projects done on company time. It's in doing the side projects on company time and then trying to unambiguously own them.
I don't think that there's much of a difference. The company doesn't know that the side projects exist, so there's no foul. That said, destroying code built for work purposes (e.g. sabotage) would be extremely unethical, highly illegal, and very very stupid, not to mention petty and pathetic.
Ownership can be a knotty issue. I have a friend who wrote a short story while in a dead-end corporate job, and published it around the time that he was laid off. The company found a draft on his work computer and, although they had no real use for the story and it wasn't relevant to his work (he was in accounting) they claimed ownership and managed to take royalties for the story (which were small; this was a symbolic pwnage). To twist the knife even further, they put a clause in the settlement wherein he'd have to get permission from them in order to publish it. He might have won if he went to court instead of settling, but a struggling, laid-off writer doesn't have the resources to fight a large company in the courts.
But I threw away the code and started fresh when I left my day job and turned it into a full-time startup. Granted, part of this was for technical reasons (I found the code I'd done on nights & weekends basically sucked)
You make a great point. In that sort of situation, a second write of the code is an excellent idea in any case. Besides, an intelligently chosen side project is one whose value is primarily education/skill development, since that can never be taken away or owned by anyone else.
For me, the appeal of programming is in having my code get used. Making it incomprehensible seems a good way of ensuring it won't be used in the future.
I fully agree. It's always a lot more satisfying to write great code, and I've always tried to do the best job possible. I'm just arguing that there are very rare, dire situations in which perverse incentives arise, and it might actually be wise to be "perverse".
Unfortunately this is not always true. I have seen two really good developers loosing theirs jobs recently. If you are paid too well, then you are in the x-ross if layoffs come.
While your manager might appreciate your skills, some hire management just views you as a cost, and really Don"T realise that some people are better in order of magnitudes.
When that spreadsheet comes, it is ordered by salary, and the top people are the first to be scrutinized, even though they good performers, and worth the money, they might get the axe.
Unfair, but this is how it is.