Hacker News new | past | comments | ask | show | jobs | submit login
An old hacker's tips on staying employed (madned.substack.com)
815 points by mad_ned on Aug 11, 2021 | hide | past | favorite | 347 comments



I’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


In 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.


> You have an increasing number of managers who have little to no domain knowledge

After seeing this time and time again, and because I was getting older, I made a conscious decision to move into management. Be the change you want to see in the world, right? Now my output is mostly spreadsheets and powerpoint, but I enable my team to do good work as I insulate them from the bullshit. I can always get down into the trenches or work on a side project if I need to scratch that creative itch.


I really respect that attitude.

I happen to be doing a security assessment on some products (PuTTY etc) at the firm (Fortune Global 100) where I am interning.

It baffled me to read a directive from management that said that we should shy away from open-source projects - I must confess that I was somewhat frustrated at the sheer ignorance in the memo but your comment allows me to see a silver-lining. I hope that one day I can rise up to management and make decisions based on greater nuance than simply saying "OSS bad and insecure".


I think the general aversion to OSS is more that there is no responsible actor. In many cases, if you integrate a third party paid solution you can file a bug on that solution with reasonable confidence it can be a priority. If you use code from another team at the company you know you can file bugs on them. If you write code yourself you have confidence in fixing it. There is a danger with integrating OSS that you have code in your stack that no one knows well enough to fix and no one is responsible for. If something breaks you might have to learn a sizeable amount of code and domain knowledge to make a fix. Filing bugs on OSS is not viewed in the same way as filing bugs on paid third party solutions as whether the bugs are a priority to an OSS solution seems more risky.

Note that large amounts of OSS is used in companies, but it's generally code that developers are expected to know well enough to dive into if need be. And code that is popular enough to be well tested for bugs and known that breaking errors in the framework will get fixes. Examples would be things like Python or Node.js.

As a manager a potential problem you can have is a major bug your team is responsible for that no one is qualified to fix and thus your only reasonable time estimate is unknown. Avoiding certain parts of OSS is often a precaution against this situation.


> I think the general aversion to OSS is more that there is no responsible actor.

I have filed many bug reports for paid software over the years. The bugs were fixed exactly 0% of the time. If they ever gave a reason, it was along the lines of "you are a special snowflake, nobody else has had that problem, so it isn't worth fixing".

Eventually, I just stopped filing bug reports.

Things aren't better with OSS, either, though I resent went bugs get closed because they're old.

Our policy with D is we never close bugs, no matter how old they are, unless we fix them or no longer have users for it (like D version 1).


> I resent went bugs get closed because they're old

I'm picturing the guy who came up with this idea sitting at his desk surrounded by unopened bills.


well, you're wrong because of all the ideas my ADHD mind ever came up with - that wasn't one of them.


While I understand your lack of success with bug reports, and I thank you for your stance on (not) closing bugs, note how the average manager got what he wanted:. A proof that reasonable effort has been made, and it's not his fault. This allows survival in a politically piosonous environment. If the bug got fixed is generally not their concern, others will have to deal with it and move on.

Besides, I once got Oracle to fix a bug. It took months and I basically had to spell the fix out to them, but it actually is possible.


Nice job! How long did you have to wait for the new software version after the bug fix?

A few months ago, one of our young devs got a PR accepted to fix a tiny little Spark bug that had been bothering us for a while. The big boss meeting was happy, plenty of virtual pats on the backs and congratulations.

And then someone had to go and ask when we'd see the fix in our DataBricks cluster.


Have you ever filled a bug for the JDK? I was at 20 emails, plus having to create accounts and give paperwork that our company had a license for a one-liner correction of a major bug when I decided to abandon and wrap my code in an exception catcher and manage it on my side...


> I have filed many bug reports for paid software over the years. The bugs were fixed exactly 0% of the time

In my experience, the big difference is buying software (good luck with getting Microsoft fixing a bug in office or windows; no one even tries) vs buying a service. If we bought specialized custom software support for some expensive hardware, those companies jump when there is a question.


They jump if you paid for a service contract. If you paid for a product, those companies owe you something fit for its intended purpose, and bugs are not that.


What's the point of keeping open bugs if you never fix them? It's not a cost free decision.


It is cost free. It prevents people from filing it again. It provides insight into later problems. It provides a place where people can ask and offer advice on working around it. Sometimes an intractable bug becomes more tractable later. It can provide a clue to a later bug report. Sometimes someone new has a brainwave on how to fix it.


That would require a project be worthwhile to stick around long enough for an opportunity for someone new to come along, let alone come along and be interested in it. It's obvious that most career programmers are only used to ("interested in"?) pushing devops shovelware onto GitHub and other forms of busywork, so it shows in their bug-handling hygiene.


They are still problems that need fixing, some day someone may be doing work on the project without knowing what to work on and having a backlog of issues categorised by importance/etc will be useful in that situation.


“ I think the general aversion to OSS is more that there is no responsible actor. In many cases, if you integrate a third party paid solution you can file a bug on that solution with reasonable confidence it can be a priority”

I know that’s what management believes but in reality it’s a complete illusion. I can’t recall a simple time where we got a bug fix within reasonable time from any of our 6, 7, or 8 figure software vendors. You get fixes only if you have paid for custom code but tickets against the actual product disappear into the void.


This is my take as well. I build and sell electronics, coded in Rust. (Cortex-M). I started using OSS HALs, device drivers, utility crates, peripheral access libs etc. Each of them had bugs, missing features, or awkward APIs. I got about 10% of my issues and PRs addressed. I now use almost exclusively internal code (with exceptions for debug tools and the cortex-m lib). If there's a problem or limitation, I fix it myself. Far easier than spelunking someone else's code, or hoping a maintainer fixes it.


Do you make the internal code OSS?


Some of it - my custom HAL is OSS, and I've published the full repo code to one of my firmwares.


And do you get any PRs/issues? Are they all solved?


