Programmers: Before you turn 40, get a plan B (2009) - <AUTHOR> http://improvingsoftware.com/2009/05/19/programmers-before-you-turn-40-get-a-plan-b/ <comment><USER2> Somehow I can't equate myself to my age number, 46.

In 25 years there has never been a moment when I wasn't in love with learning the latest cutting edge tech.

Over the years it's been so much fun...

...to progress from the BBC B to pascal on the mac to pc's to unix boxes to c cgi scripts to perl to php to mySQL to flash actionscript to ruby to javascript to noSQL to node to socket.io to html5 css3 to iOS to android to rabbitmq to laravel.

...to move from crappy first gen-linux boxes serving web pages from my front room to using web hosting companies to the elastic cloud to puppet to salt- stack to containers.

And I'm only just getting started.

I can't wait to get in to VR, 3D printing, hard core signal processing and so much more.

When I'm screen sharing and problem solving with a 25 year old dev on a hardcore problem I feel no different in any way to the person on the other end of the line.

<comment><USER3> This is fantastic, and makes me hopeful. I'm almost 40 and no real career accomplishments but there's still time for me, maybe, before I just decide to hang it up and just go home.

<comment><USER4> The article focuses on the fact that as programmers age past 30 their salaries grow but they have roughly the same skills. But that is not the main dynamic here. The main dynamic is that as a person's brain ages, it improves in some ways and gets worse in others. The improvement is that you have more depth and experience. The loss is that your brain gets slower and less flexible.

Unfortunately, in computer programming you will run out of experience and depth that you can accumulate after about 8-10 years of work (say ages 22 - 32). Every new technology is just a variant of the previous 999 technologies. But you still keep getting older every year, and incurring the downsides of getting older!

Compare this with, say, being a doctor. A doctor at 32 is just finishing residency, so he or she has just finished formal education. At 42, she has 10 years of experience, and a doctor with 10 years of experience is better than one fresh out of school. The doctor keeps getting better at 52 (20 years of experience) and 62 (30 years of experience).

The big picture is that computer programming is a field with low barriers to entry and where young people have a significant advantage. Staying in a field like that for the long run is going to lead to a _brutish brutish existence._ There are many posts here along the lines of "I'm 39 and still doing ok". That's beside the point, because in the future you will be 49, then 57, then 65. Remember, Social Security full retirement age is 67.

It doesn't make sense to wait until you are 40 to switch. Every career field accepts young people easier than old people, which means that the time to start planning your switch is _today._

<comment><USER5> > The big picture is that computer programming is a field with low barriers to > entry and where young people have a significant advantage.

Computer programming isn't just one field, there're several completely different fields. All what you said might be true for the web development field, where the technology at hand isn't really that hard and you apply more or less the same technology and knowledge for each web project.

But there're several other fields where experience and knowledge are a lot harder to gain, and therefore also count a lot more, just look at the systems programming world or the more engineering heavy fields.

At my firm are a lot of >50 year old people, which are valued a lot for their knowledge, and our work isn't about getting shit done as fast as possible, but about getting something done right.

<comment><USER6> >>But there're several other fields where experience and knowledge are a lot harder to gain

Factor in internet that statement isn't true anymore. The amount of knowledge on the net today is mind boggling. Its scary to imagine how much information has become cheap and easy to access these days. And no one knows where this is all heading.

The jobs that require knowledge and experience hard to gain are already very few and shrinking with every coming day.

>>work isn't about getting shit done as fast as possible, but about getting something done right.

Wait until a 20 year old shows how it can be done fast and right.

<comment><USER7> I temporarily worked in safety-critical software development. There's a lot of tools in that domain that simply aren't as googlable(read: expensive) and cannot be learned online.

Often, in these sort of situations, the field isn't even that visible. I certainly didn't know how extensive it was until I worked in it.

>>Wait until a 20 year old shows how it can be done fast and right.

I will applaud the 20 year old who somehow manages to disrupt the safe software industry, but I doubt it will ever happen.

</comment></comment></comment></comment></comment></comment><comment><USER8> More options: \- Go solo. At 40 you should be experienced enough to handle up to mid-sized projects, alone and on a reasonable time-frame. Try to pick projects that your clients will actually use, with new features and support contracts you will have steady income for the long-term. \- Go startup. Stop thinking you need to come up with the next über-for-x. There are plenty of opportunities for small sass shops that cater locally and provide sufficient income for a micro successful business. At worst you'll be acquired. \- Go sidetrack. I read someone said every business is a software business. Start a different career/business and you'll be doing the IT needs yourself. That alone is a huge competitive advantage.

These options allow you to continue programming after 40 and you should! It is an urban myth that past 35 programmers are not as good b/c they get tired faster or make more mistakes? The truth is that 20-somethings can put up with very long hours b/c they have the time (mainly due to not having a wife and kids) while 40-somethings have the experience to go right to the answer. That's productive vs efficient. I like to use a soccer analogy: a young defender is good when he's fast because he can outrun the attacker, while an old and slow defender is better because he knows where to stand and wait for the attacker. Experience is gold.

<comment><USER9> The problem with age is you become less flexible. If your have a business where you know what you will be doing in 6 months time then experience is great - when your plans change weekly then the flexibility of youth is what you want.

<comment><USER10> Age makes employees less flexible in some senses like not being willing to put up with some of the crap that younger people will (60 hour weeks, endless crunches, etc.) I once did, but will no longer tolerate that crap from an employer.

But being older doesn't mean you stop learning, adapting to change, or lose the ability to deal with moving targets. I'm hopping rapidly between roles and widely varied tasks at my current gig better than I would have in my 20s or 30s since I've got more perspective and experience.

A more mature person might point out that if your plans change weekly you likely have a systemic problem, though, and would be more likely to point out the breakage.

<comment><USER9> I am not a young developer, yet I recognise what it is about youth that is attractive to employers. This is reality and I don't think there is anything to gained by pretending otherwise.

I am not suggesting that you don't have a problem if your plans change weekly, but unfortunately this is the way many businesses are run. When you have a very fluid workflow youth is very attractive.

<comment><USER11> > When you have a very fluid workflow youth is very attractive.

i.e. you don't bother to spend an hour to plan a project. I don't think anyone wants to work at those kinds of places, young or old.

<comment><USER9> It is not a matter of planning, but of adapting to change. I have worked in environments where change occurred regularly (outside forces at work) and I saw it was the young who coped with this change best.

<comment><USER11> I would need a concrete example but I'm not buying your assertion. Some of the most flexible people I know are all developers, irrespective of age. If you told me that older developers were more likely to ask questions and seek evidence before making a change I'd believe that. I find that most people confuse easy adaptation to change with pliability due to lack of experience.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Lets see every 20-30 year old we have brought in the past 3 years:

A) Is so arrogant they think they know it all. Then when they turn in the code it's barely passable and it become clear they are going to be difficult to work with.

B) Are overly emotional and they all take things way too seriously.

Now every 35+ person we have brought in for a project is:

A) Professional. Gets the job done and very well.

B) Sees the bigger picture and goes with the flow.

That's my personal experience but hey if I was management I would go with the 20 year old's all day long. As long as I did not know what they did or had to deal with them...Oh wait....

<comment><USER13> "B) Are overly emotional and they all take things way too seriously."

This can be a positive. My experience with 40+ year olds is that they tend to sacrifice user experience/security for what they know. "Our customers won't care if they have to use Internet Explorer with ActiveX as long as it gets the job done." My point is that an experienced programmer who is not up to date can be as detrimental an arrogant 20 year old. The 40+ year old programmer who stay up to date though... They are worth their weight in gold and I aspire to join them one day.

Edit: Background - Got really pissed off at a 40+ dev using active x to launch external programs and making it a requirement that our end users use IE with ActiveX enabled. Almost lost my job because management sided with the person who had more experience.

<comment><USER10> "My experience with 40+ year olds is that they tend to sacrifice user experience/security for what they know."

I'm sure there are some people who don't expand, though I am in my 40s and am constantly pressing for the best UX possible for customers. I've suffered enough with bad UX, I won't go along with inflicting that on anyone no matter how challenging it might be to fix. On the other hand I am (almost) always grateful for people pointing out bugs in things I write now, but used to be a lot more insecure about it. A hit to the pride is nothing compared to the pain of shipping something broken.

<comment><USER13> "A hit to the pride is nothing compared to the pain of shipping something broken."

Well said. This should be the golden rule of development. I feel that too often we (both young and old) don't ask questions because we fear the repercussions of appearing ignorant.

</comment></comment></comment></comment><comment><USER14> I don't know a single software dev over 40 who isn't employed, and I know many that age. None of them had to change fields. Some are managers, but most are "senior" devs. Many of these guys have been programming internet technologies since the later 90's.

It seems in the places I've lived (LA, DC) the salaries are pretty squashed together after 5 years experience. Basically anyone with that experience is getting a similar pay check +/\- 15%. For many after 28 you are close to being maxed on your pay which would put you in the same spot this article plops the 40 year olds.

<comment><USER15> pay squash is why you should get out of field. engineering is the new proletariat, working at companies that rake in millions for pennies, while all managers above you get twice your pay just by organizing your time.

