31 ms·
An old hacker's tips on staying employed
- matttrotter 5y agoYeah a personal brand is so important. Great article from a wise hacker.
- throwaway98797 5y agoI found the thought of job security as a goal distasteful. Shows how much of a bubble one is in, when other people’s legitimate dreams foster scorn in your mind.
- hprotagonist 5y ago> I found the thought of job security as a goal distasteful. reevaluate your distaste when you have 3 dependents.
- erikerikson 5y agoI would suggest reevaluating your financial approach. It will take time and effort but you can become independent of your job more quickly then you might expect.
- HumblyTossed 5y agoTell that to the underprivileged.
- erikerikson 5y agoIt's a good point. I started that way. I still have friends who are. I'm still surprised by the ways they splash out sometimes, particularly given my knowledge of their base circumstances. In my finding we need a combination of compassionate, supportive policies combined with individual responsibility and prudence. I observe that we have combinations of neither in higher than desirable concentrations.
- tonyedgecombe 5y agoI never really worried about that. Having started work in a recession and finding jobs quickly after two layoffs made me fairly relaxed job security. It obviously helps if you aren’t too spendy.
- RegBarclay 5y agoI didn't at all hear scorn for different goals: "So maybe not all of this advice I’ve given applies to you if your priorities are different. Also, maybe I am not qualified to talk about how to deal with some situations like having to job hop between startups and so on. I can only offer what I have learned myself, take away what is useful."
- rossdavidh 5y agoI am a consultant/contractor, with a new customer/employer about once/year. But, I still think most of the advice seemed on target. Really, one would want to be _able_ to stay employed, regardless of the fact that one chooses to move on frequently. Plus, most of this also applies to a position where you're changing jobs frequently, since your reputation will often precede you.
- reidjs 5y agoRead the conclusion
- MattGaiser 5y agoI just think it provides less security than alternatives. To me, you want career security; the ability to leave at the drop of a hat to somewhere else.
- wirthjason 5y agoI’d suggest that communication is just as important as technology skills. Most end users and people paying for the technology don’t naturally understand the problems and challenges. These things need to be be explained clearly, in a way they can understand. One of my favorite quotes that illustrate that is from the movie Boiler Room. “There is no such thing as a no sale call. A sale is made on every call you make. Either you sell the client some stock or he sells you a reason he can't. Either way a sale is made.” Communication is often thought as a speaking skill I would add that listening is a skill as well —- equally as important, if not more, than speaking. I’ve see so many bad designs because the developer failed to listen to, and fully understand, what the users really wanted.
- canadian_tired 5y agoYou are absolutely correct. Over the course of a few phone calls and some simple diagrams, my team managed to shrink what looked like 18 months of effort for 10 people, down to 2 simple, 3 week projects for 3 people. It wasn't wizardry...it was communication.
- AnimalMuppet 5y agoYour overall point may be valid, but I don't like your Boiler Room quote. If you call me to sell me some stock, and I don't want to buy it, no, I don't have to sell you a reason why I won't buy it. I'm not buying; I don't need to tell you why; and I'm done talking to you now. Click.
- doix 5y agoHa, I like the wording on the "The “Two-And-Done” Rule". I came to the same conclusion fairly early in my career. My anaology is a bit more grim, I would "hand them the rope" (so that they could hang themselves) after two arguments. I agree that two is the upper limit. Unfortunately it took me a little longer to drop the "I told you so". I also agree with the personal brand section. It's part of the reason I was so argumentative. I worked on internal tools that people were forced to use and some of the stuff that was done was hated by many. I was really worried that my association with the project would ruin my brand/reputation. So I would always argue to try and fix things that people hated. Eventually I gave up and started writing greasemonkey scripts to make things more usable.
- riazrizvi 5y ago+1 "Two-And-Done" rule. But there are factors that stretch the rule; 1) your certainty of failure if you go the wrong way, 2) the harm to the business/team given a failure, 3) your role in execution of the task. You can be put in a situation where you've got an approach that works but you have been overruled to use an approach that doesn't (assuming of course genuine best efforts to make it work, otherwise you're the problem). If you are the person on the spot in a critical business situation, you've got a choice, do you risk your job for doing what works despite being explicitly told not to, or do you risk your job anyway and the security of your team and company by executing a destructive sequence because you've been told. I keep reading lots of examples of these situations, especially in military non-fiction, where people go either way. In these rare situations, if it's your finger pulling the trigger so to speak, I think you have to do the only thing you know is right. And maybe dust off your resume when you get back home.
- jerf 5y ago"1) your certainty of failure if you go the wrong way, 2) the harm to the business/team given a failure, 3) your role in execution of the task." Relatedly, I use a very similar analysis when giving tasks to junior engineers. They almost always want to do something that isn't exactly what I would do, for a whole bunch of obvious reasons. Sometimes I need to override them, but it's a complicated analysis that sums up to what you wrote above. I will even sometimes let them do something that I think will lead to some negative, but recoverable consequences, because the best learning is from your own mistakes, but to learn from those mistakes you must first be allowed to make them. I just have to make sure the positives of learning outweigh the possible issues the mistakes could lead to. And sometimes, I'm wrong about whether it was a mistake or not, of course. :) An example of something I'll generally override regardless is a security issue, because the consequences of that can get pretty negative. But merely layout out the code with the IO & business logic more tightly coupled than I'd like is something I may let slide, especially if they're going to end up having to write automated testing for it anyhow. When I do let something go, I generally give a heads up about what negative consequences I expect may transpire, and then let them do their thing. I think that in general, "wisdom" can't be taught in the conventional sense of the term, but I do think you can sensitize people to the existence of certain patterns and accelerate the process of acquiring such wisdom as a result.
- makach 5y agoOK, there are some lessons to learn from this article but overall it sounds like tl;dr do the work for your boss, make him shine. If I followed those advice I'd probably implode in a puff of black smoke.
- kwertyoowiyop 5y agoYep. Bosses do like to promote people who make them look good.
- reidjs 5y agoThanks for sharing this. I appreciate the conclusion admitting that there are trade offs to attaining job security. For example, this may not be the best advice for someone trying to maximize their income or title. If you are looking to minimize stress in your career, I think being a hard working, effective developer who’s enjoyable to work with will help you substantially.
- Syonyk 5y agoSlightly off topic for the topic of "Staying Employed," but "Don't spend everything that comes in, and save a good chunk of your salary." It doesn't matter how much you make, you can always spend more. I've watched far too many people over the years get sucked in by the monthly payments on a huge house, luxury car, etc, and while they can pay it, there's no slack in their budget and very little in the way of a buffer. I've also watched a few people go from $hugenums to $reasonablenums for income, and if they've lifestyle inflated their way to consume the $hugenums salary, welp. Doesn't go down well - the BMW dealership doesn't particularly care about your salary problems, they care about your loan/lease payments. If you can keep your spending down, and build a buffer, you've got plenty more options than just "not missing a paycheck."
- toomuchtodo 5y agoWealth is options and freedom, not a luxury car and it’s payments. Optimize for freedom.
- yakshaving_jgt 5y agoOn the other hand, a car can provide many options and freedoms that you otherwise wouldn't have without one. Especially now during the pandemic.
- Syonyk 5y ago> luxury car I don't think anyone here is saying "Don't have a car." Unless you're in a situation where that makes sense. I'm certainly saying, "Don't go lease a luxury car when you need a car," though. Get reliable transportation, if you need it, but there's a large gap between "reliable transportation" and "luxury cars." Spending $10k on a car out of college that will last you another 10-15 years is entirely sane. Spending $100k on a car because, hey, you got your tech job and now you can have the fancy car, is stupid.
- acituan 5y agoWealth is like a cube of ice too; it will slowly melt whether you like it or not. General inflation, specific CoL line items, or cost of education for your kids etc; they all change without any notion of fairness to your hard work. The health that needs to be coupled with wealth to be free is also decaying over time. The things you'd enjoy at your 30s, 40s, 50s, and 60s are also going to be different. You can't optimize for only what you'll enjoy in your 60s and you can't really store up freedom.
- nickyvanurk 5y agoOne thing that seems to work for me: follow your curiosity. Admittedly, I am still a young programmer (shy of 30), but so far this has not yet failed me. During job interviews I usually show some game I made in my spare time, and even though the game hardly shares the same tech stack, my genuine enthusiasm while talking about it and showing it off makes them excited too and make them want to hire me. On top of that I also have some open-source contributions that I made because some project had a bug or missed a feature I needed. I never did it to increase my brand but it sure doesn't hurt. I also share the books I've read on my personal website which can be a nice conversation starter. I usually get to take my pick from several companies whenever I'm looking for a job.
- the_only_law 5y ago> follow your curiosity. Admittedly, I am still a young programmer (shy of 30), but so far this has not yet failed me. Unfortunately this failed me hard. I realized this after recently getting several rejection (at the screening level, not even the interview level) for reasons I can reasonably extrapolate “other candidates have much more relevant “experience” than you, quotations denoting professional experience, as opposed to some shit I put together on my own. It kinda dawned on me, that instead of wasting time working on things I was curious about or that interested me, I should have instead been working on things I’m not particularly interested in, but are in demand.
- all2 5y agoI try and spin my personal projects (compilers?!) to match the job requirements. This has worked well for my last two jobs.
- nickyvanurk 5y agoI think it might depend on what you're curious about and if that interest is valued. For me it's multiplayer games, game engine architecture, computer architecture (built my own 8-bit computer). Learning Rust recently too. I get really excited about solving hard problems and bugs. If I have to work for a boss to get paid, there is no way I would also spend my free time on projects just to impress some people. I got a little money buffer and no family though. So this attitude might not work for others. "Fall in love with some activity, and do it! Nobody ever figures out what life is all about, and it doesn't matter. Explore the world. Nearly everything is really interesting if you go into it deeply enough. Work as hard and as much as you want to on the things you like to do the best. Don't think about what you want to be, but what you want to do. Keep up some kind of a minimum with other things so that society doesn't stop you from doing anything at all." - Richard P. Feynman
- EMM_386 5y agoAs a software engineer with 2+ decades in the field, this always is a worry in the back of my mind. I excel at and enjoy programming. I always have since I first learned on a PcJr. I have been a Team Lead, Software Architect and other roles but I would like to stay employed as an IC as long as I still enjoy it. Ageism is a thing. I believe this "personal brand" strategy is the way forward. While it may be possible to pull off a jaded, "I've seen some shit", "get off my lawn" attitude, it will probably make everything more difficult. I try to keep a positive attitude and avoid being the guy nobody wants to work with. This, combined with a mountain of experience, will hopefully keep me gainfully employed so long as I still want to be.
- everdrive 5y ago>I believe this "personal brand" strategy is the way forward. I think I'd just rather make less money. It's not just that I dislike selling myself. I actively cannot respect people who are taken in by such an approach.
- Veen 5y agoIf you prefer to reframe away from the bullshit marketing language, you can think of "personal brand" in terms of integrity, conscientiousness, and reliability. These are virtues that make you valuable.
- EMM_386 5y agoI'm not saying to be phoney. I'm just saying I'd rather try to keep a positive attitude and not be miserable to be around, if I can avoid it. I look at each new JavaScript framework, "SQL sucks, no wait, SQL is actually great!" passing trend in the industry now and on some level it can make me miserable. But I try to not let it bog me down and take my whole attitude with it.
- yohannparis 5y ago"personal brand" in the context of the article is not about marketing oneself, but how to be a personable, reliable, competent, and helpful colleague. This as nothing to do about trying to get more money, but to have a more stable relationship with your company. To be honest, this is an advice for everyday life, nobody likes a drama queen or a energy vampire around them.
- canadian_tired 5y agoThis captures a lot of what I have always wanted to express. I am of same cohort as the author, and aside from being laid off once (which, honestly, was wonderful) I have managed to stay well employed 30 years in tech. I hold no degree. I have no specific super powers. But, yes... everything stated here rings true for me. I would, humbly, add some of my own. Learn the people patterns. Every where I have worked has at least a few, if not all, members of Typical IT Cast Of Characters. There is the "know-it-all-but-does-not", "wise old sage", "management climber", "new guy", "one-job-and-doesn't-want-to-change", "hockey-jersey-guy-who-smells-but-knows-too-much", etc. Pick your own. Most of these people will avoid, tolerate, get along with, or maybe love the others. Or some combination thereof. I have found being the impartial mediator to be advantageous. Be the "Ferris Bueller". Know the business as well as the tech. Technologists that can dive into the business language and work with both groups are invaluable. Diagrams. Work hard on developing the capability to express ideas/concepts/flows in a diagram that fits on one sheet of paper. Do this all the time...even for one-offs. As the author states, it helps build your brand. It's advertising. When I see a one-pager I did 6 months ago on a desk covered with coffee stains, or pinned to the wall above monitor...I know I have made an impression. I worked with a few masters of this craft, and honestly, they are all magic on any team. Share credit constantly. Don't ever appear that you need validation. Give good ideas away for team members to catch and grow. You will build a community around you that seek you out for guidance. Time passes quickly... that junior dev you credited for a schema re-jig 5 years ago is now a VP at BigCo. She didn't forget. Keep in touch, right?
- daniel_reetz 5y agoI'm not quite as far along as you, but this deeply resonates with my experience. Great writeup, thank you.
- canadian_tired 5y agoHappy to help...at least a bit.
- altonzheng 5y agoThanks, I'm early-mid career, and this feels like really good advice. It almost seems obvious: be helpful, don't be an asshole, and you'll be fine.
- nonameiguess 5y agoThe personal brand thing is interesting. I feel like I've had plenty of job security, and I've been through company downsizing, but the layoffs never got big enough to be any threat to me. But I was an Army officer before I got into engineering, and it's obviously a different culture for a very good reason, but due to the fact that the mission is bigger than any person and the organization needs to operate and succeed in environments where all individuals can be killed at any moment, it was always drilled into us to be constantly training your replacement. Make sure you are never the only person who knows what you know or can do what you can do. I've taken that mindset with me and continue to meticulously document everything I do and constantly train others, so that I certainly hope no organization ever fears losing me will drive them out of business, though I don't think they want to lose me, either I had a very notable team member at my last employer who was an exact picture of everything opposite to that. He was a complete rock star, always the person called in to put out any fire, always being moved around and temporarily assigned to augment whatever team was having the most trouble. He'd been there longer than anyone else and personally built out a whole lot of bespoke automation tooling with no peer review, no documentation, and no one else really understood it. That specific program really might go under and the company would lose an enormous contract if he ever left. But is that really a good thing? The only reason they're in that situation is because of the way he works in the first place, combined with outdated processes where the management and senior technical leadership is so narrowly blindered by their focus on user-facing features that they have no awareness of what is happening in the realm of platform and developer automation tooling and how reliant on it they are. This is a conflict between individual and organizational rationality. And I don't expect individuals to solve it or blame them for being individually rational at the expense of organizations. By all means, keep up the hustle and do what is best for you and your family. But man, there has to be a better way to accomplish collective action.
- me_me_me 5y ago> This is a conflict between individual and organizational rationality I don't see any conflict here. I am not and 'the organisation'. I am hired by one to do a job. I lookout for myself first of all. I am not paid to protect 'the org', and lets not kid ourselves 'the org' will NOT protect me. So why would you put org before you? The way I see it is that you got some goodwill from peers and mgmt but you consciously made yourself replaceable. If mgmt knew you documented all you workload and an intern could just waltz in, read through all docs and do what you do for 1/2 the salary - you will be out on the first bus. The 'super star dev' - if he goes the business will hurt. Mgmt cant afford let him go. If I were to pick a role I would definitely go with the 'star dev' over you. Mainly because they can negotiate his pay as he has leverage. Also they don't have to play too much of office politics as they are in position of power already.
- jl2718 5y agoI think it’s a bit anachronistic. Today, when a project ends at one of these big companies, the people get laid off. They may find another position internally, but everybody starts at zero again. The only thing that matters is the skill set and proficiency demonstrated in your last project. Sucking it up on a bad assignment sets you up for more of the same. And let’s face it, you’re not going to excel. Career aspirations over. Mediocrity is a state, not an identity, and there is a reason most people end up there. The people that liked your attitude working on stupid stuff will help you get more of the same. If you want to go from bad to good, you have to make a change yourself. You have to skill up, maybe quit, maybe go back to school, maybe find someone with big ambitions that is desperate enough to take a chance on you. It’s going to feel like a step down, an admission of failure. Because it is, whether your fault or not. Just get out. But why don’t people do this? Why do they get stuck? Usually this comes down to personal relationships that are not robust to failure, cannot accept downgrade of lifestyle or prestige. These people are stuck faking it forever, living in the land of the dead.
- me_me_me 5y ago> Today, when a project ends at one of these big companies, the people get laid off. And you just normalize this as something ok?
- jl2718 5y agoNo. Not at all. What am I supposed to do about it?
- thunkshift1 5y agoMaybe he works at Amazon
- bdcravens 5y agoDon't be lazy about staying relevant. You shouldn't jump on every new trend, but you should be knowledgeable enough to discuss it intelligently. This requires some investment, even if it's just taking a Saturday to go through a quick course on Udemy or the like.
- canadian_tired 5y agoYes. New Stuff doesn't always supplant Old Stuff. And when it does, it does so at different rates. There will always be work available to bridge/replace Old to New. Heck, look at mainframes.
- aaccount 5y agoshould have titled it "An Old Hacker's Hacks on Staying Employed"
- JaggerFoo 5y agoThe article is on keeping a job. The "Make Your Boss Afraid" section of the article reminds me of the book "Linchpin" by Seth Godin.
- jes 5y agoI’m 61 and have been working in high tech since 1983 or so, writing embedded software, doing system administration, and managing people. The article strikes me as good advice. I didn’t find anything to disagree with in it. Ageism is a thing. People have all kinds of biases of which they may or may not be aware. You have them too, and so do I. A line from another source that I keep in mind is this: “If you’re always getting angry, you’ll turn your nature against the Way.” [1] It doesn’t pay to be the angry, unapproachable person in life. [1] https://www.dailyzen.com/journal/bloodstream-sermon https://www.dailyzen.com/journal/bloodstream-sermon
- tharne 5y agoIn addition to ageism, I think the proliferation of the MBA/McKinsey school of thought really works against older programmers. You have an increasing number of managers who have little to no domain knowledge around 1) Programming, and 2) whatever industry they happen to be working in. What's worse, is that they see no problem with this because they think they "understand business". What this leads to is a lot of dumb decisions. One example in this case is that, to someone who's never written a line of code, a 25 year-old developer is the same as a 50 year-old developer, but at half the cost and without the hassles of things like kids to take care of. You need to have a decent understanding of the work developers do, in order to understand the value the 50 year-old developer brings and why paying him or her 2 or 3x the 25 year-old is actually a bargain.
- sokoloff 5y agoOne problem in these discussions is the curve of value delivered by an individual developer in a particular situation is short-and-wide and while I agree the senior developers are on a curve shifted to the right, there’s a massive amount of overlap. Most company’s best 5% 25 year-old developers are probably creating more value than their median 50 year-old developer, even though that median senior dev is creating more value than the median 25 year-old.
- nicoburns 5y ago> One problem in these discussions is the curve of value delivered by an individual developer in a particular situation is short-and-wide I kind of disagree with this, although I don't think it's age that separates developers. But developers who can work independently are a lot more valuable than those that require close supervision, and those developers are considerably more value than those who are actively destroying value.
- tharne 5y agoI really love the way this post was written and wish more folks would adopt a similar approach. The author lists his experience and what's he's learned, but also lists his limitations, and areas where he might not be as authoritative, like at the end when he mentions that he's only worked for a few companies and tended to trade salary for security. It's refreshing to see advice dispensed from years of experience while also maintaining a tone of humility.
- imnitishng 5y ago> I work at a job > I got fired > If I'm skilled enough I don't think it would be an insanely hard task for me to find another job. Recession is another thing but general layoffs can be fixed it you decide to pick yourself up.
- mankypro 5y agoGreat advice all around and solid article, works well at any age. However, ageism, aka Age Discrimination(tm) is real in technology as I'm sure it is in other disciplines. I'm sure many will say, "don't suck" and you'll get hired. Remember your words/thoughts after you reach the final "culture/fit" check after jumping through every flaming hoop put in front of you during the interview process, and then suddenly, after all the glowing feedback the 30-something VP of Engineering or Paper Clips makes your candidacy flatline.
- richardcrossley 5y agoThat's the one thing that is missing from the article. Just keeping on the same page as others is also important.
- scrozier 5y agoNot that it's a contest, but I'm 63. :-) After a mostly entrepreneurial career--but always around software--I'm back to coding every day for a living. I love the sense of accomplishment--always have. Great advice here, to which I might add that getting comfortable as an independent contractor is very useful as well. For me, there are many philosophical reasons for that, but practical ones as well; the most mundane of which is simply that if you do lose a traditional employee job, you feel comfortable grabbing a contract job in the meantime.
- johnvega 5y agoHow would you compare your job search experience with "traditional employee job" versus "contract job" ?
- scrozier 5y agoGreat question. Generally easier to get a contract job, as the people hiring you tend to want your skills, and care less about things like "culture fit." Generally, I would say the contractor hiring process is more pragmatic. "Show me something you've done kind of like this...great, you're hired." Realizing that it's much easier to "undo" a mistake in hiring a contractor. "Don't come back tomorrow."
- greggeter 5y agoThis article is perfect. I'm 50 and it describes perfectly the kind of career I've had and techniques I've used successfully. read it carefully if you're a young guy.
- caturopath 5y agoForget staying employed. I'm surprised I haven't retired yet and hope to soon. Too easy in this industry.
- dewlinedew2 5y agoMy Krusty anti social tech worker shtick finally caught up to me last year, and I was layed off even though I'm pretty sure I got fired Wish me luck in my job search!
- MontrealRaised 5y agoHappened to me, too. I found out that my whole team hated me, actually. I didn't notice and thought I would just reasonably argue my position(s). I have to add that I was working in Zürich in Switzerland (as a German) and my reputation got destroyed, so I had a problem finding a new job until I found one, where they did not check my past employer (as described in the article). This was unintentional and it can happen quicker than you think. The last rule of the Old Hacker "to stop insisting you are right after 2 attempts, even if you are sure you are" hints into the direction that this is a general problem for software engineers rather than just/only a personal flaw - But ofc I will work on and watch out for my "Leumund" much better and more carefully in the future. Also that he was affected: Excluded from decision making meetings. I am not sure, if he knows/understand how bad it might have been for(against) him. It all still bites you/yourself. Good luck in your job search!
- kqr 5y ago> My own personal way of dealing with this would be to look at it as a challenge This is the one point I think you have to be really careful with. Only ever do this when you have thoroughly investigated and concluded beyond any doubt that the crappy inputs you're given are beyond the control of your manager to fix. I haven't counted but I swear most people I meet could work 50 % as much and get just as much done if they would just get their broken situation straightened out. There is so much wasted work poured into weird problems "beyond our control" but which really are fully in the control of the worker's manager. The leading cause of this wasted work? The person doing the work "doesn't want to be seen as one who complains" or "doesn't mind the extra challenge." But what about the time/money you're bleeding in the process?! Sorry, this is one of my pet peeves.
- reidjs 5y agoI agree, but a lot of it comes down to other peoples perception of you. Sometimes it is worth doing those dumb esoteric challenges that provide no business value whatsoever. Example: The CTO really wants the table on the careers page to render the text color coded by the age of the job posting. Will it be easy to do this? No, our table text color is hard coded so we will have to rewrite the table module from scratch. Is this of any value to any paying customer or job applicant? No, no one cares about the text color. But, after you have advised management it may not be valuable to your users and it will be very time consuming, you better hop on board the table text color train 100% and ship those stupid table colors.
- cyberlurker 5y agoI’m going to try the two-and-done strategy, I like the idea. A handful of times I’ve wanted to “I told you so”, despite knowing it’s not productive and rude. This seems like a professional way to do it without saying it. And I share the authors experience even with less years. I’m wrong more than I’d like to be, which is never.
- austincheney 5y agoMy lesson on corporate survival: do what the business needs. I was hired by Travelocity 1 OCT 2007 as a designer. After a couple of months of doing no work I was involuntarily reassigned to a developer position. I had to learn to program. I had to figure it out from nothing. It turns out designers and Java developers were a dime a dozen, but the business couldn't hire competent front-end developers to save their lives. I finished 2008 with a negative annual review. My manager had to intervene to raise from review to a higher level than catastrophic failure. Keep in mind I was learning to program from nothing on the front-end of a billion dollar website. Some areas of that website had limited or no safety controls to prevent you from blowing things up at the click of a button. In 2009 there were massive layoffs. Despite my abysmal annual review my job was safe. I mean super guaranteed safe in a special HR bucket labeled CRITICAL, DO NOT TOUCH. There were people with tremendous tenure and even directors and vice presidents that were being laid off. Some of these people walking out the door were rising stars in the company but every team was impacted, for fairness, using quotas. At the end of the day it was clear performance was only a minor factor in whether you kept your job. More important was critical need. The didn't layoff the very few database people that worked there. They didn't layoff the front-end developers. They didn't layoff the people who monitored critical infrastructure. In each of those critical roles there were only a tiny hand full of people (count them on one hand) keeping the lights on. Travelocity's primary business is a website and you need those few people who maintain that billion dollar website.
- tonyedgecombe 5y agoBack when I was contracting it was common to see customers laying off their own staff towards the end of a project and try to keep the contractors. It was always a bit sad because the people being laid off usually knew the business inside out, the work couldn't have been done without them. This sort of thing started in the eighties with Thatcher and Reagan. It's why I have never felt guilty about having a mercenary attitude towards work.
- topherPedersen 5y ago"We are all constantly measured in the eyes of our employers by what we actually deliver, and those who can find a way to succeed even in the face of adversity will always have an advantage over those who cannot, or do not want to."
- hikarudo 5y agoIn the same vein, I recommend the book "Secrets to Winning at Office Politics" [1]. The title is a bit click-baity, but the contents are excellent. [1] https://www.goodreads.com/book/show/260493.Secrets_to_Winning_at_Office_Politics#:~:text=McIntyre-,Secrets%20to%20Winning%20at%20Office%20Politics%3A%20How%20to%20Achieve%20Your,Increase%20Your%20Influence%20at%20Work&text=personal%20power%20withou-,Office%20politics%20are%20an%20unavoidable%20fact%20of%20life%20in%20every,political%20game%20in%20your%20organization https://www.goodreads.com/book/show/260493.Secrets_to_Winnin....
- strken 5y agoGetting laid off is like a breakup, except you get paid a lot of money afterwards. It's not much like bull riding, which is over in minutes and where falling off is a deliberate design choice; a lay-off is the slow culmination of things going wrong over months or years, many of which have nothing to do with you. Telling yourself you'd recover quickly, if you've never been laid off before, is as unreasonable as telling yourself you'll never have a bad breakup[0]. Instead: - it's okay for getting laid off to suck in the hours and days afterwards - it's also okay to be totally fine and get another job right away - be loyal to people and missions, never to companies - do not tie your identity to your employer - you're allowed to do things differently next time: you don't have to find someone who's identical to your ex, you don't have to choose to ride a bull instead of a bicycle, and you're not limited to working for companies with a similar culture or business model as the last one - at the end of the day, an engineer who gets laid off is probably going to get a bunch of severance and go back into another job pretty soon, so it's unlikely things are as bad as you think they are [0] of course, many people don't ever have bad breakups or get laid off, but expecting the best case can mean getting blindsided by the worst case
- canadian_tired 5y agoAll of these points are relevant and in my experience, true.
- nickd2001 5y agoYou can often see a layoff coming, and can play this massively to your advantage. I did this, it wasn't hard to see it, poor profit results, other people getting laid off, my skills in that job weren't core to its business, knew it'd hit me eventually. What one can do is research carefully, plan your next move. Then, when the axe falls, execute your plan. go make the move you were too scared/risk-averse to before. Layoffs are great ways to get bits of mortgage paid off, do some necessary home improvements. (In tech that is. Obviously being laid off would be a nightmare in an industry with less opportunities). Basically, always plan for a layoff. I know lots of people that say being laid off was the best thing that ever happened to them.
- cbushko 5y agoThe Two-And-Done rule is fantastic and I would take it one step further. I am correct, A LOT, when it comes to technical decisions, strategies and the Right Thing To Do™ but that does not mean that my decision is Right For The Business™. I do not have the full view into what my others see. - I do not see the CEO getting pressure from investors, board members or customers. - I do not see the Head of Development dealing with not having enough people to get work done, budget issues or other critical issues that I am not involved in. - I do not see the Development Manager dealing with people that are having struggles and thus not getting enough work done. Keep that in mind when someone says no to your perfect idea. Odds are you do not see the entire picture.
- sillyquiet 5y agoiow employ the Two-and-Done rule for tactical decisions - how can you possibly know you are right if you aren't in a role where you see the whole picture? And in those situations this rule doesn't apply.
- ChrisMarshallNY 5y agoThat's a great article. I'm 59, and have been out of the "market" for the last 4 years. I have no intentions of ever working for anyone else again. I'm fortunate, in being able to do that. What did it for me, was the atrocious way that I was treated, when I went looking for work, after leaving my previous employer; just shy of 27 years. I stayed that long, not because I'm a "clinger," but because I was damn good at my job, and they valued me. It seems that us "olds" are not popular. It appears to be personal and emotional; not based on any empirical data (Did I mention that I'm actually fairly good at what I do?). Quite strange, in an industry known for its data-driven approach. It didn't take me long to figure out that the current environment does not want me around. I won't go, where I'm not wanted, and I'm incredibly grateful to have the means to do this. I am quite aware that most of my peers do not have this choice, and it hurts my heart to know that they will spend their final years of employment, being treated in such a shoddy manner. But that won't stop me from working. I just had to set my own agenda. It's coming along nicely. I tend to develop rather ambitious stuff, and the last few years have been fun. I would not have done it, if I hadn't been pushed; so I guess it's all good.
- canadian_tired 5y agoYou raise a good point about ageism... and perhaps the concept of tenure. My advice to young guns is that never rely on your employer to take care of you. HR is there for the Company...not for you. Most "lifers" I have worked with seem to have the same results as you, which does suck. But hey, you can be a martyr or you can avoid it by not sticking around so long. It does suck...and it is unfair, but it is reality. I suppose the exception are those "public experts" that have such an impact outside of their corporate sphere, that they can stay in the same job for ever. I hope you have great fun and find enormous satisfaction ahead!
- ChrisMarshallNY 5y agoI basically stuck with it, because I liked the people I worked with, and they gave me enough free time to do the stuff I enjoy doing, while paying me...OK, for the stuff I don't enjoy doing. What I really enjoy doing, is writing code for free. The kind of code that I write, on my own, is precisely the kind of code that most modern corporations don't want. I take Quality very seriously, and that's actually an impediment, in today's coding culture.
- deleted 5y ago[deleted]
- radmuzom 5y agoNo disrespect for the author as he is twice as experienced as me. I am just entering that zone where ageism might start playing a role in whether I will be hired in the future or not. However, to me, his advice seemed to be just "Be a good slave, and you will always be a slave" with a little bit of "So good that they can't ignore you" from Cal Newport thrown in.
- zug_zug 5y agoYeah, I'm in the same boat. What's the big deal about getting fired exactly? From what I've heard, tech recruiters consider > 4 year stay at a company a red flag that you have gotten "too cozy" and stagnated into hardened habits and old tech, and personally I don't think they're wrong. Maybe things will change when I'm older, but for now I've found that being fired has usually actually been a net financial positive and a net career positive (you make 30% more and take 2 months of no pay, usually a better known company). Maybe I'm wrong, but I'm thinking a 45-year-old who has a 3-year-stint at FAANG, a 3-year-job at a startup, 4-years-at-big-co is going to be infinitely more employable than 16-years at Noname Inc.
- dragontamer 5y ago> The “Two-And-Done” Rule Two is the right number for this, not three (as the blogpost points out). Roberts Rules is another formalization of the two-points of discussion before moving on. Any particular debate can have at most, two times when any singular speaker gets to talk. After two tries, the speaker is silenced (to give everyone else a turn at talking). Two times to talk is the right number, empirically. After that, you're beating a dead horse.
- RC_ITR 5y agoHey I'm only now catching up on my comments, so sorry for the weird venue. My point was that GloFo is 100% owned by the government of the UAE (the website I linked you to).
- zanethomas 5y agoAs an even older hacker who is still working I believe he missed the most important tip: Keep Learning Always. These days I use javascript, vue, node, etc.
- SkipperCat 5y agoAmen brother... I'm 52 year old systems engineer and I dived deep into Python, Containers, Kubernetes, Prometheus, Grafana and more shiny new things. Because of this I can call myself a SRE and have no shortage of work. 6 years ago, I was pretty much only a Linux guru. Good at that but not much else. If I didn't get up to speed on these new platforms, I'd be toast.
- touristtam 5y agoThere are 2 types of things to learn; the first is mostly covered by coding patterns and the second is covering new tools. I find the latter to be tedious. No matter how similar or far apart they are from the previous iteration of the same tools, learning to use new tools slows down the productivity. It gives quick learner a false sense of comfort without added benefit of experience. Everyone wants to have something shiny to play with at some point, but this constant flow of reinvention makes it tiresome for anyone that has not encounter the limit of an existing system. I might be biased as my current place has thrown away 2 code base (one in Java and one in PHP uncool languages) and the expertise which goes with it to embrace micro services powered by python. It's been two years in the making and the new product is just barely an MVP, now overdue by two quarter. We have bled decent developers and the impact is quite noticeable when it comes to domain knowledge. Lastly it felt that some of my former colleagues have treated this job as jump board to find greener fields and I fear this isn't something too uncommon in the field.
- bwanab 5y agoThis is a good article that every programmer should pay attention to. You will get older. This is a replay of a comment I made a few years ago which strikes me as being somewhat timeless. —————————————————- I'm 60+. I've been coding my whole career and I'm still coding. Never hit a plateau in pay, but nonetheless, I've found the best way to ratchet up is to change jobs which has been sad, but true - I've left some pretty decent jobs because somebody else was willing to pay more. This has been true in every decade of my career. There's been a constant push towards management that I've always resisted. People I've known who have gone into management generally didn't really want to be programming - it was just the means to kick start their careers. The same is true for any STEM field that isn't academic. If you want to go into management, do it, but if you don't and you're being pushed into it, talk to your boss. Any decent boss wants to keep good developers and will be happy to accomodate your desire to keep coding - they probably think they're doing you a favor by pushing you toward management. I don't recommend becoming a specialist in any programming paradigm because you don't know what is coming next. Be a generalist, but keep learning everything you can. So far I've coded professionally in COBOL, Basic, Fortran, C, Ada, C++, APL, Java, Python, PERL, C#, Clojure and various assembly languages each one of which would have been tempting to become a specialist in. Somebody else pointed out that relearning the same thing over and over in new contexts gets old and that can be true, but I don't see how it can be avoided as long as there doesn't exist the "one true language". That said, I've got a neighbor about my age who still makes a great living as a COBOL programmer on legacy systems. Now for the important part if you want to keep programming and you aren't an academic. If you want to make a living being a programmer, you can count on a decent living, but if you want to do well and have reasonable job security you've got to learn about and become an expert in something else - ideally something you're actually coding. Maybe it's banking, or process control, or contact management - it doesn't matter as long as it's something. As a developer, you are coding stuff that's important to somebody or they wouldn't be paying you to do it. Learn what you're coding beyond the level that you need just to get your work done. You almost for certain have access to resources since you need them to do your job, and if you don't figure out how to get them. Never stop learning.
- throwaway290232 5y agoAnybody have any tips on how to get less angry at work? I could stand to improve a lot there.
- canadian_tired 5y agoI get angry too. I also struggle with it. I have found that thinking of myself as an Observer as well as a Participant has helped. Two very different hats. For example, when you are "in the shit" you can easily get angry. But if you consider yourself (if even for a moment) as just "watching the shit", you can gain a sense of impartiality and calm. It may be enough to get off the anger train. The second thing I do is to convince myself that I need not get angry at people. It's the process that I should be angry about. Don't get mad at people...assume positive intent. If people are doing what looks like a Dumb Thing, then perhaps there is no process/rule that allows them to do Smart Thing. I get mad at dumb processes, or the lack of smart ones. This is a lot less personal. No one wants anyone mad at them...but getting mad at a process story is a lot more freindly. It goes without saying...don't get mad at the people responsible for processes. Just illustrate, in as neutral as possible a fashion, what you perceive the gap might be. Empathize. Enable. Entrust.
- xrd 5y agoThis article has lots of great advice, and I learned a lot (as someone who has worked in the industry for 20+ years). And, I will say, these tactics are somewhat inversely effective when correlated against the disfunction of the organization. His point about getting fired even though he (made his boss fear + made his boss happy) tells me that in that organization there was a lot of disfunction. All organizations are bureaucratic and disfunctional to some extent, but in the really bad ones, I saw a lot more Machiavellian tactics that were successful. In the worst organizations, it feels different tactics are needed: look for nepotistic relationships with your "tribe," write terrible code that no one understands, or do something like that.
- SamvitJ 5y agoI think this article has a number of great points, but maybe is a bit dated for the current "LeetCode" era, where the number one attribute that major software employers look for (especially at junior levels) is timed coding chops, not backchannel reputation.
- brailsafe 5y agoI recently did one that had a time limit of 8 hours (continuous) and was an off-the-shelf thing they used from HackerRank, and exclusively React for a position that suggested generalized modern js development. I spent a while on it, it was not super complicated, but I just didn't have any more consecutive hours to spent ironing out the remaining 2/5 test cases on one of them. I'll probably get passed over. I had not reasonable choice not to, because I've been out of work for over a year, in part because it's just such a burnout inducing climb to get any job in programming, because they're all doing this.
- skeeter2020 5y agoYour "2 and done" rule stood out for me. While I don't necessarily agree with the benefit of avoiding blame I like it as a strategy for situations that come up a lot. We have an interview question that asks about what you do in exactly this situation and people inevitably focus on "being right and winning" or "picking the right vs. the wrong solution". In reality it typically is picking one of many good but not perfect solutions and then moving forward as a team. If you answered by explaining your rule I'd be impressed. Bonus points if you shared the historical basis/significance.
- kelvin0 5y agoLove the advice given. Notice, almost nothing related about specific technical skills or language, framework etc. It's all about the soft 'people' skills, took me a while to realize as en engineer. Of course, you also need to keep up technically!
- azta6521 5y agoThere is something sad in a world of abundant productivity that people have to care about job security and ageism. I enjoy programming and learning so I hope to continue to do that, but I save every penny, just in case it will be over soon.
- jnaddef 5y agoThe 2nd point, "Make your boss afraid", is a double edged sword. If you become indispensable, there is a chance you will get laid off because of that. https://www.stickyminds.com/article/management-myth-36-you-have-indispensable-employee https://www.stickyminds.com/article/management-myth-36-you-h...
- mankypro 5y agoNever mind that bosses like the pieces of the puzzle to be interchangeable, no single point of failure. Sometimes bosses are threatened by a senior subordinates mindshare and will let them go in the next riff.
- acituan 5y agoI find most of the advice too narrow to be useful. - It over-emphasizes the normativity of job security and not having missed a paycheck but if your calculus is at the level of paychecks in an era where developers are paid this handsomely, you might be optimizing for the wrong thing. Financial security and job security should not be that tightly coupled for an industry that pays above average and where switching jobs every 4 years is not a bad thing. Ride the bull in the sense of riding the bull market and get a financial advisor, save up on that surplus and give yourself your own "paycheck"s if need be. - It over emphasizes "be a good guy and go the extra mile for your boss" which is another way of saying be willing to be underpaid for the work done in the name of a fallacious goal of "not getting laid off". Having been in a massive, no-prisoners lay-off by a big name company early in my career cleared any illusion of control and loyalty. You can sing all the songs and do the dances for your employer, if say the market decides asset/profit ratio is going to be a certain number, you're out. This is a harsh reality people find difficult coming to terms with and make superstitions around what might protect them from the wrath of the market gods. You can't, and that's OK. - Branding; the transferability of your branding is overemphasized. Your purple-heart beyond-the-call-of-duty bug fixes is not likely to make it out of your manager's mind to your new recruiters. XX% of software engineers won't have any constant supply of widely applicable plus novel insights to blog about, and that is not a bad thing. Let your previous accomplishments, salary, level and title be your branding. We call that a CV and that does 99% of the work in a high labor demand market.
- UncleOxidant 5y ago> It over-emphasizes the normativity of job security and not having missed a paycheck but if your calculus is at the level of paychecks in an era where developers are paid this handsomely, you might be optimizing for the wrong thing. Note that it's called "The Old hackers guide" and he mentions he started in '86 (roughly about the same time I started in tech, I'm in my late 50s). Job security definitely becomes more of the issue as you get into your 50s. The handsome pay is usually going to the folks in their 30s. The FAANG corps that pay handsomely aren't hiring devs in their 50s. > switching jobs every 4 years is not a bad thing I've had a lot of jobs over the last 5 years and a lot of downtime as well. If I didn't have to switch jobs every year or two, I wouldn't as interviewing is awful at my age - once they see that you're "old" you definitely feel that they have no intent to hire you. Mostly I only end up working for people who are my age or a bit older as they don't have biases against people in their own age group. But my contacts are retiring and there are less people around the industry in my age group every day. At this point I'm considering myself semi-retired. Fortunately I'm in a position to afford to be semi-retired. tl;dr: the view someone in their 30s sees ("aim for handsome pay") might be very different than the view someone is seeing in their 50s ("it's getting tough to find gigs at all").
- azta6521 5y agoI have a job with about 100% job security - but it would kill me if I were to do just that - it's too boring.
- analyst74 5y agoI don't disagree with the article, but the bigger picture with job security is that sometimes it's out of your control. Shifting political winds, bad manager, bad company direction, bad economy can all cause you to lose your job. The best way to have peace of mind is financial security, which requires a different mindset.
- gstipi 5y agoWhatever applies to engineering applies to the business end of tech as well - I've enjoyed considerable longevity in sales (management) by staying humble initially but displaying very forceful convictions once I've figured out the lay of the land upon joining new roles. It really pays off to listen and stay open minded before you start enforcing best practices you've picked up from previous experience and assignments. Give yourself the opportunity to actually feel like an impostor deliberately (if only for a brief period of time)! Really dig into the reasons why things are run a certain way before you propose changes: this will set you up for success and will attract a lot of goodwill. I know this sounds trivial, but humility is an extremely underrated trait in tech, especially if paired with experience and the power to pull off change for the better.
- h_lehmann 5y agoI consider myself lucky. I'm 63 and got my EE degree in 1980. Mostly a combination of hardware & software for the first twenty years, then gradually moved into only software. I first worked for my current boss/CEO over thirty years ago, at his most recent company for the past thirteen years, and until a few months ago I was still the new guy amongst the developers. I have a lot of accumulated knowledge in our line of business, one that's not just another e-business or social media platform. I guess my advice is find unique skills in a niche business that can't be easily picked up by a twenty-something, unless of course that business is making buggy whips.
- pjmlp 5y agoSlowly approaching my 50's and can vouch for the article. Lots of good stuff in there. Also from my side, don't silo into technologies, embrace being polyglot. Being able to jump in, because X Developer expert isn't available (sick leave, vacations,...) and something needs to be done right away, can be a very welcomed help. Regardless of how one hates technology XYZ, if that is what makes the customer happy and willing to come around again, use it. Their customers don't care about your opinions. And most important, be loyal to the team, not the company per se. Many of the team members will cross each others at several companies. Companies themselves come and go.
- Abimelex 5y ago> If I did this too often, people would begin to see me as argumentative, difficult to work with, not a team player, and so on. I started getting left out of meetings where decisions were being made because no one wanted to get into yet another argument over things. Regarding the “Two-And-Done” Rule: I feel like have experienced quite the same, what made me leave the company and take a job where I know my opinion is more valued. I'm just curious if this happens to many people . I always see a good argument or discussion as a refresher for my mind, but a lot of people seem to feel uncomfortable with it.
- rainhacker 5y ago“OK, let’s go your way then. I still don’t completely agree with everything proposed here, but I think I’ve made my case, and we need to move on.” Sounds like a line I could use settling lengthy back and forth in code reviews. Curious what techniques people use to settle disagreements in code reviews.
- bump64 5y agoThe “Two-And-Done” Rule resonates so much with me. When I was younger I was very passionate to argue for things to go my way when I believed that I was right. This almost cost my first job and I got a serious warning from my manager. Now I explain why I disagree with something, lay out my arguments but eventually I commit to the group decision, made by the whole team. Even though many times things don't go my way, people often come to me to listen to my controversial opinions and often times I see that they take them in consideration, which is nice.