I've had a few. All solved except one. I suspect only a few people are using my lib, and all are hobbyists. A particular challenge with this lib is I'm attempting to support most (newer) STM32 variants using a single HAL lib, which makes ops testing tough. (This allows me the flexibility to choose whichever variant I'd like on future projects without modifying the code base). I've published code so others can use it as an example.

Reading between the lines of your questions: I'm not throwing spears at the lib maintainers; I'm pointing out that relying on 3rd party code may cause complications. In my case, I made a decision on each individual lib.


There is a bit of a programmer trope "its easier to write code than to read it". This leads to reinventing wheels, duplicated effort, etc. When it comes to open source, I take the position that we are all in it together and try to come up with fixes for problems that I see in existing projects, even if I've never used the language before or the codebase is messy. I also think being able to work on code that came before you is a useful skill to have.


In contra other replies here, we have repeatedly sent bug reports to vendors and got productive, timely, comprehensive support and fixes: Hashi, Snowflake, Databricks, Confluent, and others. We're a Bay Area company of about 500 people, not a market behemoth in any way.


> I think the general aversion to OSS is more that there is no responsible actor.

Unless the OSS in question has an enterprise support subscription that is useful, the best responsible actor for OSS projects is all (or a subset of) your employees. They know your workload best and know the issues that affect you most and can learn the skills needed to improve the OSS that you use. Having a diverse set of companies contributing to an OSS project makes it suitable for a more diverse set of use cases and circumstances.


>reasonable confidence it can be a priority.

hahaha, you so funny


Do you think the "clueless middle managers" the OP alludes to view themselves as such? Or are they too protecting their teams so they can get real work done?

We all see ourselves as the rare exception, the one bucking the status quo and doing things differently.


Thank you for this. We have someone just like this who went into management for the same reason. He does an excellent job of it, I only wish everyone shared the appreciation for his powers of insulation and fighting in the devs' corner all the time.

Quite often your efforts aren't visible to everyone, but it's visible to some and they're thankful for it!


Echoing this. Please for the love of God get your MBA.

Its really, really easy. If you think weekend courses are going to be too much because you remember Engineering in college, I can tell you from experience that they won't be.


It may be "easy" but unless you're in the right program at the right time in your life, and most importantly, have the right career trajectory, the MBA itself won't magically "open doors" into an executive suite. Certainly it's not any faster than just painstakingly climbing the career ladder.


It depends on why you want to get a MBA. If it's for credibility - go to a top 10 school. If it's to learn - you might be better off learning on the job than taking weekend courses.


Agree. Getting my MBA was way easier than my CS degree.


MBA is a walk in the park compared to CS. Seriously.


I did business school before comp sci, and then a MSc in CS and it got easier along the way, so you may just have gotten better at the game of school


A Masters in CS is easier than the Bachelors.


A weekend MBA from a nowhere school has very little value.


Yes! It's probably just a demographics thing that will even itself out in the future. I mean: People like you will become managers and there are many programmers in the younger generations to draw candidates from.


Haha!

Cause nobody every changes, loses their edge or falls out of touch with their tech roots, right?

We just need to get these clueless dinosaurs out of power before the current woke kids take over!


> without the hassles of things like kids to take care of

That's not accurate. At 35 there are young kids, maybe even 45. At 50 they're pretty much independent, at least aged 10-12. So actually, if you hire a 32 year old dev you should be more concerned about kids than if you hire a 50 year old. So if that's the concern, only hire 18 year olds I guess, or maybe even 15.


The spread is quite wide. I got my first kid at 45 and now almost 50 working 75% to take care of two kids the rest of the time.

The flip side is that I have never been so focused during working hours as now. I’m getting quite much more done in six hours than I used to get done in eight or nine.


Yes I feel more productive than many of the younger, childless colleagues at work. In fact I really don't like going to the office due to people talking WAY too much. I have 8-9 hours and then I need to pick up my kid, not using those 8-9 hours to the fullest is something I simply have to avoid. And incidentally my least productive days are the in office days.


Actually if you hire 25-year-olds, they're probably going to start having kids right around the time you need them the most.


yeah, but the plan is: lay them off once they start having kids, and hire new 25-year olds.

source: 25+ years experience in this industry.


Can believe it. But: you don't need the whole industry. You need to find one good place to work in. Those exist. May it pay a bit less than soulless corp? Sure, maybe - or maybe not. But my 25+ yr experience shows they do exist.


Consulting industry?


> 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.

I was a fairly good programmer when I was 25. I'm a MASSIVELY better programmer at 57 than I was back then. My memory is a bit worse, and for certain kinds of problems, I may be a bit slower than I was at peak (maybe around 42-47). But hire me now, and you'll get a better programmer than you would ever have gotten from this body in the past.

And, guess what: no kids to take care of because they've already grown into fully fledged adults and lead their own lives.


One 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.


> 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.


Yes, when you look at those differences any performance drop due to age is going to look tiny in comparison.

What I have found though is a lack of willingness to put up with bullshit. Stuff I accepted as normal in my twenties I'd just walk away from now. This is probably good for the employer but maybe not for your immediate manager.


“ 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.”

True. But most people reach that point after a few years or never.


If I understand your comment correctly, I think we're agreeing (that there is a wide range [high variance] of value delivered across the population: think of a bell curve that's "smooshed" down to be short and wide).


Quite possibly. I realised after I posted that I wasn't quite sure what the axis of your plot were (I'm still not).


X axis is value delivered per engineer, increasing with X.

Y axis is a histogram of “number of engineers producing that value”, increasing with Y.

This, but for value instead of IQ: https://en.m.wikipedia.org/wiki/File:IQ_curve.svg


Yes, you hit the plateau of that curve pretty quickly. You can't just be an individual contributor and justify 3% raises every year for 30 years, when you hit that plateau on raw skill you need to start finding ways to player-coach the generation(s) of more junior developers behind you. I don't think that necessarily means you have to move into management, but it does mean broadening your definition of impact beyond LoC/commits/tickets.


1.5 to 3.0% of those 3% raises are inflation/cost-of-living adjustment, which seem like they should be able to continue forever.


> broadening your definition of impact beyond LoC/commits/tickets.

Is this the 'classic' expectation for a dev? Where I work the least technical person is the PM and everyone else comes together to determine what gets done and how it gets done.

Everyone knows the tech side and decisions gets filtered down to the rank and file. Taking initiatives are expected - I know this is likely the exception not the norm, but I hope future workplaces are more like this and less like that.


Agree about the value curve. Most developers do stuff that can be learned in a few years and then they just repeat the same thing with slight variation. There are really not that many jobs where you get challenged to grow throughout your career. It’s just repetition (like most other jobs)


Anyone in the trades is doing such a job. If you're a plumber, or electrician, or cabinet maker, or framing carpenter, or a mechanic, even if those 12 years (or 20 years or more) seem similar to people outside the field, you're learning all the time. It never stops, until you do.


It’s not like learning stops but the curve flattens out a lot. Another problem is that in tech 20 year old knowledge is worth way less than 20 year old knowledge in for example cabinet making.


> Another problem is that in tech 20 year old knowledge is worth way less

This is a widely held position, which sort of makes it a self-fulfilling prophecy. But I'd argue that it's not true. Most of what I know now that is really valuable isn't related to the technology of today or 1986. It's related to how to work, how to design systems, how to decompose problems, how to scale, etc. etc.


You might be surprised at how many companies are running 10+ year old technologies that were designed around the constraints of the 10+ year old systems that they replaced. If that's your thing, you can build a pretty strong career around being the person to keep that system humming along.


I refer to my resume as "a graveyard of obsolete technologies"


I could do the same. But really, it's also my value proposition. "What's that you say? Your org has a dozen crappy systems of questionable lineage and you need to migrate to SomethingFromThisDecade? Let me pick it apart for you and we can build a plan together." It's not much, but it's honest work. (and I happen to enjoy it...so win-win)


But this happens in tech management too. Last 20 years: CMMI? RUP? PMI? XP? Scrum? Design Thinking? Project to product management?


Also known as "1 year of experience, 12 times" (or "2 years, 6 times")


I frequently hear that, but in practically every other profession doing the exact same thing for 20 years is still valued. And the underlying reality is you can’t do the exact same thing for 12 years in the computer field. Experience is all the little edge cases that cropped up over time.


"Experience is all the little edge cases that cropped up over time."

Absolutely. I will be using this one.


This is not exclusive to dev work. Same can be said of managers.


I’ve worked with a lot of young developers and never met a 25 year old developer that’s creating more value than the average 50 year old developer with 20+ years experience. In theory sure it’s possible, but in practice it simply doesn’t happen even close to 5% of the time.

The thing is most people quit the field long before putting in 20+ years. So, I suspect it’s less about the experience than the filtering process.


So senior devs are better than 95% of 25 year olds.

Since finding a "best 5%" is almost impossible, because who knows until you hire them and they work there for a while, the best bet is to hire people who are older. Also, for a bone fide best 5%, they are going to work at the cool companies, and never will work at a sewer processing government utility company in their IT department, or work at for a local chain of tire stores with 50 locations and an IT staff of 3 people.

So, one might as well not even worry about the top 5%.


>One 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.

This can also be said of managers. Then why aren´t they discriminated by age too?


Because they are smarter and work the system. Same for sales guys, lawyers and so on. They work the system to their advantage. Developers are one of the few groups that believes in a just meritocracy.


Recently Ford was in the news here in Michigan regarding layoffs. They found emails saying if an employee is over 55, have a career of large success and as a result are paid above average then lay them off.

Ford is facing huge challenges as the entire industry has to pivot to battery powered vehicles and they want to get rid of their best and most experienced people?

This will not end well for them. I'd be just the opposite and try to convince these folks to work until 75!


That sure sucked but this was not about the age but about the cost.

They wanted to fire the most expensive people. In union shops seniority tends to go in hand with higher pay.

And I'm guessing their thinking was that the closer someone is to retirement, the more likely they are to accept a payout offer.


This is likely a direct result of the EV transition. They now have a lot of people with 30 years experience that’s seemingly irrelevant.


These days, there is no excuse to have a non-technical manager (unless you are a technical manager yourself). Software is eating the world; it is professional negligence to put someone in charge that doesn't have a detailed understanding of the technology that impacts everything about the modern workplace.

It isn't like there is a shortage of technical managers right now.

I've never had a non-technical manager, even when I worked in sales, and I've been doing this for over 20 years.


This must be industry variant then. 3 of my 4 jobs in the last 30 years have involved non-technical leadership. The exception was working for a "tools" company where software was the product. But the other 3 are at the "edge" where software enables real devices to be more modern/gadgety. In that context, software programmers are a necessary evil to en-smart-ify gadgets that have traditionally been "dumb." And letting software people be part of the direction is too much of a loss of traditional power.


That’s why I recommend that young people should try to work for a company where the CEO comes from a tech background and understands your work. It’s just natural that someone has more respect for a role they have performed themselves.