<comment><USER16> Engineering is certainly not a proletariat. Engineers make more money than most professions and have more interesting jobs as well as lots of respect from other professions (I am not an engineer and I can tell you lots of people admire engineers). Also, many professions experience "pay squash".

It's a myth that most managers make much more than programmers and that they "just" organize your time. Let's have a little bit of respect, not just for our own professions, but also for the people we work with.

<comment><USER15> not when compared to all other profession that require a degree, constant lerning and are higly specialized (each enginering branch is not interchangeable, as well as within the same branch specializing in one area reduces your employment prospects in others)

also, the majority of managers are not the one that are in charge, taking decisions, managing risks and settings directions; middle managers types are way more common. and I do respect those of them that work well, but they are so hard to find that I'll stand by the 'most' in 'just organize things'.

<comment><USER17> What professions would those be? Law and medicine are probably the two most people are thinking of.

Law does pay more for very successful people, but at the median it actually pays less.

Doctors do get paid more, but they also spend a much longer time in training. The amount of time that most engineers spend in training is more in line with the amount of time that PAs spend in training.

</comment></comment></comment></comment></comment><comment><USER18> Don't specialize in things that depreciate as rapidly as programming languages! C++ experience is quickly getting less relevant over time, but stochastic calculus, digital signal processing, machine learning, and distributed systems aren't. Some of those specialties get _more_ valuable; in fact, sometimes, the forces that make things like C++ less valuable actually clear the way for things like distributed systems to become more valuable.

I was allowed to offer only a single bit of career advice, that'd be what I'd say: _don 't specialize in programming languages_. They're a trap!

(But then, I'm not quite 40 yet, so I could be wrong).

<comment><USER19> >Don't specialize in things that depreciate as rapidly as programming languages

C has been around since 1972 and is just as relevant as ever even as the popularity of C++ wanes. Python has been around since 1991 and is growing in popularity.

There is a trick to figuring out which technologies will stick around for the long haul, and it is one which most developers don't even think to try and hone.

My career advice would not be to not specialize in programming languages but to learn to distinguish programming _trends_ from programming _fashions_ and invest (with training/picking the right job, etc.) accordingly.

I doubt there is going to be much call for people with experience in Mongo in 5-7 years' time, for instance, but Postgres? Hell yeah. I predict increased demand for F#, too, but not so much for, say, Java (even though it won't go away).

<comment><USER18> I am a C programmer. C is my first language. I have shipped C code. I'm pretty sure I've _literally_ shipped C code, in shrink-wrapped boxes. I took my kids to the museum today and hung out in the cafe pushing commits while they wandered around. What was I hacking on? _A C compiler_.

C is less relevant now than it was in 1996. _A lot less relevant_. Way, way, way less relevant. In 1996, most serious software was written in C. Today, only a tiny fraction of it is.

<comment><USER19> I don't really see anything else that has taken its crown for systems programming.

<comment><USER20> C++ in a lot of places. And systems programming is a much smaller niche now than it used to be.

</comment></comment></comment></comment></comment><comment><USER13> Or plan C. For younger engineers start thinking about financial independence. Software Engineers enjoy a high starting salary and an even higher mid career salary so it is entirely possible to achieve financial independence in your 30s-40s with a frugal lifestyle and smart investing.

<comment><USER21> Mr Money Mustache for the win!

<comment> UK-AL The problem I have money Mustache is that he doesn't value time that much.

He advocates doing things yourself, DIY etc.

If you can pay someone less to do something than you could earn in the same amount of time. Its better to outsource those tasks.

<comment><USER21> Ya it is hard to say. From his POV - he is already "retired", so he has tons of time available and if doing things himself limits his expenses - win win.

For someone who is busy working.. it depends. If you get a salary to work 40h a week... does hiring a poolboy for $20 an hour instead of cleaning your own pool for a self-declared time worth of $50 an hour make sense? I am not sure. If you are consulting and your choices are bill 45h and have a poolboy, or bill 40h and have your own poolboy... then the logic is much more in favor of outsourcing your tasks.

The other trick is how much do some things really cost? I know to pay someone to put brakes on my car, I would pay the equivalent of $100-$200 an hour. For $100-$200 an hour, I will gladly crawl under my car and get dirty!

</comment></comment></comment></comment><comment><USER22> Age has got nothing to do with programming. Ageism is just a bias (or fear) that some people have of losing their talent or skills.

Trust me, it doesn't happen.

What happens, instead, is that people get bored, or stop coding and lose the skills they don't practice, or get offered better paid jobs in management, etc.

Years back, maybe programming didn't have much to offer in terms of personal growth, I don't know. It's certainly not the case today -- I see people growing into better and better programmers, more rewarded, but also more interested, as time goes by.

Most companies you actually want to work for don't care about your age. If they do, is because they are just going to use you (like, code for 80 hours because you don't have a family and don't know any better...)

Now -- the _real_ problem is that most people in programming really have no aptitude, skill or passion for it, and _should_ at some point get out... but that's just me being an old fart ;-)

</comment><comment><USER23> I think it depends a lot on the industry, a young SF based Rails / Django / based startup? I hardly see them hiring a 40 years old with kids that will ask for a salary higher than the CEO. A front end UI developer with knowledge of the latest Ember / Anguler / React / whatever they come up with next front-end tech? Perhaps they are more likely to find a fresh graduate (or just a self taught hacker who just rocks at HTML CSS and JavaScript) that is in their early 20's

But in big companies (Amazon, Google, Twitter) in enterprise software companies, banks, medical tech, finance, I think it's not that uncommon to find 40 year old developers. Most of the developers in my company average at way above 30. And we have a couple of engineers above 50. All of them are pretty kick ass Java developers and they all get tons of unsolicited recruiter spam. (Maybe I'm delusional or in denial, or perhaps this is just the difference between industries, but I think that if you WANT to still do it while you are 40, and you keep yourself sharp, just like doctors have to keep up every year with the latest developments in medical research to stay relevant, then I think you can do it till you retire)

I think the reason many drop out of coding is that it is very time consuming to keep up, and some may want sometimes a less mentally demanding daily routine. Managing a team of engineers can be tough, but it's somewhat less mentally and intellectually strenuous and energy hungry as coding. Coding takes a lot of focus and sharpness, and sometimes it's simply hard grunt work, people sometimes get tired of it and want to move on to management (or being a "solution architect") or even product management.

I think the problem is that the 40 year olds chose on their own to do less coding at some point, and more management / IT / architecture. (e.g. the less good developers, those who don't pass the sort from 100 to 1 but still manage to land a job, eventually understand it's not for them and move on to other, not less important roles)

<comment><USER24> _" I hardly see them hiring a 40 years old with kids that will ask for a salary higher than the CEO."_

This preconceived notion that a manager or CEO must earn more than their employees doesn't make much sense. It's just a status game. If that developer (regardless of their age) has skills and experience that the company needs, and those skills are harder to find in the job market than management skills, it makes sense to pay them a higher salary.

Nobody questions the fact that baseball players and movie stars and investment bankers are paid several times more than the president of the U.S., so why shouldn't developers who are in high demand be able to make more than a CEO?

<comment><USER25> The president is the highest paid person in government, though.

But baseball players are paid more than managers.

</comment></comment></comment><comment><USER26> Are there really people out there who actually believe that programmers are washed up by the time they hit 30?

I'm not kidding... do people really believe this? I always thought that was a fairy tale that employers tell to still-wet-behind-the-ears kids in order to pump up their egos so that they work untenable hours for meager pay

<comment><USER27> Yes, it has nothing to do with productivity but definitions. After 30 programmers see more options and its harder to keep them as cubicle/hipster drone.

</comment></comment><comment><USER28> 42, happily but anxiously still coding. What most disturbs me about the ageism debate is that so many young programmers believe it is right, natural, and inevitable to assume that older programmers should be cast aside. It is an odd form of false consciousness that so many of us believe in our 20s that we will be retired before 30. Someone mentioned Barrett's quote astonished that "clueless management" would treat programmers' careers like those of professional atheletes. But how clueless is it really, when so many of us think the exact same way?

We all think we're going to be the lucky ones to strike it rich, all it takes is hard work and our natural talent and voila, $100M exit. Then, you reach mid-life, and still want to write code, how do you feel now about your youthful cavalier attitude?

If I could travel back in time 20 years and tell myself "dude, someday you'll be my age too!" I probably wouldn't have done anything differently, but it would be a serious boost to the humility of our young brethren for them to realize that they too will be in our shoes one day--a day that comes far too soon.

The thing is, I am actually one of the lucky ones. I could retire now and never work another day. Sure I don't have a private jet or a house in Atherton, but I have the freedom to walk away from anything and not worry about money. It's liberating, but I certainly don't want to stop. I love programming! I want to keep working. And based on the sentiments of those around me, and the nice paycheck I command, it's clear I still have a lot to contribute to this economy before I'm put out to pasture. But I would like a less toxic enviroment. Fortunately I don't encounter many clueless managers these days. I simply don't work for organizations where decisions would be made to hire youth just to save a few bucks. But I still encounter the young bucks who think I'm too expensive and simply there to steal their thunder and take credit for everything. Just remember kids, someday you will be just like me, if you're lucky.