Why do you recommend this to young people specifically? Wouldn't it be sound advice regardless of the age of the recipient of this advice? Just curious why you've added that qualifier.


I guess i don’t give advice to people my age ;). getting into tech companies also seems easier when you are young and don’t have much of a resume. Having a resume with years in not interesting companies and uncool tech also seems to make you toxic.


Funnily enough some of my better managers have been non-technical. Some of the worst have been people who know enough to micro-manage you to death.


tbf, micromanaging is bad regardless of any other attributes.


The young MBA people are intimidated by people who can reject their schoolbook ideas coherently. Most of those people are older, but not all of them. I started noticing this before I was thirty, either reacting to me or to someone I agreed with who happened to be older. It only gets worse.


> increasing number of managers who have little to no domain knowledge

I think it's on the downward trend though.

Where I work, more managers than not used to be an engineer, and the younger they are, the more likely they're going to used to be engineers (or straight up converted).


Isn't the trend against this approach? It seems at least in tech, the view is that this is not so good.


> Ageism is a thing.

Indeed. I’ve been in the too while executives at a large, publicly-traded company denied specific hiring requests because their LinkedIn profile pictures “looked too old”.

On the other hand, that company was terrible to work for many reasons. They weren’t excluding older developers because they thought they were less knowledgeable. They were excluding older workers because the company knew they couldn’t trick them into working 12-hour days and putting up with abusive management practices. Young people could be convinced the bad things were normal. Older devs knew better and wouldn’t stick around anyway.


I think this hits the nail on the head. Ageism often goes hand-in-hand with other negatives and is a warning sign about a workplace. Perhaps, ageism does us older devs a favour because we'll get screened out quicker and not have the misfortune to interview at horrible companies ; That said, sometimes older devs don't help themselves. At a place I previously worked at, colleagues my age or older would make sexist/racist/disabled-mocking jokes, utterly inappropriate in the office but they'd got away with for years. The younger folks generally knew not to do this, and were offended, but then often 20-somethings while careful not to be racist or homophobic would simultaneously be blatantly ageist against their older colleagues. I got treated badly by some younger colleagues there actually, suffice to say it was symptomatic of issues in that company and I found a better job.


What did you intend by "in the too"?


"in the room" ?


Perhaps "in there too" ?


maybe "in the loo"?


Your version wins :-) Thanks for the chuckle!


I've hired a few 50+ devs and every time I regret it. Those specific devs learn much slower. They had a complex about their age that made them difficult to work with and connect with. Their work product was bad and no amount of intervention corrected course.

Being only in a senior role that late in life itself is a red flag.


This is incredibly wrong and I hope you get an opportunity to meet people to change your mind.

I had an older employee in his 60s work as a dev even as he was slowly dying of cancer and receiving treatment. He showed up every day, doing his work, proudly contributing code even at deaths door, until his last day. He had worked 30 years in IT and was a senior dev and there was nothing wrong with his productivity, attitude, etc.

I was blessed to know him. I hope you find strength to open your mind and realize there are wonderful people of all sorts and ages all around you.


Your anecdata of one doesn't sway my real world experience. Cognitive decline starts at 25 for everyone, and no amount of midwit theory that everyone is equal will change that.


In this thread alone you said “hired a few” older devs, and yet discount one person’s experience as “anecdata” while you claim to have “real world experience.” The difference between the two is not “a few” - 1.

I’ve worked with amazing devs and hardware engineers from every age, including 50 and up. I’m guessing your experience with older devs “having a complex” was part of their response once they realized that you are just an asshole. As competent and experienced professionals who have dealt with many assholes before you, they adjusted their dedication to your project to reflect how little they cared about it once you became part of their job. They did enough not to feel guilty, but not so much that they risked working with you for longer than it took to find a better job.


I like how the story of the "amazing dev" above only tells about how he accomplished checking into work everyday and battling cancer. Every senior dev under 35 that I've hired has a much better narrative surrounding how well they work.

I also like your story about me, because there isn't a single person who works for me or with me that would describe me as an asshole. I'm just an asshole to morons in denial on this flaming turd of a "tech forum". If you don't plan for your expiration date in the programming trenches, then you won't see it coming when it hits you hard.

There's a reason the average age of a programmer is 39 just like there a reason why the average age of a construction worker is 38.


The median age of the entire US labor force is 42.5, construction is 42.9, and "Computer systems design and related services" is 40.6 according to the BLS.[1] In other words, on the scale of human life expectancy, the difference is probably negligible. Even if you were being serious and earnest, you're basing your hypothesis on data that is either incorrect or outdated. (If you actually meant to include mean instead of median, your source isn't a robust data analysis by definition.)

> I also like your story about me, because there isn't a single person who works for me or with me that would describe me as an asshole

If that's true, it's because you play a different character in person. Tell them about how you are "an asshole to morons" on a "flaming turd" of a tech forum, and how amused you were at the example of a terminally ill cancer patient continuing to work as evidence that old people can develop software.

[1] https://www.bls.gov/cps/cpsaat18b.htm


My data is incorrect, despite the closest you could find to a meaningful dataset is "Computer systems design and related services". Lol.


That's the industry classification with the largest number of "Software Developers, Applications" occupations from the US Bureau of Labor Statistics[1]. As far as I'm aware, there isn't a comprehensive analysis of occupations by age based on BLS data. I'm guessing your source is a survey that probably has a margin of error larger than the difference between any median ages provided by the BLS for industries that employ the most developers.

Taking the industry as a whole is representative of a typical career path. If your narrow point is that people who have entry level positions are young, well, of course.

If you've got a better dataset than the BLS, I'm sure there are many people who'd be interested, and you should share it.

[1] https://www.bls.gov/oes/2018/may/oes151132.htm


I've got full access to Payscale's data sets ;)


> there isn't a single person who works for me or with me that would describe me as an asshole.

...to your face. But you have no idea what they privately think, or say to each other when you're not there.

(I'm with GP, I too guess what they think isn't what you think they think.)


You probably hired a bunch of crappy young devs as well but if you are biased against older folks you will notice it more.


So I should measure geriatric developers against junior developers just to be fair?


Maybe measure - and hear me out on this one - all team members equally, factoring in their total comp. How much more productive is the team for having the individual on the team, regardless of their demographics.


Maybe - hear me out out on this one - I did and that's why they were fired.


Why measure anyone? Measuring is for the insecure. Just trust your gut, obviously you know best...


I wish I could watch the end of your career pan out for laughs. Convinced that you're still as competent as you were when you were younger, but those assholes in charge of hiring won't give you a chance.


Lol ok buddy...


I've had the opposite experience. Most experienced develops tend to learn things much quicker because they've got a lot more experience learning new things. I'll willing to bet the third or fourth programming language you learned came a hell of a lot quicker than the first.


Problem is management is a pyramid (there is no place for everyone, even the best of them) and in some cultures (I´m in South America) a wealthy and contacted people club.

Even if you are really good, you will not get promoted if you came for a non-wealthy background.


What's above senior? Senior++?


Staff, principle, fellow?

More seriously I think something that can happen with older folks is they might fall into working in a single place with a single set of tools for a very long time so when they transition to something different it may be hard to adjust. Not necessarily because “they are old” but because if they did one thing and only that thing for 15 years it’s hard to change.


They could have had those roles already. Once you're in those advanced IC type of roles, there aren't really a lot of places that you can go. A lot of the time that role depends on your domain experience within the company -- Usually to "move up", you have to go down a role to a bigger/more-challenging company.

Thus at BigCo, hiring senior devs of advanced age should make sense to do.

s/a staff engineer/architect.


This is entirely dependent on the company. Netflix has one level "Senior Software Developer". My former employer only went up to Principal Developer. My current gig has one Senior Staff Engineer, me. The thing is, I didn't get better in the month between leaving my last gig, and starting this one. So these titles are a bit ambiguous.


Many companies don't have positions titled staff, principle, etc. A lot just stop at senior, or use numbers, etc. My current shop has SE1,2,3,4,5,6. 4 is what most tech companies would call a staff engineer, 5 a principle, and I'm not sure if we actually have any 6s at the moment.


Numbers are equivalent to titles. You presumably don’t have senior as title either.



Master of the Universe, of course.


Principal software engineer. Or software architect.


Many companies do not add fancy titles

sometimes it's just junior, regular and senior programmer


For those who haven't yet experienced ageism, it often starts for you when the hiring manager/director is younger than you are. Beware of the age of the bosses when surveilling a potential new gig.


And you don't have to be 50+ to experience it. My former 30 year old self with a brand new baby had a 25 year old manager, and experienced it constantly. He just couldn't fathom why I wouldn't answer his random slacks at night, or why I thought beer taps, ping pong, and happy hours weren't suitable replacements for good benefits and incentive packages.


Although this isn't the usual use of the term, your comment is a great example of the importance of a manager that values diversity. You can overlook, and drive away, really good employees for really bad reasons. It's not likely that a response to a random slack in the middle of the night had any value to the company's bottom line. Managers that can't accept that not everyone should be like them are bad for the company.


You highlight another good point, in that ageism is just a symptom of a broader psychological phenomena of "othering" others. I suspect that even if I was indeed younger than my manager, simply having a child and entering a new life stage with newer, more important priorities caused me to be treated differently. In a way I think the manager just wanted people who are just like them because they were a lazy manager, and wanted an easy way to relate to others rather than the hard work of understanding other perspectives and experiences. A ton of companies I have worked for preached diversity of thought, opinion, and background, to the wazoo and very rarely have they practiced what they preached.


This is real diversity--some single, some married, some with kids, some without, some older, some younger, coming from all different educational backgrounds, and living in different communities.

If everybody went to the same handful of colleges, is roughly the same age, and lives in the same trendy suburb, it doesn't matter what color they are. That "diversity" is literally skin-deep.


My experience is that ageism only kicks in when the company culture is overtly focussed on a sort of "work hard; play hard" ethos. If the key influencers in the company enjoy working with a banterish atmosphere around them, then anyone over the age of 40 (and all women) are in for a stressful time.

Thankfully, there are companies out there which do value older workers and will make the effort to encourage a more diverse/inclusive working atmosphere.


We had a banterish atmosphere (lots of smack talk across the cubicle walls) with almost everyone on the team over 40. But it was grown-up banter, not high school banter. It wasn't passive aggressive, "hah hah only serious"; it was just fun banter. If we really wanted to communicate something to someone, it was handled very differently.

And when a woman joined the team, well, there wasn't any sexual harassment or sexism. But don't turn your back on her when she's got a nerf gun...


work smart, play hard.

automate whenever possible.


I'm in my late 50s. All the jobs but one I've had over the last ~10 years (there's been about 5 of them) were where I was hired by people older than I am. The one job where I was hired by a person in their early 30s went spectacularly, terribly bad (only lasted 8 months before I bailed and I really should've bailed at 2 months, but I thought I needed to try to stick it out because "that's what you're supposed to do".).

It's also a lot easier to get hired by people who are older than you as they don't have the same biases against older devs... but at my age there are getting to be fewer and fewer folks older than me as they're retiring at a good clip.


> Beware of the age of the bosses when surveilling a potential new gig.

This is also a form of ageism. Ask questions to find out how people act rather than relying on their age as a signal.


This is very true. It works both ways.

Don't dismiss a younger person's ideas as naive without consideration, just like you shouldn't dismiss an older person's ideas as outdated without consideration.

Being older doesn't automatically make you correct, but neither does being young.


+1 and, if as an older dev you show younger manager(s) that you respect and empathise with them, often they'll love you for your experience and perspective. One thing is to "meet them halfway" , not make them feel threatened. I love my current job so I hope to stay a long time, but, if I was interviewing with someone much younger, if it felt relevant I might ask them if it bothered them about my being much older, and what I could do to alleviate any concerns. That's the sort of frank conversation that might be good in interview (possibly not legal for the interviewer to start that topic, but OK for interviewee). Isn't a lot of this just that people simply need to TALK to each other. ;) Not just older and younger devs but democrats & republicans, different gender/ethniticty/religion , drivers/cyclists etc etc ;) This problem is as old as the hills!


I was precocious/fortunate so I ran into ageism being “too young” to be something like a Lead a couple years ahead of my peers. In part because I worked in college, but more importantly because that team was so well run, and saw the wisdom in trying out some of my ideas to make things better. So I came out into the world both with programming experience and practical project management exposure.

“They” want very cookie cutter people. The more you try to control things, the fewer pleasant surprises you get.


Aren't what you're suggesting also a form of ageism?


How do you parse this out in an interview?


I'd go with something along the lines of: "I'm looking for a company where I can show up and work hard during the day, and go home to my family at night. Will that fit the culture here?"


Oh god, that can’t be something anyone can get away with asking. I don’t have a family of my own, but I’m tempted to just fabricate one so I could actually ask something along the lines of what you are suggesting.

‘I have a family, how do you guys adjust cadence for people with outside commitments - eg let’s say I need to leave every day at 5’.

Gah, there’s no way to ask without setting off the alarm bells with these bastards.


> how do you guys adjust cadence for people with outside commitments - eg let’s say I need to leave every day at 5

This is actually the problematic mindset I'm trying to avoid. I don't want to work at a place where leaving at 5 is "adjusting cadence." I want to work at a place where management sets appropriate timelines, and we work hard to meet those timelines -- during the work day. The company I work for right now has a culture of work hard 9-5 then disappear. It's great.


I'm a 23 year old software engineer and I ask this question on every single interview. It doesn't matter that I don't have kids and don't have to go to bed early every night. I have a life unrelated to my job, and I act in the belief that everyone else also does.

I can't say for certain whether that's cost me a job before, but I'm also probably not missing much if that's the case.


I'm not a dev but the last time I got hired (current gig) I straight-up told them that I'm expensive and creativity is time-consuming. It went over well! You might be surprised at how much bluntness hiring managers can take.

The key thing is really BATNA because that gives you the confidence to say what you've gotta say.


You might be surprised, I often lead with an ambiguous "so, how's the work life balance here?" and more often than not interviewers jump in with a fair amount of info and sometimes even "knowing smiles". I don't interview with startups though, so ymmv.


Gah, there’s no way to ask without setting off the alarm bells with these bastards.

That strikes me as a good indicator that you probably don't want to work there. Why is it unreasonable to ask if you are regularly expected to work more than 40 hours per week?


I'd not bat an eye at someone saying this. Some of the most productive engineers I've worked with weren't pulling 50+ hour weeks.


I'm actively discouraged from working outside normal hours, FWIW. They don't want people to burn out.


If that doesn't go in, well probably it isn't a company that respect my values anyway, and unless I am in trouble of needing a job right in the moment, well there are other opportunities.


You mentioned anger. I've found one of the hardest things to do as a male in his mid 40s is resist the anger that arises in response to nearly everything unexpected, unintended or challenging to my thinking. I never was an angry person, but somewhere around 43 I noticed my first reaction to many things was anger. It is a very blinding, unproductive emotion.


I have noticed something similar and I'm "just" 35. I think the best way to explain it is that I don't usually get angry, so when I do, I don't have much practice and the emotion tends to linger. The problem is not with anger per se, but with violence and loss of thinking. You should practice being angry and expressing it, I think. State your anger, explain what's wrong and tell people you don't want to stand for it. There is a difference between being an angry asshole and just being angry.


I had an anger problem as well. It did great damage in my life and to the lives of people I loved and still love.

For me it was helpful to get therapy for a few years from a “No More Mr. Nice Guy” therapist. You can search for information on Nice Guy syndrome & Dr. Robert Glover.

I’m definitely not saying that this is your issue. I’m only saying you might want to check it out.

Joining men’s groups helped me, too.


I'm going to say something not to be flippant, but in the spirit of being helpful, and I'm being genuine in my question: Have you considered seeing a therapist?


Ageism is a thing but I don't think it is always due to the fact that you are "old". Companies turn old people away because they do not want to pay for "experience".

Why pay twice as much for an experienced developer when you can get a fresh new grad that is "just as productive"? Companies often ignore the fact that there is an experienced Senior Developer sitting in the corner telling that productive Junior Developer what pitfalls to avoid and how to get things done.


And then there's the whole thing about measuring productivity. It's very hard for many managers to understand the qualitative status of a codebase, and to connect future task effectiveness with past decisions that affected that quality.

So the average manager doesn't actually know how to judge productivity. I don't think they think they know, and just are mistaken. I think they know they don't know. So what do they have to go on? Pay, and conformity with their own set of best-loved personality traits (called "cultural fit").


> It doesn’t pay to be the angry, unapproachable person in life.