We have so little time, don't waste any of it comparing yourself to others-- young or old. Treat every day as a competition with yourself... to end the day a little bit smarter, a little wiser, a little bit more humble than you were when the day started.

</comment><comment><USER29> I'm always surprised how timid programmers are; I have a very big mouth and I am very confident about my abilities. That alone seems to get me into anything I want even if I was bullshitting (which i'm not). So people who are far better than me at what they do as software engineer should have no problems at all. However most of who I meet and interview are timid and not very confident. Programmers in general really undersell themselves; even if they did great stuff, they will wind it down to things like 'I built some software which gets input from workout machines' vs 'I wrote an embedded OS and optimized (32kb it has to process the data!) analytics software which runs on most of the machines in YOUR favorite gym'. Or 'I did a C++ fast cgi e-commerce backend for an auction site' vs 'I wrote the backend for an auction site doing 400 million euros of transactions a year with millions of pageviews per month'. When you get above the 'junior programmer' people want to hear what you can 'get done' not some tech details of something which sounds like you just came from uni. I think a lot of people underestimate how much people will rely on them once they are seniors and if they don't have that air, why would anyone hire?

All programmers above 40 (and 50) who are not afraid to sell themselves are employed (and/or wealthy); the timid ones sometimes are but mostly are not; they complain that no-one wants to hire them. I don't think that's different in any other profession to be honest at that age.

</comment><comment><USER30> I see no one else has mentioned another, even more obvious solution. _Retire_.

With the sky-high salaries it is possible to earn as a software engineer, it should be straightforward (not easy, but still straightforward nonetheless), to save enough to retire at the age of 40. After which, you can spend your remaining time as you see fit, working on personal projects or any other hobby that suits your fancy.

This is the route I am taking.

<comment><USER31> It's possible. I did it. I am 43 and I retired when I was 40. I lived frugally in Silicon Valley and saved and consistently invested more than half of my income.

It was a decision I made when I was 23. I remember doing a spreadsheet at that time to plan it all out. This was back before there were good references on how to plan it out. Some of my assumptions were a bit off, but I got there in the end.

<comment><USER32> Can you give more details on your story? I'm particularly interested in how much you needed to retire, and how you've set everything up to make yourself comfortable that you won't run out of money.

<comment><USER31> This subject has been researched in great detail. There's lots of great information all over the Internet. I recommend these two blogs if you want to learn more:

[http://earlyretirementextreme.com/](http://earlyretirementextreme.com/)

[http://www.mrmoneymustache.com/](http://www.mrmoneymustache.com/)

The TL;DR is this: you need to be able to live off about 3.5% of your portfolio for one year. That will allow you to avoid depleting your principal over a very long term, and also give yourself an inflation-adjusted raise every year so you maintain your spending power. Often people quote a "4%" rule, but I think it's meant for people that retire at a more "normal" time in their lives. The extra 0.5% actually makes a big difference in the probability that your portfolio can fail.

So, if you have a million dollars, you need to live off $35K a year.

If you're willing to really change your lifestyle, you can retire off $500K, which would give you $17K a year. It doesn't sound like much in Silicon Valley, but that will put you in the top tier of income in a place like the Philippines.

I don't want to post my own net worth because it might come across as chest- beating. I've been living in a few places that are a lot cheaper than the United States, so my expenses are low. Over the last three years I've been averaging living off slightly less than 2% of my net worth annually. So, I'm REALLY safe by the "3.5% rule". My net worth is higher than when I retired.

I'm enjoying my life. Every day is a clean slate. There is nowhere that I have to be at two o'clock on a Tuesday afternoon. I can read or take a walk, go to the gym, or tinker with some computer language. I like this life. I sure hope I did all the math right, because if I have to back to a cubicle in Silicon Valley it's going to be REALLY painful for me. No amount of free sushi by your employer is enough to compensate you for your lack of freedom.

<comment><USER33> That sounds fantastic, I'd love to read a more in depth blog post about this!

<comment><USER34> The reference blog post from Mr Money Mustache is: [http://www.mrmoneymustache.com/2012/01/13/the-shockingly- sim...](http://www.mrmoneymustache.com/2012/01/13/the-shockingly-simple-math- behind-early-retirement/)

Essentially, your income in retirement should not be dictated by your current income, but by your current level of expenses. If you can save a multiple of your current annual expenses, and that multiple is high enough to account for real-terms investment gains, you're financially independent: you don't need to work any more.

The number generally used is 25x, which corresponds to real-terms gains of 4% per year on your savings.

<comment><USER31> @wsstrange:

The S&P 500 is 50% above its 2008 peak on May 8, 2008.[1] That's a 5% annual compounded return ((210/140)^(1/7)). And that's using the 2008 peak: if I use the lowest price from 2008 (in December), your return would have been 8.8% annually. Inflation (at least in USD) has been benign during this period, so probably there has been a real 4% return during that period. I don't know how you concluded that you didn't get a 4% real return during this period.

If you look at the stock market over any short-term (<15 years) it will be quite volatile. Over very long periods it is more regular. If you're investing in the stock market, you must take a very long time horizon.

If you really want to understand this topic in more details and whether your portfolio is likely to fail over some period of time, I encourage you to play with FireCalc [2].

[1] [http://tinyurl.com/poz7trc](http://tinyurl.com/poz7trc) [2] [http://www.firecalc.com/](http://www.firecalc.com/)

</comment></comment></comment></comment></comment></comment></comment><comment><USER35> This article is wrong on the facts, but more dangerously offers wrong advice on life choices.

23 years ago, when I was 23 years old, I actually posted a Usenet question on this topic (archived somewhere?) asking where were all of the "old" programmers?

First off, people don't decpreciate, skill sets do. Of course someone making a high salary will be undesirable if their skills stay the same and become commoditized or less relevant. But the same would be true of a young person with the same salary/skills. Every time this happens the challenge becomes finding the next niche that is valuable, and that you like enough to devote lots of time to.

Secondly, a lot of older folks get siphoned off to management voluntarily. This can happen when a company doesn't have equal career ladders for tech and management. At good software companies you can advance as individual contributor up to a VP level, while other companies force a switch to management to continue progressing. And of course a few are natural leaders of people who want run a group, or try a cross functional gig. Some feel it's more prestigious to be director of whatever dept.

On age discrimination in tech, I hear about it anecdotaly, but haven't yet perceived it happening to me. Maybe it's just too early to notice, or maybe there will always be some people in tech who want to work with the best team possible regardless of age? Would I hire an 80 year old developer? They'd get the same questions as any 25 year old. Show me the code you've written over the last year. Shoe me how you communicate complex concepts in simple ways. Are you a dick to work with?

On being too expensive, the reality is there is an effective salary cap for everyone which is a function of company, role, skills, location, etc. You need to know what the cap is and realize if a company balks at going over it then it may have nothing to do with age. The calculus is what it is, older people are just more likely to hit the caps first.

Finally I must disagree with the comments I see about young people being less capable. Yes, experience is irreplaceable in certain contexts. However more often I notice the people doing really great work are a special minority of individuals that just have the right combination of smarts, drive, maturity, flexibility, luck, etc.

I'll try to remember to follow up on this post in another 23 years to discuss what has changed.

</comment><comment><USER36> i'd suggest that intelligent employers realize that the language and stack are only a very small part of building a product. The more interesting problems are hard not due to language, but due to algorithms, data structuring, design patters and general architecting et al.

The 10yr C++ programmer ought to have those things nailed, the junior may not know they even exist.

<comment><USER37> that's a good suggestion. it will fall on deaf ears because employers don't read anything on the Internet and they hate engineers, especially old ones. they can't get basic things like don't sexually harass employees right, so how are they going to get age discrimination right.

<comment><USER36> You sound burned out by bad employers. Come to the bay area, good ones are legion.

</comment></comment></comment><comment><USER38> I don't buy it. There are people of all ages on my team, and the same has been true at several other jobs I've had in the past few years. There is not even a particularly strong correlation between age and seniority.

My second observation is that in all the jobs I've had where this was not true, the company has not been particularly successful in the long run. It's unclear whether this is related, but it's interesting.

However, I can come up with an alternative statement that may be a better explanation of what some people seem to observe: if you are not a really good engineer by the time you turn 40, and you expect to be paid based on your "years of experience", get a plan B.

</comment><comment><USER39> Ehhhh. I'm 40+ and I've never had so many opportunities. Then again, I love this stuff, so it's not really work to keep up. I still love the shiny new thing, and my ramp-up is faster since I've seen most of it before. It's just another language, platform, what-have-you. I worry more about the income plateau. I wouldn't leave because I'm tired, slow, or specialized. I'd leave because the market wouldn't bear my rate growth.

</comment><comment><USER40> Some of the best software engineers that I know are 40. Thanks for the advice, but it seems to generalize.

<comment><USER41> In most software jobs, it's impossible to directly quantify value-added. So the engineer's salary is 100% determined by your employer's (or by proxy, manager's) opinion of how much value you add.

And those opinions are quite locally specific. In my current place, we value age and experience perhaps more than many other shops in SV. So you're right, I think it doesn't "generalize", it depends on one's work culture.

</comment></comment><comment><USER42> I always find these discussions kind of odd, because there seems to be an unspoken assumption that the world is divided into 20yo CS grads and 40+ greybeards. The truth is that a lot of people get into software outside that track nowadays. Their initial ambition either becomes obviously unrealistic or increasingly unattractive[0]. Hence the phenomenon of boot camps, etc.

I'm sure there are people who do twelve weeks of ultra intensive rails and think they're Dijkstra incarnate, of course, but most of us who came to development, as it were, sideways do not exhibit that kind of attitude. We respect our elders.

I have no idea what it's like in the valley start up scene, but certainly in London I see very little buggering about of senior engineers: nevermind people considering me basically past it at the row old age of, er, 28.

[0] this was me in 2010: [https://m.youtube.com/watch?v=obTNwPJvOI8](https://m.youtube.com/watch?v=obTNwPJvOI8)

</comment><comment><USER43> After reading stuff like this I never know what to think. I am 28 and just getting started. I hope to land my first developer position by the end of the year. So what am I to make of it? By the time I am competent enough I will be expendable? I am not discouraged but articles like these don't make sense to me. Almost everywhere I look and in every aspect of my life I am always "behind" and I don't feel like it but everybody is telling me I am...

<comment><USER8> A programmer will never ever ever ever be expendable, in fact, demand for programmers just grows everyday and we _just_ started wiring the Internet on things. I am 40, I just had my first kid, I do not have a ton of karma in HN ;) You are never behind, just follow your own path...

</comment></comment><comment><USER9> I only became a semi-fulltime developer after 40, but I have the advantage of working for myself and 20 years of non- software domain experience. I think the key to developer longevity is having other skills so that once your percieved value as a developer declines you have other skills to fall back on.

</comment><comment><USER44> I really didn't see any issues other than day-rate-compression through my 40s. Now I'm nearing 50 my memory definitely isn't what it used to be, but my expression in code is improving to compensate.

I feel that my influence and ability to drive good outcomes gets better as I learn more about myself, but the nurses here are telling me to go back to bed, so I'll have to turn off this computer thing now.

</comment><comment><USER45> I personally hate working in a monoculture, whether it's all males or all 20-somethings. There's just inherent value in having diversity in all dimensions, otherwise the workplace turns into a military barrack.

</comment><comment><USER46> Turn 38 on Monday. I turn down work regularly (and I've been guilty at times of not turning down _enough_ work). At the same time, I look much younger than I am (I get carded regularly), wear mostly conference t-shirts and hoodies, wear "hipsterish" glasses, and have a stickered-up MBP, so maybe I fit a stereotype not becoming of my age.

</comment><comment><USER47> Here's a plan: move outside the Silicon Valley circle jerk. You won't get a ridiculous superstar salary, but you get the chance of working on actual products instead of throwaway MVPs.

<comment><USER28> This is a worthwhile consideration for all of us. I do think it's helpful for your career development, socialization, skill and salary advancement, to spend some time in the "Capitol" of SV. But leaving before it burns you out is also something to keep in mind.

I actually moved here not if my own accord, but following my spouse (who isn't in a tech field). Luckily her career is very stable, but even with 2 fat incomes, the cost-benefit ratio of SV life is a difficult proposition.

There are lots of good jobs to be had in smaller markets, and with less douchery comes a bit more humanity and respect for people and their skills.

</comment></comment><comment><USER48> I call shenanigans on the original NYT article.

 _According to a survey conducted by the National Science Foundation and the Census Bureau, six years after finishing college, 57 percent of computer science graduates are working as programmers; at 15 years the figure drops to 34 percent, and at 20 years -- when most are still only in their early 40 's -- it is down to 19 percent._

What they fail to talk about is the 7 different occupations similar to 'computer programmer'. Are you a _Computer scientists and systems analyst_? Or a Network and computer systems administrator? Is your job title _Computer software engineer_? Maybe you're a Electrical/electronic engineer or a Computer hardware engineer? Then you are not a Computer Programmer.

NYT cherry picked one occupation of many. If you're 40 and you've migrated job titles past _Programmer_ , you contribute to this 'rampant ageism'.

</comment><comment><USER49> Software development as a profession hasn't been around for long enough to draw any generational conclusions from.

</comment><comment><USER50> I sometimes think, that the reason for this age discrimination was the switch from female to male coders in the early 80s. It was that sudden break, that introduced the computer kid as a replacement of the former cheap female workforce, and made the highly payed former system architect obsolete, as nobody had a use for a programmer anymore, who needs a secretary for typing, in the modern time of personal computers. Some of them moved to management, just renaming their job position.

So the gender discrimination of cheap female coder vs expensive male system architect switched into an age discrimination between cheap young coders, and expensive managers.

We lost both the skilled and the female coders in this way.

</comment><comment><USER51> I'm giving an offer to someone about as old as my father (over 52 easily) because he shows interest in the subject I need code written in, has proven shipped projects with success over decades, and is reasonably competent at the details. My employer is not a Bay Area company though and we are not trying to crank out code on a relentless mission like most are - we're looking for something a bit slower paced, thoughtful, and more "right amount of effort" for fairly simple tasks that I've found require some real world experience to get right. As a result, we're actually biased against younger employees if anything, not the other way around.

</comment><comment><USER52> This uncertainty is one of the things that drives me towards getting a CS PhD and ultimately a research position rather than becoming a software engineer. Older researchers are very common in CS-related fields, both in industry and academia.

<comment><USER53> I would do more research on that premise before committing to getting a PhD...

</comment></comment><comment><USER54> Working in the Austin startup scene, I definitely get a sense that this is an issue amongst younger companies. However, I look at my father who's now with a massive merchant software company and there's not a single person in his division under the age of 40 (a lot of these guys are maintaining legacy mainframes, etc.)

About a year ago, the company realized that they're SOL with a n aging employee base and no one coming in to replace them once they retire. He's always argued that larger companies will come calling once the boomers are out, but I shutter at the thought of having to learn COBOL.

<comment><USER21> I had to learn a tiny tiny bit of COBOL to help transition some mainframe code from COBOL -> Java. If you are just reading it to gut the program, not a huge deal. You can play with the inputs and outputs and verify your work.

Now having to learn COBOL to maintain it? That seems not fun. A simple change can take days...

</comment></comment><comment><USER55> My plan B is to semi-retire. I expect that I'll still work some, but starting somewhere around 40-50 I plan to cut back to part-time (or perhaps stints of full-time intermingled with multi-month vacations) and become more picky about what I choose to work on.

Assuming I never get another raise in my life, I'm on track to have my house paid off before I hit 35, and $500k+ in the bank by age 40. (The better portion of that will be locked in a 401k until I'm 60, but my wife and I have also been maxing out Roth IRAs and that money will be available to retire on whenever we want it.)

</comment><comment><USER56> I'm not a fan of this plan B stuff when you're 40.

Where is the plan B for doctors? Where is the plan B for Lawyers? Why do these other professionals have respect in the their old age and not us software engineers/programmers?

How depressing.

> The half-life of an engineer, software or hardware, is only a few years.

And I still don't get this. Move out of software and you'll find loads of over 40's and over 50's engineers. Here in Perth I know loads of older engineers, that are given dignity and respect along with their peers in Medicine and Law.

This plan B stuff is because of the culture that surrounds programmers. If there is any plan B, it is to maybe start admitting that older programmers might actually be useful and worthwhile for employment, much like every other white collar profession.

It's true that a 40 year old might not be able to work as many hours as a 20 year old, but that doesn't mean each hour is worth the same. At 40, you'd hope that the older programmers hours put in are more considered with all their experience and are most certainly worth it.

The same goes for older Lawyers and older doctors, they might not be as energetic as 20 year olds, but with all that experience to make that much more of an informed decision, it certainly means the older generation can compete.

This is a culture issue.

> Software engineering reliably undergoes a major technology shift at least > every 10 years.

I doubt any shift invalidates real fundamental knowledge. Sure if your entire career has only been a couple of languages with very little algorithm theory, then true, but that's because you never studied the subject, on your own or formally, that isn't because you're 40.

For example, Doctors and Lawyers have to have the fundamentals down, it's very important. I guess it's true that not enough programmers have the fundamentals down and that is an issue.

But if you're 40 and have training in the fundamentals such as algorithms and design before even hitting the code, you should easily be able to adapt.

> The more irrelevant experience a candidate has, the more lopsided the > utility/value equation becomes

Again this is a HR issue. A software engineer/programmer that starts their work from the design and algorithm level should be able to pick up a new language in a couple of weeks. This issue is mainly with the way we hire programmers not with the programmers themselves.

It's like the job ad for 10 years experience in Node.js when Node.js was 3 years old. Just because HR are clueless doesn't mean we need to all start changing our careers.

If you want my advice, it's learn that knowing people is as important (or more!) than what you know.

If you build up your career around being an expert and networking, you will be in a better position than the expert who knows no one.

<comment><USER19> >Where is the plan B for doctors? Where is the plan B for Lawyers? Why do these other professionals have respect in the their old age and not us software engineers/programmers?

They have unions.

Doctors and lawyers also have strong protections from foreign competition. It simply doesn't matter if you are the best doctor or lawyer if you trained outside of the United States. You won't be allowed to practise until you qualify in the US.

</comment></comment><comment><USER57> Best advice: build your shit.

No matter how much time it takes, 1 year, 2, 3.

If it doesn't work and you don't earn enough, build your shit.

During your career you'll be able to build 3-5 relatively big projects. And about 10-30 small projects and ideas.

And if you're lucky enough, you won't worry about that anymore.

I earned x3 salary 5 years ago. I had freedom, and I could work 5-10 hours a week. But finally my project has failed. Lesson learned. Now I'm far behind these figures.

But I keep on trying building shit. Hopefully, I'll be able to turn it to successful business one day.

<comment><USER58> Please describe the "shit" you would like us to build. I'm asking seriously.

Are you saying we should build a big open source project like Angular or Rails? What are the odds that either of us could build the next Rails though? So are you saying that even if it "fails" and it doesn't displace rails that this is good for your career?

Basically could you explain what you're trying got convey in really concrete terms?

I'm not disagreeing with you, I think you might be onto something or have a useful perspective, I'm just not sure what you're really saying.

<comment><USER57> I'm talking about your own SaaS projects. It's relatively easy to build something on your own, if you're developer. Some kind of tool for business. When you can charge monthly for your product.

Even a very busy person like me can find ~1-2 hours daily for development, and you can think about how to implement what you want in car, bart, on the way home, etc.

</comment></comment></comment><comment><USER59> I just had dinner with two other devs tonight I randomly met at PyCon. Both of them do contract work, and have to turn away work. Neither of them ever specialized in any particular language; they both just focused on using code to solve problems.

There's always going to be a need for people who can walk in to a new situation, diagnose what's going well and what needs to be fixed, and carry that out.

</comment><comment><USER60> One needs to implement life long learning! We are working in a field where there is exponential growth in computing, networking and storage and what computers can do. The robot automation artificial intelligence age are coming! Ordering food will be automated, cooking food will be automated, the post office will be automated. Shopping will to a large extent be automated, there will be 3D models of your body captured by your cell phone or 3D scanner booth. When you enter the shopping mart of the future, the food will come to you, you will not pick it up unless you want to. Why use a shopping cart when you can have a robotic picker do the work for you?

That said I see different things in different people getting older. Some people like life long learning, they will not have an issue finding jobs. Some people stagnate in their internal development after college, they use the same programming languages and tools as they did several years back. They are probably more in danger of getting obsolete by new tech. I think there is danger in your career path if you stagnate as a growth as a person. This will get worse the older you get unless you change.

With years of experience you will also realize that there is fashion in programmer tool chains, it's not necessarily that Javascript is better than say Ruby or Python but it sure is in fashion. Same can be said about NoSQL tech such as MongoDB it is not per say better than sharded MySQL and Postgres but you should still learn it because your younger peers will like it. I like to learn new stuff so I follow along. This also covers fashion in Javascript libraries such as AngularJS and React, there will something greener in the library field down the line I'm sure of it.

Love to learn! If programming is anything like martial arts you will just get better and more skilled with age, take and go the new tech coming in.

</comment><comment><USER61> I don't want to go into managment or consulting, I love being a developer. There is just this misconception that companies think it is a reward for you to put you there. "Hey this guy is really good at developing software, you know what we should do, stop him from writing code and sit him in meetings with stupid people until he becomes one himself"

</comment><comment><USER62> Yes, how tragic that someone might have to suffer the indignity of earning a measly $80,000 a year.

</comment><comment><USER63> "While a technology shift doesn't completely negate the skills of veterans, it certainly levels the playing field for recent grads."

In my opinion, a technology shift (new language, platforms, methodology, paradigm or whatever), doesn't come close to negate the skills you have aquired. In general, I think people underestimate how much of programming that is still the same. I wrote more about it in "Programmer Knowledge" [http://henrikwarne.com/2014/12/15/programmer- knowledge/](http://henrikwarne.com/2014/12/15/programmer-knowledge/)

</comment><comment><USER64> 60 something... they made the first PCs! 50 something... First PC OSs and compilers. 40 something... created the first web browsers, and founded the biggest, longest lasting Internet companies. Had to deal with C, slow computers, crazy memory mapping, OSes that crash. 30 something... started Facebook, wrote mobile apps, created hundreds of more narrowly focused internet companies using pre-existing tools. 20 something... hack PHP, ruby, js to create sites that deliver stuff to you. Utilize heaps of VC cash. The book is still open what they'll accomplish.

</comment><comment><USER65> Before we talk Plan B, let's talk Plan A. The article equates age (and obsolescence) to Plan A. This is incorrect. Age is not a plan.

Plan A is continually improving your skills. Breadth and depth. Know one thing fairly well? Become excellent at it. Is there something way outside your wheelhouse? Get closer to it.

You can't do everything, but chances are there is _something_ you can do to improve your overall skill set. The great thing about Plan A is that age has nothing to do with it. It's a personal choice that you control.

</comment><comment><USER66> Not sure I add much worth to the view portrayed by this article.

However, as you progress in your career become a specialist in a particular field. Avoid becoming a general programmer. So far I've had two programming careers, the first was a games programmer, a very specialised area. The current is building high performance trading system in the financial sector. These are both very liquid and specialised area.

This will increase the likelihood of you being in demand, and afford you the luxury of options.

<comment><USER67> >However, as you progress in your career become a specialist in a particular field.

It's hard to predict the lifetime of the field you are planning to become an expert in.

</comment></comment><comment><USER68> We work in a, relatively speaking, very young industry. It's very hard to draw conclusions by looking back at 20 years ago. Being in a young and highly- demanded industry pushes a lot of us into managerial positions earlier than normal. But essentially, I believe that a developer's age doesn't matter if he/she doesn't stop learning.

</comment><comment><USER69> I get the impression that this varies considerably with the local tech culture. Apologies for making this about me, but has anyone encountered this problem in the Seattle tech market? I'm 36 now, and I'm thinking of moving there sometime soon. As a coder/sysadmin/general tech guy, is this something I should actually be worried about?

</comment><comment><USER70> Learn, or continue to learn, to make great products through quality work, consistent delivery and worry about nothing.

By 40, there should be some success or direction into side projects that might become the main thing.

Quality product designers, architects and engineers that can deliver great products will be in demand until the end of time.

</comment><comment><USER71> Sadly my plan B was a change of career completely after 30. Not proud, but at least I code for fun now.

</comment><comment><USER72> Is contracting not a viable alternative? At 40 I'd assume enough experience to be able to lend yourself to any struggling project that needs a talent injection?

</comment><comment><USER73> If only there was a physical challenge during the hiring process, then this geezer would be a shoe-in! Arm wrestling, 3 mile run, pull-up challenge anyone?

</comment><comment><USER74> > Software engineering reliably undergoes a major technology shift at least > every 10 years.

From web to mobile? What was the tough bridge to cross in the last 10 years?

<comment><USER75> Yes, web to mobile. Native mobile development is a _hugely_ different beast from web programming, just as web development was a huge shift from desktop GUIs in 2000, desktop GUIs were a huge shift from DOS and other microcomputers in 1990, microcomputers were a huge shift from UNIX and VMS and other timesharing OSes in 1980, and timesharing OSes were a huge shift from batch- processing on IBM & other mainframes in 1970.

<comment><USER76> It's interesting that you say the transition has happened between web and mobile, because of a lot of people I know are getting up to speed in HTML 5, and are betting the next few phase of their careers on it. Maybe it's because South Africa is a few years behind the curve, but is there evidence that the share of web-based jobs is declining enough to be concerning, in the first world?

<comment><USER75> The interesting thing about waves of technology disruption is there is usually more than one wave in play at a time, and so a technology can both be disrupting _and_ disrupted. The web was invented in 1989, popularized in 1995, and arguably the point where people realized "Hey, desktop apps are in trouble" was around 2004 when GMail and Google Maps came out. Even so, Dropbox was founded in 2007 as a desktop software company, and that hasn't stopped them from being worth a few billion.

Mobile apps were invented in the 1990s (Newton, Palm), popularized in 2008, and (at least in Silicon Valley) it's a big topic of debate whether the web is dead. In my old job - Google Search - I was still pretty secure as a web guru. In my new job - startup founder - I feel that I at least have to do my due diligence and evaluate the technology.

Whether it's a problem for your career depends on exactly what you want to be doing with your career. There are still people making a living off of COBOL and IBM mainframes. In general, consumer markets peak about 5 years after the technology is introduced to the general public (so microcomputer apps came into their own around 1980 with Visicalc, windowing apps around 1990 with MSWord and various office suites, webapps around 2000 with Google etc, mobile just starting to peak now with Uber/Instacart/etc.) If you're founding a startup you need to account for the time it takes to build your product, so in general you want to use technologies not more than 2 years old. If you're working at a company you _don 't_ want to use technologies until the companies that have adopted them have gotten big, so it's frequently 10 years or so after adoption.

</comment></comment></comment></comment><comment><USER77> I'm fucked

</comment><comment><USER78> FML I turn 40 in May ... And your right it's time to man up and honor alone

</comment><comment><USER79> It helps to focus on the fundamentals. These change very slowly.

</comment><comment><USER80> _For some reason that I don't completely get, a little gray hair and a smattering of experience in different technologies can create a beneficial bias for companies when they are renting brains instead of buying them outright. It may have something to do with the tendency for consultants to be vetted from higher up in the management chain where the silver foxes live._

I can explain this. It's a very old idea. The truth about the young hires is that they're cheap and the work they do isn't very important, but they're hired based on the potential to rise a level or few.

From an executive perspective, you don't hire juniors for the work they'll do, because it's usually not of high impact of value. You hire based on the probability that they'll be high-impact employees later. It's impossible to predict this at the individual level, so you're building a portfolio.

Of course, in 2015, the one-company-for-life model is pretty much dead and most people who get executive positions get them by job hopping at the first sign of an obstacle. Likewise, companies invest very little in their junior employees and tend to hire top-level talent from outside. So the biases from the old days don't really make sense.

If someone's 40 and still a junior or mid-level engineer, the assumption is that he's "too old" to become a high-impact employee in 5 years. It's completely ridiculous, these days. He could have been doing something else, like trying to make it as a novelist or working in a dive shop. It's a hold- over from the employment-for-life, gold-watch era.

For the consultant, he's not selling himself on some hazy "future potential" factor, so no one cares how old he is or (more relevantly) how old he'll be in 10 years.

Very few people actually think that young, junior programmers are more skilled or better at their jobs than the 50+ badasses. The issue is that the young juniors come with a 5% chance of being a high-impact, executive-level employee in 10 years. Since the people making big decisions are executives who tend to discount the importance of everyone but executives, this still matters... even though the one-company-for-life model is pretty much dead.

</comment><comment><USER81> >This article is using information collated in 1998. >I have met a lot of unemployed former Programmers though? >When I was younger I has no idea just how fast 40 would come. One downturn cycle in the economy, and poof--you're there? (I do believe our bubble is about to burst again?) >It does seem like certain young individuals come up with the most original ideas.(Certain, not all, and if you need to tell people about your brilliant ideas; your ideas might be very unoriginal?) >When I was in my twenties, you couldn't pay me enough to sit in front of a screen all day. I would crack one those 500 page phone books, and want to puke. As I got older, my priorities changed, along with my ability to study boring things. Yes, I said it. I find a lot of computing boring, and very tedious. Ironic?

<comment><USER81> I guess I am getting old. I am to lazy to reformat my comment. I thought > would do it? Definetly don't hire

</comment></comment><comment><USER82> At 38, I'll admit that the general atmosphere of ageism in tech--whether real or not--scares me a bit. I guess I can take solace in the fact that, as a Data Scientist, I'm in a field that's too new to have rampant and widespread ageism.

</comment><comment><USER83> "You know what they do with engineers when they turn 40? They take them out back and shoot them"

<comment><USER84> Unless they invent time travel before that.</comment></comment>


Lightning Strike Electric Motorcycle Launched from $12,998 - <AUTHOR> http://lightningmotorcycle.com/strike_launch/ <comment><AUTHOR> Lightning Strike just launched.

$12,998 for 90hp 10kw battery w/3.3kw onboard charger

416,998 for 90hp 15kw battery w/3.3kw onboard charger

$19,998 for 120hp 20kw battery w/6.6kw onboard charger and Ohlins suspension

Pretty solid numbers, waiting to read reviews.

Quite an interesting pricing ladder compared to Zero Motorcycles product range and Harley-Davidson's upcoming LiveWire.

It will be interesting to see if the $12,998 version gets delayed like Tesla Model 3.

Zero Motorcycles have done quite well to develop the motorcycle market in the US and justifiably deserve some of the media spotlight focused on Tesla.

As a lifelong moto4cycle fanboy, I sincerely hope Lightning and their new Strike model are a success.</comment>


Ask HN: Why doesn't anyone ever read the docs? - <AUTHOR> This is one of the strangest behaviors i've seen in programming. I understand some docs are incomplete or incoherent but most of them are really good, especially the ones coming out of an enterprise setting (React, GraphQL, Apache, etc.).<p>Most engineers I know rush to youtube or medium or some other outsourced interpretation of the docs that is far more scattered in info. I was wondering what made you (if you're one of the types that prefers medium/YT over the documentation) prefer these off-hand interpretations of a program rather than the one who created it ? <comment><USER2> Because the documentation seldom is good and almost never really good. Long and "complete" documentation isn't the same thing as good documentation.

I have a piece of software and a task I want to accomplish. For example, list files ordered by size in ascending order. ls' man page tells me how to do that, but I have to piece the information together because it is arranged option by option. Thus, I'm forced to read more than what I'd like.

Or I can google "ls sort files by size" click on the first link [https://alvinalexander.com/photos/linux-ls-command-how- sort-...](https://alvinalexander.com/photos/linux-ls-command-how-sort-by- filesize-reversed) and voila.

Most people writing docs don't get that people learn by example. Thus the docs they write lacks examples and therefore are not very useful.

<comment><USER3> > I have a piece of software and a task I want to accomplish. For example, > list files ordered by size in ascending order. ls' man page tells me how to > do that, but I have to piece the information together because it is arranged > option by option. Thus, I'm forced to read more than what I'd like.

If you don't take time to read the entire manpage or at least skim through to find the optimal solution, then you're not experienced enough IMO. I understand the rush to come up with a quick win and amaze everyone, but the first quality I notice on senior engineers is that they were really slow in delivering solutions. The ROI would come up later when drawbacks were documented, the solution was well explained and most of the times elegant, hence no one would need to touch that part of system anytime soon and if someone did had to do so, he'd have a head-start.

<comment><USER2> I think you are projecting. "I'm a good developer and I read man pages so someone who doesn't read man pages must not be a good developer." Maybe YOU are the unexperienced one because YOU don't realize that reading man pages is a waste of time? :P

<comment><USER3> Sure! After all this is the internet, everyone is entitled to an opinion.

</comment></comment></comment></comment><comment> chupa-chups Docs often describe what the one documenting has in mind while designing, explaining already known facts to herself/himself from the point of view _past_ understanding the domain.

Users start fresh. If users had spent as much time as the one documenting they would probably _love_ the documentation, but since they are new, the viewpoint differs.

Truly good and intelligent documentation tries to capture the mindset of the assumed reader.

</comment><comment><USER4> 1\. The design of documentation is usually atrocious (PHPs language docs make me throw up in my mouth a little every time I see them)

2\. Documentation is written by super smart people designed the software... they tend to have a tough time relating to normal developers and especially beginners

3\. Docs never provide enough examples. Stack overflow literally exists for this reason

4\. Documentation is an after thought for most pieces of software (laravel is a notable example to the contrary - the docs are part of the software design for laravel), and not a forethought.

5\. People just don't read period

6\. Documentation usually has contrived examples, where other sources often have literally the think that you were trying to do (Users, Posts, Payments, Tags, etc)

Short list... but hopefully helpful

</comment><comment><USER5> I recently worked with a professor leading grad students in a software development project, he told me they seemed somehow cognitively incapable of absorbing information from standard docs and man pages. When they came to him with questions, he'd show them the answers plainly available in the docs. But when it came to finding answers on their own, they were totally dependent on web forums and such online resources.

A matter of generational cultural conditioning I guess.

</comment><comment><USER6> I think they serve different purposes. For example Python pandas has excellent documentation, and usually that's enough if you need to know how to use a function.

However, for many programmers the difficulty is to break down real problems into functions, and docs however good they are, won't help much.

</comment><comment><USER7> Taking what you read in the docs and then using it to solve the issue you are solving is not always easy. I was just running into that with Elasticsearh this week. Sometimes it takes asking a question and getting some clarification for the pieces to snap together.

</comment><comment><USER8> I go to where the search engine points me to.

Sometimes medium is better because it has examples. I want the direct answer to my problem, the one liner. I don't have time to read a book/doc.</comment>


Google search adds mandatory click-through EULA - <AUTHOR> http://imgur.com/xFYH07D <comment><USER2> Just clear your cookies and reload

<comment><AUTHOR> Any idea what triggers it?</comment></comment>


If being too clean makes us sick, why isn't getting dirty the solution? - <AUTHOR> https://theconversation.com/if-being-too-clean-makes-us-sick-why-isnt-getting-dirty-the-solution-50572?utm_medium=email&utm_campaign=Newsletter%20for%20Sunday%20January%2017%202016&utm_content=Newsletter%20for%20Sunday%20January%2017%202016+CID_458a2368e784f399b1f1105283ab13b1&utm_source=campaign_monitor_us&utm_term=If%20being%20too%20clean%20makes%20us%20sick%20why%20isnt%20getting%20dirty%20the%20solution <comment><USER3> Thinking in English words makes "clean" and "dirty" sound like single- dimensional vectors that directly oppose each other. But that's not true. What is actually true is an n-dimensional vector, with an enormous variety of "cleans" and "dirties", and even more complicated when you start combining the vectors. Plus you don't get to custom-design them; you have to take what exists in the world. So when you "clean" yourself with a certain soap of the "dirtiness" you currently have, you don't get to custom design a cleaning agent that precisely knocks out only the portions of the "dirty" vector you have, you can only use things that exist, with all their side effects.

A lot of things in the real world work like that, but the medical world, since it involves biological bodies, the most complicated things in the known universe, seem particularly prone to this problem. Similarly, if you have a genetic disease where X is overexpressed, but its action is opposed by Y, it isn't necessarily a solution to just increase the expression of Y, because where English makes "oppose" sound nice and clean, in reality that's a summation of two complicated vectors. For all you know, X and Y also have a way in which they work in the same way, and having a system that overexpresses both will suddenly expose a pathology where the combination of both becomes fatal even so. Biology's a nasty place. The engineering is profoundly non- human.

</comment><comment><USER4> I think "inflammation" is the modern day's "bad humors". We don't really understand the relationship between inflammation and illness and yet inflammation get's sold to the public as an important cause. Unfortunately, anti-inflammatory drugs don't improve outcomes for heart disease or Alzheimer's, even though inflammation is somehow implicated.

So mucking about with worms or other parasites to give the immune system something to do is most likely not a good idea until we better understand the underlying mechanisms.

<comment><USER5> Sports medicine has always been a bit more pragmatic than other branches of medicine. "We have no idea how this works, but it makes people run/swim faster, so let's do it!"

I think a lot of work 10 or 20 years ago went into reducing inflammation. Less inflammation = could train again the next day! Pound down that Advil at the end of your workout so you are ready to go!

Over the last few years, it seems more and more people are saying "The inflammation process is what makes your body stronger - you can't stop it without losing the benefits!"

On the other hand, I do still see inflammation stopping treatments around. i.e. football players after a game getting into basically a freezer for 15 seconds to reduce muscle inflammation. Possibly the logic there is that they are already trained and not looking to get "stronger", just recover from the days damage as fast as possible to get ready for the next game.

<comment><USER6> Sports medicine seems to forget about the placebo effect.

I've seen players, weekend warriors, even former amateur athletes trying to improve injury recovery times/performance with procedures, folklore, gadgets, or just "This is what my coach said".

I believe we need to get the strong science into sports medicine. And when pointed to studies, they are like studies done in too many psychology studies--"The study compared twenty athletes to blah, and no follow up with larger objective studies.

The athlete is the perfect candidate for placebo cures, in so many cases.

Sports medicine seems to hurt a lot of athletes with the whole, "Hay--it works!". Yea, and it kills, and shortens life spans in athletes(professional) too?"

I don't want to argue, but I believe Lance Armstrong won most of those wins with the placebo effect.

Yea--scream all you want. Lance didn't come across as that knowledgable. He belived everything those doctors were telling him.

I'll never forget something his Italian doctor said when he was being roasted over all the drugs. I won't get the quote right, but it was after all the villagers/authorities busted the two of them. Lance one one race without anything in his system. He might have had blood transfusions? It doesn't matter, his doctor said, "Lance won on the placebo effect! Probally all along?"

Not one reporter asked what the placebo effect was. I have a weird feeling most of those drugs were hampering his performance. But the super powers of that placebo effect were magic?

<comment><USER7> > I believe we need to get the strong science into sports medicine.

Professional sports already bring on board the best (applied) science that money can buy. The approach is practical because there are billions of dollars on the line. If that is not good enough for you uppity sense of scientific purity, too bad. When you own a team, you'll be free to do as you please with your own money (just don't complain if your team is beaten by all the others that do not share your scientific sensitivities).

Professional athletes and their coaches will not stop doing what is well known to work just because a bunch of nerds have a quasi-religious taboo against the "placebo effect".

</comment></comment></comment></comment><comment><USER8> Practically, one could:

* wash hands, and frequently (but you don't need an antibacterial soap -- they're bad for fish)

* use your well-seasoned wok/cast-iron skillet and not wash it with soap

* eat your fermented foods (from funky cheese to kimchi)

* eat things straight out of the garden without washing as long as there is no visible raccoon poop

etc. It is also possible to use different gradations of cleaning power for your body and house: bleach kills everything while vinegar and baking soda clean most things just fine; some soaps are less harsh than others. Showering regularly is a blessing in high population-density areas, but you don't need to sanitize every part of yourself every day.

The only area in my life where I'm fanatical about sanitization, in fact, is brewing beer. There a certain outcome is desired and my usually carefully cultivated lackadaisical attitude is not appropriate.

</comment><comment><USER9> The problem with the hygiene hypothesis is that clinical trials to test it haven't really shown any results so far. Coronado Biosciences tried using pig whipworm eggs to treat Crohn's disease and other inflammatory conditions and the result was it showed no impact whatsoever.

Now that's not to say the theory is completely debunked, but so for our theory hasn't really held up with testing.

It kind of reminds me of antioxidants as well. Yes, there is a lot of evidence that oxidative stress plays a role in disease, but attempts at levering antioxidants hasn't shown any impact.

<comment><USER10> But, if the problem I'd that the immune system learned the wrong thing, then you can't fix it with whipworw, it's too late. Kinda like somebody learning a second language late in life.

The only to test a theory would be to use infants twin, raise half of them in clean conditions and expose the other half to all kind of bacteria, etc...

</comment></comment><comment><USER11> I can't be bothered to write a complete takedown, but two things come to mind:

1) The author falls prey to the naturalistic fallacy:

> We can actually achieve a good mixture of gut bacteria very similar to that > of our hunter-gatherer ancestors by adopting a good diet high in fiber and > low in processed foods.

2) I've read studies to the effect that some infectious diseases can affect intelligence. Particularly when children are young - apparently there is a mechanism to either further develop the immune system or the brain depending on the environment (this might partially explain the Flynn Effect). I can't find the exact study (this used to be in this section - [https://en.wikipedia.org/wiki/Impact_of_health_on_intelligen...](https://en.wikipedia.org/wiki/Impact_of_health_on_intelligence#Infectious_diseases) \- but I think it was edited out at some point).

<comment><USER12> Your point one sounds like a fallacy fallacy, i.e., just because some conditions of a fallacy are present, does not mean it applies.

The article does not state that every aspect of the hunter gather microbiome is superior to the modern day ancestor, rather just acknowledges the complex and long process of evolving mutually beneficial microbiota which is being disrupted by modern technology. That statement is not as controversial as you imply.

Perhaps when you aren't so busy reading Hacker News, you might be "bothered" to give a more complete reposte.

<comment><USER13> Ironically, I think you may have fallen victim to a kind of fallacy fallacy fallacy, because the fallacy fallacy concerns the interpretation of an argument assuming a valid fallacy in it does exist. At least according to Wikipedia's definition of fallacy fallacy.

Rather, in this case the parent post merely misidentified a fallacy.

</comment></comment></comment><comment><USER14> I think the habit of getting in touch with nature begins as kids - <USER2> with mud, getting enough sun, swimming/playing in ponds/lakes/rivers. That improves our immunity to a good extent. However these are good only in natural settings and not so good in the nature-pockets in urban areas.

</comment><comment><USER15> It seems like a focus on the internal human biome could be a Kuhnian paradigm shift -- but like everything else about health, it also presents ripe opportunities for quackery. Let's see some more real research on this before anyone starts trying to self-infect.

<comment> norea-armozel I believe there was an article about how one research study was wrong about the percentage of human mass being bacteria (I think the claim was 50% of our mass is bacteria). So, I expect Mercola and company to latch onto this craze soon enough if they haven't already.

<comment><USER16> I've never heard it stated in terms of mass, I've always heard it in terms of a human body having many more bacterial than human cells. But that is being revisited (probably the research you mention):

[http://www.nature.com/news/scientists-bust-myth-that-our- bod...](http://www.nature.com/news/scientists-bust-myth-that-our-bodies-have- more-bacteria-than-human-cells-1.19136)

Turns out it is probably ~1:1.

<comment><USER17> And prokaryotic cells are much, much smaller than eurkaryotic cells. I think the mass of a eukaryotic cell is over 1000x the mass of a prokaryotic cell.

</comment></comment></comment></comment><comment><USER18> I think in our lifetimes we went from "antibacterial in everything" to "wait there is something about these bacteria that we want." Science is catching up to the idea because of the mistakes we've been making over the past decades. Hopefully they can figure it out in our lifetime.

</comment><comment><USER19> Some people go to extreme lengths to implant beneficial flora into their gut... with, I kid you not, POO TRANSPLANTS ([https://en.wikipedia.org/wiki/Fecal_bacteriotherapy](https://en.wikipedia.org/wiki/Fecal_bacteriotherapy)).

Seems like it's mostly done for medical reasons at the moment, but I could easily see this becoming a fad craze.

You can actually buy poo tablets, and become a poo donor. [http://www.openbiome.org/](http://www.openbiome.org/)

<comment><USER20> Those poo transplants have saved a lot of people suffering from Clostridium difficile colitis, a very serious and potentially fatal condition.

<comment><USER21> Also there are a bunch of clinical trials to see to what extent FMT helps with other diseases (inasmuch as those diseases stem from dysbiosis).

[https://clinicaltrials.gov/ct2/results?term=fMT&Search=Searc...](https://clinicaltrials.gov/ct2/results?term=fMT&Search=Search)

<comment><USER20> Is dysbiosis being considered as a possible contributor to colorectal cancer? It's a big killer in the US. Lists of risk factors only include eating processed meats, type 2 diabetes, alcohol consumption and being overweight.

<comment><USER22> Well, there are changes in the intestinal / colonic microbiota changes associated with CRC, and some putatove mechanisms of causation. See:

[http://www.sciencedirect.com/science/article/pii/S1931312813...](http://www.sciencedirect.com/science/article/pii/S1931312813002552)

</comment></comment></comment></comment></comment><comment><USER23> The post-cleanliness society is one of Samuel R. Delany's visions:

[http://www.lesleyahall.net/clean.htm](http://www.lesleyahall.net/clean.htm)

<comment><USER24> I remember reading Nova as a teenager and being simultaneously fascinated and revolted by how filthy everyone was.

</comment></comment><comment><USER25> About a year ago, after reading some material (I think posted on HN) I decided to stop using soap on my body, for the most part.

I have long hair, and I've struggled with dandruff in the past, so washing it with shampoo and conditioner seemed to be the only way for a long time.

But for the last year, I get up and do a relatively quick, hot shower. I use a tiny bit of soap between my legs. For the rest of my body, and especially my scalp, I vigorously scrub with my hands and fingernails.

My hair, scalp and skin have never been more healthy. I produce notably less body odor now.

So...I have been and remain a clean person. But now I'm not using substances that'll kill most everything on the surface of my body. And this has been a very good thing.

<comment><USER26> In my experience with a pair of friends who have gone the "no more soap" road, it isn't that they produce less odor (quite the contrary, and to the detriment of their careers, I'm really a bit sad to say), it's that they get accustomed to their odor.

</comment></comment><comment><USER27> Uhm, that's all possible but 'sick' is rather general. IIRC there was an article here recently where children growing up on farms were compared to children growing up in cities and the consensus was that because the farmers were more exposed to typical 'farm dust' (think pollen, animal excrement, ...) they were less likely to develop all kinds of allergies (indeed: pollen, animal excrement, ...) than those from the city, and less allergies in turn means less prone to asthma and other respiratory problems etc. In other words, that article is like exactly the opposite of this title, in a way.

</comment><comment><USER28> So... Implanting symbiotic worms in our bodies for improved immunoresponse? Someone has been watching Stargate SG-1.

<comment><USER20> The story of Jasper Lawrence is pretty interesting. He suffered from severe allergies that incapacitated him much of the time. He got so deperate that he went to Cameroon and walked around in poop in open latrines to infect himself with hookworms. Couple of months later his allergy symptoms were gone.

<comment><USER29> An interesting bit of Internet-culture history is that the original "guide" was a long post to kuro5hin:

[http://www.kuro5hin.org/story/2006/4/30/91945/8971](http://www.kuro5hin.org/story/2006/4/30/91945/8971)

</comment></comment></comment><comment><USER30> As everything in life. The secret is in the balance.

<comment><USER12> That is a platitude to me when you have no idea what the range values are. We may be in an extreme end but if the dimensions are not defined in a meaningful way, where is the wisdom in this statement?

You might as well say the secret to winning a football game is to score more points than the opposing team.

<comment><USER30> To tell you the truth I don't really know (and understand) what you are talking about. Myself, I understand balance as not to be phlegmatic and not to exaggerate towards things, life. Hopefully you can understand what I wrote and tried to say (English is my 4th language) better now? Let's take washing hands as an example. Don't wash your hands every 15 minutes just because you touched door handle or shook hand with someone but be sure to wash it when you finish your toilette business...

Your football game example reminds me of :

"If you want to win you must not lose" – Number One (Alan Ford)

</comment></comment></comment><comment><USER31> A good read :

Riddled with Life: Friendly Worms, Ladybug Sex, and the Parasites That Make Us Who We Are by Marlene Zuk

[http://www.goodreads.com/book/show/832783.Riddled_with_Life](http://www.goodreads.com/book/show/832783.Riddled_with_Life)

</comment><comment><USER32> I guess for the same reason that starving to death isn't the solution to overeating.

</comment><comment><USER33> If vegetables are part of the answer, I wonder if vegetarians show less immune diseases.

<comment><USER34> I have an autoimmune disease (Ankylosing Spondylitis) and I've been pescatarian for a little more than a year. I'm not on any biologics, my sed rate is pretty normal and I feel SO much better. Part of my diet change is that I eat a large amount of fiber (40+ grams a day generally), which is very prebiotic. I would say it really has helped me, its probably worth trying a diet change if you have an autoimmune condition.

</comment></comment><comment><USER35> My doctor: "Let the kids play in dirt. It actually will help them become healthy."

Good advice. I live int he city so the kids get to play in the garden. :)

<comment><USER36> There's really no evidence to support it. It sounds nice and may turn out to be true, but we can't say for sure. Riding the subway probably does more for immune development than playing in the dirt.

<comment><USER35> John Hopkin's might disagree:

[http://www.hopkinsmedicine.org/news/media/releases/newborns_...](http://www.hopkinsmedicine.org/news/media/releases/newborns_exposed_to_dirt_dander_and_germs_may_have_lower_allergy_and_asthma_risk)

<comment><USER37> The interesting thing about that study is that the protective effects only work if you're exposed before you're one year old. This makes it a bit late for most of us on HN.

<comment><USER35> No I think ti says the benefits only last till one years of age.

</comment></comment></comment></comment></comment><comment><USER38> Is too clean really making us sick? Seems like it encourages allergies and such

</comment><comment><USER39> To me it's obvious. Till now no one questioned pharmaceutical and body care products. We've been led astray. We used soap/shampoo when we wake up, antibacterial soap morning noon and night, lysol disinfectant spray on all surfaces, a pill for ADD before bed. So for 40 years we have been doing exactly the wrong things.

You can't unscrew this by throwing dirt on it. Dirt isn't the right bacteria either. Even bacteria has an order to it. There are a common set of bacteria on us and things and they needs to be there. We've been convinced by corporations selling a products, that bacteria is bad.

<comment><USER40> Blaming the allergy and inflammation epidemic on anti-bacterial soap and other similar products is a common hypothesis, which is probably why this article was written to argue against the hypothesis.

The article's hypothesis is that the cause is indoor living and processed foods.

<comment><USER12> Your statement does not agree with the article. Encapsulated in the sentence "cause is indoor living" implicates products such as antibacterial drugs used in soap, toothpaste, everywhere etc.

<comment><USER40> The article includes lines like "giving up soap won't help your biome".</comment></comment></comment></comment>


Market Pegged Assets - <AUTHOR> http://whatisbitusd.com/whitepaper/

<comment><USER2> This is interesting. Always enjoy the innovations that come out of the bitcoin community.</comment>


PNDA: Cisco's big data analytics platform now open source - <AUTHOR> http://pndaproject.io <comment><USER2> now open source? Seeing all the dependencies, its not really by choice its open sourced. It's build on open source.

<comment><USER3> i was under the impression there are licenses allowing you to use open source dependencies without open sourcing your own work

<comment><USER2> That is possible yes, e.g. if they kept it for in-house usage (with GPL as example) they would not have have been obligated to open source it, provide the source.</comment></comment></comment>


The Price Of Going DRM-Free: Apple's Hidden $1.8 Billion Music Tax - <AUTHOR> http://www.techcrunch.com/2009/01/06/the-price-of-going-drm-free-apples-hidden-18-billion-music-tax/ <comment><USER2> tax: a compulsory contribution levied [... blah blah...]

hidden: kept out of sight

I think this got mistitled on at least two words.

No one is required to upgrade their DRM laden tracks. They presumably bought them and considered it a fair deal. If in the future they wish to upgrade to a DRM free format with better audio quality then it will cost $0.30/track by the current rates.

I've read at least one DRM track owner who is not planning to upgrade on the theory that eventually Apple will get tired of supporting DRM and will offer free upgrades. I don't see any reason for the labels to allow this, but one can hope.

501?! I am astounded that I have accumulated 501 Protected AAC files over the years since I more or less stopped buying them a couple years ago (unless I need one in a hurry to learn the song and can't find a DRM free one in iTunes or Amazon). $150 to upgrade? Suddenly it sounds expensive.

I think I'll wait for the slim chance of a future discount.

</comment><comment><USER3> I mean .30 cents per a song (that you have already bought) kinda makes me cringe; although DRM free music is awesome..and I'm glad its here.. :)</comment>


Ask HN: What are your "Seinfeld Moments"? - <AUTHOR> Those little everyday annoyances you encounter: the person who takes forever to order at Starbucks, the moment you feel unfairly obligated to respond to a fb message or iMessage because it's marked as "read", etc. <comment><USER2> Going through the same configuration steps for a new .netcore app that I've forgotten since last time.

</comment><comment><USER3> Setting up gSuite mx/spf/dkim/_dmarc for the n-th time for a new side project.</comment>