Besides the ageism thing (because I'm still relatively young so it doesn't, admittedly, affect me) I've noticed the same exact thing about cynicism. If you're always angry you will eventually only see reasons to be angry because no one else will keep interacting with you. Similarly, if you're a cynic about everything you will soon find yourself in an environment that only reinforces your believes because everyone else gets tired of it


It's something that frankly scares me about the career. I'm still young enough with lucky genetics that still get me carded at the liquor store. Yet, I really fear that in the future I'll get rejected from a company because "We are worried you won't be able to learn the new tech".

I've been saving aggressively for retirement for just that reason.


You're doing the right thing saving aggressively, but if some idiots would reject you because, say, you're 54 years old (the age at which Beethoven finished his 9th) - then I'm sure there would be less idiotic people you could work with.


This 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?


> 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.

This is huge. I am the most senior dev in an organization of about 40 and one of my favorite things to do is to take an idea and hand it over to a junior dev to run with, then completely give them all credit. It is a huge boost to their confidence, they appreciate the gesture and public praise, and your bosses are well aware of what happened even if you never say anything. Amplify your impact by lifting others up.


Doesn't that feel incredible? Just one win like that can make a whole month or more of happy thoughts for me. I benefited from a manager like this early on...never forgot. Now, when I can, I pass it on.


> I worked with a few masters of this craft, and honestly, they are all magic on any team.

Any advice you'd like to share regarding this?


Sure. Let me clarify first: The craft I refer to is the ability to create clear, detailed diagrams that not only document a system (like a layer 3 diagram), but also to express a series of ideas or concepts that a group of people is trying to wrap their head around. Effective use color, metaphor, and just enough text. These people obviously are not just artists...they need to understand what they draw. This is rare skill. Pictures can sell ideas, gain consensus, and move things ahead faster than a dozen emails and conf calls. Especially with Management. You won't get the attention of management with a 20 page dissertation...much less change their mind. I know, I have tried. In one case, we were trying to convince an army of execs to invest (substantially) in a large re-write. We had explained in detail, why it was needed. In the end it was a single diagram that sold our idea. We showed them how ugly the code base was with a cyclic dependency diagram. That hit them square in the eyes. We got the funding after that.

These people are hard to find...but you can (as I have) try to emulate them. I can suggest some books...I started with Edward Tufte's. Beautiful diagrams...and why they are beautiful. You can also look into the various "Napkin Books" from Dan Roam.

When I find a particularly amazing diagram, I keep a copy of it for reference. It helps me structure ideas and how I will communicate them to my leadership or my team. You can, with care, put an awful lot of data on a single page.

Again, make a lot of diagrams. If a concept, workflow, procedure, etc moves from unknown to known (mechanism by which this happens is not important) , draw the picture and send it out. If it never gets used again, at least you practiced the drawing and people know you can do it. Develop a style. A color palette. Certain styles of arrows. The list goes on.

Tooling: I love Visio. Damn, it's a fun tool. There are a few web-based tools... Omnigraffle, Lucidchart... not as good. At least for me. You can bang stuff out fast in Powerpoint, too. I keep a big pile of templates that I have massed over the years. Never used photoshop...not even once. Although, I keep inkscape and gimp around if I have to muck with actual images...but I really try to avoid that.


> Edward Tufte's. Beautiful diagrams

Did you mean _Beautiful Evidence_?

I also think diagram skills are impressive but almost every time I try to get my understanding into a single page diagram I just gets lost along the way and the resulting diagram lacks just One Thing to make it really illustrative but I can't pin it down.


My bad. What I should have said was "Edward Tufte's books. They contain beautiful diagrams". LOL...Didn't know about "Beautiful Evidence" until you mentioned it.

I know exactly what you are feeling trying to get that One Thing. It's what separates the good stuff from the great. I don't try to show everything on one diagram... even if it fits contextually. If you force people to have to think too much when they try to unpack your diagram, they lose interest. Draw, edit, adjust. After many years, I have a few "general starting points" in my head, and go from there. I still need to edit a lot...but I get there faster these days.


That all resonates strongly with me.

I've had two employers where this skill was highly valued. (I even had a boss at one, who did his diagrams in effing MS EXCEL - not pretty, but often simple and effective). Most people wouldn't think of using Powerpoint, but in fact, as you say, it's a particularly effective tool. At least for relatively simple ideas.

Then I've had a couple of employers where absolutely NOBODY gave a crap about diagrams AT ALL. (as in, nobody ever did them, and everybody was constantly confused about what we were even doing). Any diagrams I encountered were halfhearted attempts and incomplete, and almost always out of date by at least a year. I tried to fill that gap but it just wasn't in the culture there.

I'm at a new place now that seems to have a better culture and I'm hopeful.


Any suggestions for great diagramm site/catalog (like dribbble for designs)?


I'm not quite as far along as you, but this deeply resonates with my experience. Great writeup, thank you.


Happy to help...at least a bit.


Thanks, 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.


> Be the "Ferris Bueller".

I don't follow. Which characteristics of Ferris Bueller are you suggesting to emulate?


> Oh, he's very popular Ed. The sportos, the motorheads, geeks, sluts, bloods, wastoids, dweebies, dickheads - they all adore him. They think he's a righteous dude.

https://www.youtube.com/watch?v=mHa1zTLrXO8


Beat me to it. But yes. Especially the wastoids.


The "What are you still doing here? It's over! Go home!" part. :D


That'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.


> It appears to be personal and emotional; not based on any empirical data

I don't think that's true. I think you're conflating ageism with bias against someone who worked at one place for a really long time.

As a hiring manager, I'd be excited about talking to someone 50+ and the experience they can bring to the table, as well as their unique ability to mentor me as a manager because they have so much experience being managed.

But I'd be wary of someone who worked so long at one place, because I've worked with people like that, and it usually doesn't go well. They tend to believe that the way things were done at their last company is the only way things can be done. They were so senior at their previous company that they always got their way simply because of their seniority, and do not have a lot of experience being the new person.

Someone who worked that long at one place would have a high bar to clear, because I'd need some pretty solid proof that you worked on projects that required you to learn new skills, that you had experience working with different groups of people and different managers with different styles. All of these things I can assume are true with someone who has had multiple jobs.

And lastly, while you have a lot of experience, it's not a diversity of experience, at least not like someone who has worked at more places.

So all told, I'd rather have someone with 30 years of work experience at four or more companies than someone with 30 years of experience at one company.


"Company" is a bad proxy for what you're actually looking for. At a sufficiently large company, the experience from one office to another, one business unit to another, even just one team to another, can be drastically different. In situations where the company primarily works contracts for specific customers, the culture and processes of a particular contract might even be set by the customer much more than by the company.


Most folks don't even bother going back through my posting history, to find out a bit more. I tend to "overshare," because, basically, I don't give much of a hoot, anymore. The folks that matter, know me.

No one ever seems to follow any of the many links in my HN profile (except, every now and then, I get spammy LinkedIn connection requests).

As it turns out, I happen to have a wide variety of experience, but one common factor, is that all of it has been focused on shipping software (even my side work).

So, yeah, I guess I am a "one trick pony," but that one trick, is a lifetime of ship. I've heard that can be useful.


Well, you still didn't refute his position that this is not based on empirical data, just a few of your limited data points and personal bias (which is neither good or bad; just something we all have).

>> , I'd rather have someone with 30 years of work experience at four or more companies than someone with 30 years of experience at one company.

Experience means depth and/or breadth, so what you're really saying is "I want someone with 30 years experience, not 30x 1 year of experience. Multiple companies increases the odds that they'll at least have breadth".

This is a valid strategy but still a bias. There was a time when many people worked at the same company for their entire career as the desired path, not some form of settling or indicator of limited skills. It's only a generation or two that has not experienced this.


> and do not have a lot of experience being the new person.

I'm almost always 'the new person', and have rarely been on projects more than 2-3 years. I operate as an independent - sometimes solo, sometimes with a team. Most team projects have not gone more than 2-3 years, some solo projects have gone longer - 4 or 5 was about the longest. The pace changes over time - initially a lot of work, then some transition to maintenance, slower feature rollout, etc. Then... another project comes along, and ... you're "the new person" again, with more experience about what's worked and what hasn't.

I can not imagine working one place for 27 years. It boggles my mind. I've had to learn to accept that I will never get one of those '20 years of service' plaques I saw on TV shows as a symbol of "the company man" sort of thing. It's just not possible. I have had 20+ years of self-employment, in spurts, although the last round has been going on 13 years now.


I have found when older workers are not popular with leaders it makes a statement about the leaders, not us old folks. Some leaders don't like having knowledgeable, experienced people around who have enough talent to critique their decisions and leadership styles. They don't want mentors, they don't want critique, they want to control their organizations. So they don't like old folk who have been around enough to see through whatever persona they are projecting and see them as just another person doing a job.

Other leaders love having experienced talent around. But if a leader doesn't want me, I honestly see it more as someone who has their own issues to work through, not a negative statement on my talents.


You 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!


I 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.


I can tell you with certainty that there are indeed cultures that take code quality seriously. In fact, almost above anything else. However, the work itself may be uninteresting to you. Life in tech for me has been a series of impedance mismatches. I love diagrams... I keep an Ikigai Venn diagram on my wall. It helps me focus and evaluate.


I find that I am happier now, than I have ever been.


I don’t know how anyone here can accept that. Are we all planning to never get old? We can’t do this job until retirement? We need a career change mid way? Is anyone warning the younger generation that this is only half a career?

Seriously, what the fuck is everyone’s plan?


I've been IT since I abandoned the restaurant biz in the 90s. So I have roughly 25 years of experience, and look forward to my retirement in 8 years. I've worked at three startups, and two large enterprises.

There are a lot of IT jobs in non-FAANG companies that place more value on experience and domain knowledge, but they're not as glamorous or high-paying. Midwest companies, or places like banks/insurance companies. Stable companies that tend to change at a slower pace.

This can be good or bad depending on your personality and professional drives. I've always had a bit of paranoia about job security, but looking back, that's usually been a result of imposter syndrome.

The one thing that has helped my career tremendously is being generally agreeable. No one likes to work with the asshole rockstar, but someone who is easy going, shares credit and helps keep everyone as positive as realistically possible is valuable. Just make sure your boss sees this in you.


On the contrary, the companies in FAANG are exactly the kind of employers that highly value experience (and pay for it). If you have a wealth of experience in a field, the easiest way to get paid for it is probably FAANG. You still have to be at the top of your game though, regardless of age.


This is either wildly out of touch or just wrong. Everything from their recruitment & interview process to the work practices to the perks is geared towards younger people. My current employer is a great example: I was trying to get short-term disability for a 20-something who suffered a back injury and found out the company had voted against adding ST disability (who needs that?) but no worries we have ping pong and beer on tap, plus a weekly hair dresser who visits the office.


Now, that is a sad story.

I hope that they were able to get help, because early back injuries have a habit of coming back to haunt you, later in life. I have a bad back from a tweak I did, when I was 18. Nowadays, it is an entire new universe of pain. Back then, it was just a little twinge.


Me too! I hurt my back in my 20s and it plagued me for years.

Don't ignore back pain, get that taken care of.


what the fuck is everyone’s plan?

Mine is to achieve financial independence by living well within my means, saving a lot of my take home pay, and investing that savings into index funds.

Having that basis of financial security will, at some point, allow me some freedom to consult at my leisure. In the meantime, it gives me the freedom to leave a job if it turns out to go south.


> Mine is to achieve financial independence by living well within my means, saving a lot of my take home pay, and investing that savings into index funds.

Bingo.


It's working great so far!


You better hope the market continues this tear ad infinitum, 'cause nothing else pays any sort of return that you can survive on.


It won't, but it will allow a buildup that is going to survive the correction. I know that one of my funds has never made less than 6%, and that was in 2009. It has done considerably better, since (and before). I've been saving and investing 25%-40% of my income for over 30 years.

If it all goes down the drain, I am quite capable of doing a whole lot of stuff.

The classics are always a good bet.


Most folks don’t plan to live purely on the returns.

If the typical person works for 50 years, and you saved/invested 50% of your income for 25 years, then you’ve effectively matched both the means and the cost of living of someone making half your salary.

As a software developer, it isn’t unrealistic to plan to retire around 45, for example.


You better hope the market continues this tear ad infinitum

Capitalism has a way of doing that, in spite of its momentary lapses and corrections. (Wish the same was true for health care.)

Index funds are a good way to make sure that someone else is getting paid to do the hard work of investing for me.

I'm cautiously optimistic.


Presumably that is one reason that the FIRE (Financial Independence, Retire Early) idea is so popular in the industry. People don't expect to be able to work to age 65, so it's best to plan not to.


I heard in real life "if you are over 35 you should start thinking about another line of work" .. in all seriousness, thirty-five..


I believe it.

For myself, I love developing software. The design, problem-solving, coding, testing, but, most importantly, seeing folks use it, and knowing that my software is A Good Thing.

For most of my career, I was a manager in my "day job," which meant that my tech chops were barely exercised.

My company didn't have a "shower clause" in their employment contract, so I could work my own gig. I deliberately avoided making money, and I also deliberately avoided writing anything that could compete with my company, or make them look bad (Which I easily could have). It was a matter of Respect (for me).

So I did open-source stuff, for over twenty years. I developed a fairly robust system that has become the de facto world standard for a particular demographic, and a few apps and whatnot, around it.

I have also developed a whole slew of SPM modules, which are really high-Quality. I use most of them, myself (eat my own dog food), so their Quality needs to be "top shelf."

I wrote and released over 20 iOS (and Watch, Mac, and TV) apps, since 2012, but I'm down to just a couple, nowadays.

I'm writing a fairly ambitious native iOS app, right now. It's the frontend for a fairly intense set of servers. I've been working on it for a year (and an additional seven months, writing one of the servers, and the other server is the one I mentioned previously -I've worked on that for over ten years). I feel that it is just getting to the point where we can start refining the UX. I have been establishing the infrastructure, to this point.

That's where my heart lies. I'm actually a very good manager, but I don't love it, and don't miss it.


Was this in the front-end web development world? Because it’s not the case in the rest of the software industry. Tell some 35 year old embedded programmer that they are “too old” to write CAN bus code and they’ll look at you like you have three heads.


Die in the climate wars, probably.


If you are a U.S based dev it is quite possible for you to gain financial independece by your mid 50s. You can then work at anything to pass the time, become a school teacher idk. For European/ROW devs the salaries are way lower and the problem is more pronounced.


Germany, if you go for big boring corporate IT in a mid-sized metro area instead of the supercool Berlin startup scene, and tune out peer pressure to take the “awesome” company lease deal on an A6/5-Series.


Wait, German companies give tech workers the opportunity to take out a lease on an Audi? That's a new one.

I don't know any US tech people that get a company car.


Can you realistically retire at 55? What's the salary range in say SAP?


Not sure about SAP, but I’m on track for 55-57 with a good margin of safety. I know mostly about the IG Metall ERA Manteltarifvertrag, which covers employers like Siemens and Bosch (and mine). The levels differ by region, but at my employer in Bavaria, recent CS/MIS grads would start at EG 8 or 9, while software engineers and IT admins with a few years of experience would start at 10. A senior software engineer or data scientist would probably come in at 11 or 12, and might be able to negotiate “außer Tarif” (higher pay) if particularly sought after. After a good first year, you’re likely to get bumped up a level and/or get a performance raise of up to 28%, re-evaluated annually. Pay in Bavaria looks to be a bit higher than most other regions. You also get 30 days of vacation on top of a lot of state/federal holidays, plus extra vacation money in June and December.

The base pay tables: https://www.igmetall.de/download/docs_MuE_ERA_Entgelte_Juni2...

(Edited to add) and at least the rates for Bavaria are for a 35 hr/week contract. Multiply by 1.14 to find the rate for a 40 hour contract.


Another thing that helps with retiring early here: lower base costs. We were able to buy a row house within walking distance of an U-Bahn station, which makes it easy to live with one car and possible to live without, and it will be paid off when I’m 50. Smaller cities still often have usable bus systems.

Health insurance is not the single-payer utopia some in the US make it out to be, but the public option being default puts a check on the private insurers and even full retail medical costs are usually much lower than in the US: my c-section plus 3 day hospital stay would have been about 5k EUR.

Having my “happy surprise” baby at 40 in the US would have killed my “retire at 55” dreams from fear of college costs. Here, it merely delays it a bit, because we’ll need to pay his living costs for a few more years, but not monstrous US-style tuition costs.


When did you buy the house? 2021 prices are not 2011 prices...


That’s true - we bought in late 2015, and at that point, we’d been looking for over a year and had missed out on two houses because we weren’t buying in cash and had to wait a few days to get the mortgage approved. Going by current asking prices in our neighborhood, we’d have to pay 30-40% more now.

There’s a correction in the offing, but of course, I have no idea when it will be.


Fear not and do not panic :) If you build decent skills (especially open source stuff, not fads and things where there's vendor lock-in), and you're generous, kind and helpful to other people, and do the stuff the original article said, you will always be in demand. Well, I'm not too far off 50 and not had much of a problem yet. There's the odd person that is probably age-is to me, but if I was 25 those sort of people would probably be mean to me for some other random reason. It doesn't hurt to try to avoid bad things that develop in some people with age e:g anger, cynicism. I think those probably come from too many years of work without enough breaks. So, make sure you get enough time off!


"I always knew everyone ages, but I thought somehow, in my case, an exception would be made."


That's what's so weird about SV ageism (actually, I live in New York, and tech ageism in NY is much worse than SV).

I won't wake up tomorrow and suddenly be black or latino. I probably won't turn gay (I've had my chances, and ignored them, so I'm stuck in boring old Heteropolis). I probably won't wake up a woman (although it is -technically- possible).

I will, however, wake up tomorrow, one day older than I am today.

We all will (God willing).

I'm not sure that folks are realizing that they are setting up a system, that will, sure as the swallows return to Capistrano (until climate change alters that), end up being the petard, upon which they, themselves, will be hoist.

It's like Robespierre, and his fun toy.


Make hay while the sun shines. Isn't that pretty much everyone's plan, regardless of what their job is?


I feel like deep down inside, this unspoken time limit is contributing to all the burn out we read about. When you have such a short window, it amplifies the pressure.


It appears to be personal and emotional

I'd be interested in hearing what you think these personal and emotional factors are.


not as old as the OP, but up there, and they should be pretty obvious: older workers are in completely different phases of their life, share few of the social aspects that younger workers find important or critical, and (lets face it) we're typically in a different place physically.

So much of career advancement is shared social & cultural values and norms, and we're out of sync with a workforce that skews significantly younger.


There's also a great deal of anger at my generation (and the one before). Not all of it is misplaced.

But I won't get into it. Anger breeds anger. I am not stereotypical anything. Most folks, here, seem to develop an entire personal narrative of others that post here, based on one or two posts. I have the habit of doing that, as well, but I deliberately ignore it, and explore the HN profiles of folks that interest me (or attack me). I generally find out that we actually have a lot in common. Sometimes, I have even made friends with people that started off, hating my guts.

I'm a weirdo. I don't really fit any templates out there -even good ones. If people get past the age thing, then they generally seem to think that I'm "hiding" something, or being an overbearing ass.

Might have a point. My ass has become more overbearing, as I have gotten older, and I believe that most folks prefer that I keep it hidden. It's not pretty, when I show my ass.


Ha, 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.


When I onboarded at Intel in 2005, they had a similar rule called "Disagree and commit." I've generally always followed the same rule, long after I left Intel.

But, to take it a step further: If someone wants to do something a certain way that I don't agree with, I give them my professional opinion, and then I tell them that it's their task, and overall I trust their hands-on opinion more than my hands-off opinion.


"Disagree and commit" is also an Amazon leadership principle and it's one of my favourite because it really help with internal discussion by acting as a wake up call for you or the other person.

Saying: "I understand that you disagree with my plan but for this one I am asking you to disagree and commit so we can move forward" is surprisingly effective when used from time to time.


I love this rule! I try to do the same thing. I look at it as an investment...long return. Arguing to win daily is a fools game. As you say, make your point and watch things unfold. Over the long run, if your guidance along the way would have have been correct, well...the arguments stop eventually. The downside is that everyone assumes you are always correct...which is bad. Which means, you need to frame your guidance with some form of caveats/probability.


We have that one at Amazon. It took me quite awhile to realize that it meant in the "two and done" sense used in the article, and not the "I will literally die on this hill" sense. Younger me burned a lot of political capital fighting tooth and nail to change the course of a machine which had its tracks laid out by management with motivations separate from my own.


+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.


"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.


Yeah, "disagree and commit" isn't a way to dodge personal responsibility.


The part of this rule to watch out for is the "One is, it kind of releases you from responsibility if things should go wrong." Oh no it doesn't, unless you CYA. And by CYA, I mean documentation. I always send an email afterwards stating what was discussed, as I understood it, and requesting that everyone confirm that I understand it correctly. This has the benefit of confirming my understanding, as well as covering my ass if things go wrong.


I should adopt that for here on HN. I sometimes wind up in conversation with zealots (Churchill's definition: someone who can't change their mind and won't change the subject). So: Two and done. If I give them reason to change their mind, and they won't even listen, then two-and-done.


"Two-and-done" is good, but many times you run into people who don't give a s*t about the outcome. They're just making their employer their own personal debate club. "Oh you think X? Then I'll propose Y. Let's have a debate! Yay!"

So always follow up after a "two-and-done" experience to see if the people who argued against you are suddenly disinterested in the entire project once they've won the argument, and do it your way anyway.


The only caution I will give to this rule is: "Estimate the likelihood of the person making this decision leaving the company."

I have been burnt by two people padding their resumes before jumping out of the company. This caused me to rethink the "Two and Done" rule at higher management levels.


Slightly 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."


Wealth is options and freedom, not a luxury car and it’s payments. Optimize for freedom.


Wealth 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.


The real issue is never making it to an age where you can optimally use the "freedom" you've stored. I think at 65 1 in 5 males are dead in the US.

That 20% risk needs to be properly accounted for somehow.


Wealth management isn't explicitly mentioned, but it's part of the work that comes with having a high savings rate.

It's not too hard to beat inflation. Yeah, you do have to expose yourself to some risk, but it's really not hard to know enough about investing to make your wealth grow over time.


Highly disagree if you start investing young and slowly have your portfolio get more and more risk averse over time you should be able to keep majority of your wealth if not grow it depending on your tolerance to risk and when you start withdrawing from your account.

> General inflation

Average market growth is higher than the average inflation per year. I trust that investing in the market and holding a percent of your portfolio in Treasury bonds will give you a very good chance of growing or maintaining your savings against inflation and market variance.


> Average market growth is higher than the average inflation per year. I trust that investing in the market and holding a percent of your portfolio in Treasury bonds will give you a very good chance of growing or maintaining your savings against inflation and market variance.

There are several problems with this analysis;

1) You're making a 50+ year forecast (depending on your age) based on a 100 year data, a prediction ultimately not based on first principles.

2) Ultimately average inflation doesn't matter; the specific things you'll need to buy matter. You can enjoy the lowest CPIs in the world and still get shortchanged if you need to buy a house in the Bay Area at the end of a boom.

3) Lifetime averages might look good, but not all years of your life has the same wealth sensitivity; e.g you can postpone getting into a mortgage in your 30s but can't really postpone unexpected healthcare costs after 50s without lifespan altering consequences. The aim is not maximizing your returns until the day you die, it is to have enough when you need it throughout your life.

I'm not saying you're going to be necessarily wrong, but there is a risk of overemphasizing the predictive power of past performance and understating outlier events.

By the way, economies can fail in more than one way, e.g. markets can't really beat hyperinflation, which is a salient risk today depending on how covid shapes supply/demand curves, and in stagflation markets would suffer in addition to inflation, which is an outlier risk but a risk nonetheless. Sure, any of these would resolve in a decade, but during that decade you're going to be faced with purchasing decisions that you can't wait out, hence the melting of your ice cube.


On the other hand, a car can provide many options and freedoms that you otherwise wouldn't have without one. Especially now during the pandemic.


> 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.


My hair isn’t quite as grey as a lot of yours, but I watched, initially enviously, as college students a few years ahead of me graduated into the tail-end of the DotCom bubble and “massive” (for the time!) salaries and signing bonuses, and then with relief for the boring government contracting job I managed to swing when they all started getting laid off and struggled to make those balloon lease payments they’d felt so clever about a few years before.

Keep your lifestyle small, kids - perhaps take a look at what other lines of work with similar education requirements pay as a guideline; say, a mechanical engineer with a bachelor’s degree. Buy that car with cash, or at least one you could pay off with cash on-hand/in a non-retirement brokerage account.


Getting 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


You 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.


All of these points are relevant and in my experience, true.


The 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.


iow 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.


As 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.


> 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.

My boss/CEO once told me "You can't have this shitty attitude if your stuff doesn't work" (or something similar)... I made sure my stuff worked after that. Although, my attitude was really only bad with him, IMHO; everyone else seemed to think I was nice to work with.


This is the equivalent of "you're not pretty enough to be this dumb" for software engineering.

It's a hard to picture a situation where that's the right thing to say though. Unless you were exceptionally insufferable.


The direct trigger was, servers were on fire, for the third day in a row (approx 30-60 minutes of bad service the previous two days), I was frantically trying to figure out why, he came over my shoulder and asked "what's going on with the servers?" I told him "if I knew what was going on, it wouldn't be going on". Had a meeting later in the day where the earlier quoted statement.

Certainly some back and forth earlier there, I wouldn't argue that I didn't have a shitty attitude with him. Being charitable, he had an aggressive management style that I didn't apprechiate, and as a mostly autonomous worker, I chose not to do a fair number of the tasks he wanted me to do. Otherwise, my stuff tended to be at least as reliable as the rest of the system, except my stuff relied on external services / user input.


At least he can't say you picked the easier of the two options!


>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.


I don't think it's about selling yourself, but rather choosing what impression you'll leave with people.

When a new opportunity or problem comes up, do you want to be the engineer that many people dread talking it over with? Or do you want to be the engineer that makes people (at least slightly) excited to discuss something with?

Do you want to be known as the engineer who sucks energy out of the room in brainstorming sessions, or the one who can help the group "see around corners" either from your personal insight or from fostering a sense of directed curiosity within the group?

You're right that it's not necessarily the best programmers who create the most value/make the most money for themselves, but I don't think the counter position is "you have to become a giant phony and sell yourself".


[deleted]


As used in the article, personal brand is a lot closer to your first paragraph than to snake-oil peddling.

> Personal brand also works like that. When you work on a project, even a crappy project, your personal brand is on display for all potential shoppers to see. And even when everything is going south, others will notice which people are easy to work with, which people can be relied upon to do what they said they would do, and which people consistently produce a quality result.


I'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.


"Personal brand" isn't some kind of con. It is defining and letting people know who you are as a professional, both good and bad. There's no falsity in that (unless you're deliberately trying to hide a trait that others won't like); if anything, it helps others fit in with you and your managers find a place where you'll function best.


"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.


If 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.


Is it that people are taken in or just noticed overall? This was one of my early learnings in the workplace. A small portion of what I do gets noticed and I could just not have done half my work and nobody would have noticed.


Great 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.


That's the one thing that is missing from the article. Just keeping on the same page as others is also important.


My 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.


Back 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.


The 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.


> 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.


> I am not paid to protect 'the org',

Just last week, I reiterated to execs that part of the job of an engineer is to "document themself out of a job" (regarding documenting designs, code, processes, etc. so well that other engineers could take it up). An earlier time, when I mentioned that more verbosely, I asserted that the kinds of hires who will do that (automatically, or by embracing the culture we nurture) tend to be the best engineers, and the most valuable to the org.

This goes against old advice about job security for some people, like "be the only one who knows how to do that thing the org thinks is important". And against more recent job security advice, where job security is about hopping between orgs rather than investing with one. Popular contemporary gems of advice seem to include "let your project be guided by your resume keyword goals, then hop to another company for a salary bump in 1-3 years, before the chickens of your misaligned work come home to roost at the org." :)

I can't say that everyone will recognize when an individual invests in working for their colleague/team/org rather than solely for themselves. But, besides on-principle reasons for doing that, some people will recognize it, especially people who do it themselves, and those are some of the people you probably most want to work with.


correct.

>'the org' will NOT protect me. So why would you put org before you?

This kind of thinking. . . would you set off on a horseback ride and NOT feed your horse?


This is not a zero sum game.

You can be a team player in order to make your life easier and others that work with you. But laying down all of your cards on the table leaves you vulnerable to exploitation by less scrupulous people.

What I was critisising was a view that you as a worker should think of the wellbing of organisation first and foremost. Its a slippery slope that can lead to harmful outcomes for the individuals.


That depends on whether the horse likes me or not. I would rather ride a donkey though, temperament means the org is opinionated and has some values and goals.

I would defend my current company because I have relations to the people working there that make up the company as a whole. If you expect blind obedience, I probably would leave for another company.


I 100% agree with every part of this.

If you ever find yourself in an organization that is full of "rockstar" or cowboy coders, it's often easier to get out and find something better, than it is to fix that broken culture.

>But man, there has to be a better way to accomplish collective action.

I've always said that the main purpose for programming languages is for engineers to communicate intent to other engineers. (including the original author; who may have lost that mental context 6-12 months down the road).

If programming languages were only about telling computers what to do, we'd all be coding in assembly.


>If programming languages were only about telling computers what to do, we'd all be coding in assembly.

Damn. That is pure gold. Thank-you. Get this on a t-shirt or something, would you?


> But is that really a good thing?

There are winners and losers. I think he definitely won.


> 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.


I 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.


I’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.


You 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.


Your 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.


Don'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.


Yes. 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.


Not 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.


How would you compare your job search experience with "traditional employee job" versus "contract job" ?


Great 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."


One 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.


> 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.


I 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


> there is no way I would also spend my free time on projects just to impress some people.

Generally, me neither. However this attitude does not meld well with a stagnate career.


I've never understood why "just doing it anyway" was a fair argument when you do not have a choice over the thing you have to work on, but that it isn't when you have a choice in doing something yourself. If what you do is a hobby, you are certainly able to give it up for another one if you aren't happy when doing it, or if it isn't "just your thing." But arguably, it being "not your thing" could just be because of your insecurity and unwillingness to conquer adversity, and thus giving up on something you don't "want" to do but do not stop thinking about regardless would be the wrong decision. That process of getting over your insecurity could take weeks or months or years of time, beyond just trying it a few times before declaring that it's not truly an interest of yours.

For that matter, why do some genetic disorders reliably correlate with having only a set of narrowly defined interests, or no persistent interests at all? What does an "interest" even mean at a biological level? Are we always in control of what we are capable of caring about and acting towards, separate from what we merely tell ourselves we want?


I try and spin my personal projects (compilers?!) to match the job requirements. This has worked well for my last two jobs.


Curiosity has a shelf life. It looks better on the young. Also, a lot of ground is covered as time passes, and tech at 40 isn't as interesting and exciting as tech at 30; curiosity is a limited fuel.


While I wouldn't be looking at a game, I would be looking for enthusiasm. Outright technical skill is important, but also how you dig into problems and push a project forward.


I 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.


This 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.


As 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.


Amen 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.


There 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.


I 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.


> 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").


What about phone interviews and remote work? Especially this year I’ve interviewed tons of folks without having seen their faces or knowing their ages.

I don’t deny your experience by the way, but without hard data isn’t it hard to say if people were rejected for age vs other reasons?


You hired people based on the phone interview alone?


Plus jumping around to increase pay is a strategy that gets less effective after a few hops, if you're doing it right.


I’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.


In 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_Winnin....


> 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.


Hey 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).


Thanks 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.


The 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-h...


Never 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.


This 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.


Whatever 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.


I 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.


I 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.


"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."


There 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.


Slowly 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.


Your "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.


> 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.


The “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.


Yeah a personal brand is so important. Great article from a wise hacker.


My 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!


Happened 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!


“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.


I 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.


I 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.


Love 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!


The article is on keeping a job. The "Make Your Boss Afraid" section of the article reminds me of the book "Linchpin" by Seth Godin.


I have a job with about 100% job security - but it would kill me if I were to do just that - it's too boring.


OK, 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.


Yep. Bosses do like to promote people who make them look good.


> 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.


Forget staying employed. I'm surprised I haven't retired yet and hope to soon. Too easy in this industry.


should have titled it "An Old Hacker's Hacks on Staying Employed"


No 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.


Yeah, 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.


Anybody have any tips on how to get less angry at work? I could stand to improve a lot there.


I 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.


I 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.


> I found the thought of job security as a goal distasteful.

reevaluate your distaste when you have 3 dependents.


I 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.


I 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.


Tell that to the underprivileged.


It'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.


I 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.


I 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."


I 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.


Read the conclusion


I 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.


> Today, when a project ends at one of these big companies, the people get laid off.

And you just normalize this as something ok?


Maybe he works at Amazon


No. Not at all. What am I supposed to do about it?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: