Why the Tech Industry Needs to Deal With Its Ageism Problem
simplicity.laserfiche.com
simplicity.laserfiche.com
Young people have a greater percent of their experience on the most modern platforms and are unlikely to "write FORTRAN in any language" (JS, Ruby, etc).
We've also discussed how homogeneity is valuable to an early startup. Having everyone be culturally similar may allow faster pivoting and interpersonal comprehension.
Finally, tech startups today are largely focused on the "exit": it's not about building and maintaining a product in the long term. Older employees have the planning, analysis, and maintenance experience to establish a product vision for the next decade. But the startup founder (by and large) doesn't want to think of a product over a decade; it's all about MVP, pivots, and fast exits.
Not that any of that is bad, it just doesn't fit well with the average older employee.
I'll admit when hiring I have a little bit of the opposite bias. Very young employees can sometimes be too aggressive about "what is this legacy garbage? we should rewrite it all in RoR and JS". Hey man, we're still maintaining COBOL apps here, slow your roll. It's all about long term planning and maintenance for us.
Startups don't die from producing too little code; they die from not writing enough code that really matters to the end user.
Homogeneity is also the natural state for human beings and not necessarily a sinister plot. If you solve our natural tendency to surround ourselves with people who look and act like us, you'll probably have solved racism, sexism, ageism and just about every other -ism. I' not saying we shouldn't challenge this instinct, but I also don't think we should be surprised that white, 25-year-old, male founders have a tendency to hire other white males in their mid-twenties.
It doesn't have to be an organized plot to be sinister. Thousands of people acting semi-independently can end up with a sinister outcome.
Your point about homogeneity is an important one as well. In small organizations, cultural fit - opinions about that culture notwithstanding - is much more important than in larger ones, for the reasons you listed and more.
That said, a wise co-worker once said "you can't have juniors without seniors". While younger workers can be a boon to startups from a price/performance point of view, it is important to also have experienced, if more expensive, employees who can provide guidance and direction to those juniors.
Otherwise, you can find yourself a few years down the road to growth with massive technical debt and a naive technical platform that was built with good intentions but is now full of problems that are extremely hard to correct.
Yup, I'm speaking from experience here. ;-)
> Younger people will often be willing to work more...
Younger people have to work more, because they don't have enough experience to work efficiently, yet.
> Young people have a greater percent of their experience on the most modern platforms
So, 1 year of "shiny new tech" > 1 year of "shiny new tech" + 20 years of other relevant experience? Riiiight.
> homogeneity is valuable to an early startup
Wow. Homogeneity is a killer for any team. The whole point of building a team is to find people who can work together, and become more than the sum of their parts. For that, you need people whose strengths cover for their team-mates' weaknesses... the very opposite of homogeneity.
OK, it's not all rubbish. I agree with this...
> Very young employees can sometimes be too aggressive about "what is this legacy garbage? we should rewrite it all in RoR and JS
Younger people have to work more, because they don't have enough experience to work efficiently, yet..."
You conveniently glossed over his main point...
that young people will work for less money.
I think that's a HUGE selling point.
So you as the tech employee must be aware that your life is short if you don't continuously grow your skills so you don't become an unjustifiable expense later in life. Not only that, but you have to become an expert in marketing these skills.
Maybe the problem with the senior workers, is that they are too generalist for the pay they expect. And maybe in too many cases, the expectations to the products produced are not high enough to warrant the pay of a senior developer, which there is nothing to do about, other than raising expectations.
Also, not all young people actually like to be in tech. They don't know it yet that they should be in sales, business analysis, ... You lose them on a regular basis. Older developer on the other hand are going to be at the place they want to be.
Second, no one has 20 years of relevant experience. Maybe computer science fundamentals have stayed about the same, but it was 1993 20 years ago, and what we do now looks nothing like what those of us who were around then were doing. Further, all those years of experience could have, and often do, entrench very bad habits. I've seen some atrocious code from people switching from older workhorse languages to more modern ones, it's not pretty.
Finally, /the data suggests/ homogeneity is valuable in early startups. You're not wrong about needing a team with different strengths, but you also need a team that really understands each other intuitively and agrees on fundamental values and principles. There's too much friction otherwise.
Depends on what level you're talking about, I suppose.
I'll grant that nobody has 20 years of experience in JSON. However, a guy with twenty years of experience in services through CORBA->SOAP->REST and could be invaluable on an API project, for example. Especially if it's a project that should be built to last.
20 years ago I learned some Objective-C. That's still fairly relevant. I recently used an obscure bit of Foundation knowledge no one else around me knew, so to some extent it was even valuable.
Design patterns from 20 years ago may be looking a little long in the tooth, but if you learned the principles as well as the pattern (i.e. what matters most is separation of concerns) that still serves you well today.
I've been designing game APIs for 20+ years, actually. And that's what I'm doing now as a contractor.
I'm still working in C++ like I was in 1993 as well. I first learned C++ in 1989, so that's also 20+ years experience.
>all those years of experience could have, and often do, entrench very bad habits.
Working exclusively with languages like PHP, Ruby, and JavaScript can entrench some pretty atrocious habits as well. I would put my "started with assembly language and moved eventually to high level scripting languages" habits up against a "started with JavaScript" programmer's habits any day.
>Finally, the data suggests homogeneity is valuable in early startups.
What data? I think compatibility between developers is important. But I'm working on a project right now where the median developer age is about 25 (I'm more than twice as old as some team members), and I'm making crazy fast progress on my part of the project, keeping everyone happy. Beyond happy, really; no one expected me to get as far as I have this quickly. And yet I'm putting in 30 hours a week or so.
I think being awesome is valuable, on any project, startup or otherwise, and that "fundamental values and principles" is a red flag indicating "OK working tons of overtime", which is clearly not necessary if you have the awesome.
I haven't been using most of the other C++11 features, primarily because they aren't on all the platforms I'm targeting (yet!). But I will. They look very tasty. :)
Please don't take this the wrong way as I am extremely respectful of talented c++ game developers. I'm also a game developer but I have no deep background of asm/c/c++. I'm using Unity so I don't need it, but I sure wish I had it.
Node.JS is cool in concept; in practice, the code ends up being really ugly because JavaScript doesn't have real closures. Callback hell. You know what I'm talking about.
I'm using Ngnix+LuaJit to get even more performance out of the same server hardware than Node.JS can provide, and I don't need to have nests of callbacks to get non-blocking logic since Lua supports true closures. The code is positively readable, especially compared to Node.
My only regret is that some of the cooler JS client libraries (socket.io in particular) require Node.JS on the server; for my current project (which involves HTML5+JavaScript+networking) it would be really nice to have, though I've already got the Nginx+LuaJit(+ZeroMQ) part of the architecture working, so I'm loathe to add a Node.JS server in addition just to avoid long polling.
So no, you're right, if I were to work with a startup that needed high performance servers, I'd probably not want to be tied down to Node.JS or Ruby. If someone wanted to hire me to handle that problem for them, I wouldn't need the "youngsters" to help me out. But I have enough gig options that I can say no to ones that I don't like. :)
And before you say that "no one knows that stack!", code written this way is far easier to understand by anyone who knows any stack, and that means it wouldn't be hard for a Node.JS expert to step in and maintain it. There also exists a thriving Lua community to pull developers from, for that matter -- some of whom maintain the stack I use. [1]
But it does improve the situation, you're right. What I'd love to see happen, though, is for the browsers to all adopt asm.js so I can just run Lua in the browser, so I can be symmetrical with the server... ;)
>there's several big corporation supported JS engines
There's one awesome LuaJIT that's faster than any of the JavaScript engines, not to mention much smaller, easier to build cross-platform or embed, and easier to bind to C code. I only need one, after all. :)
Or any evidence that age = worse code?
And, can we see the data for homogeneity? Not anecdotes, data.
edit: recall Woz and Apple. Woz was a briliant designer, who mostly hung out with people like himself. He admits he never could have started or run Apple. Yes, this is an anecdote too. But I suggest thinking about whether 'friction' has value or not. I suggest it does.
I'll assert the opposite: I haven't seen many new ideas on the software front in the last 20 years. All the advancement has been domain-specific. I bet you could take a team of people who were experts in 1993 and hadn't touched a computer since and still develop a world-beating product today, all else being equal. Heck, Common Lisp has pretty much stagnated for what 15+ years now (the ANSI standard is 20 years old, and CLTL is 30), and ITA is still writing world-beating software with it...
I worked at my first Internet startup in 1993.
Sadly, the web archive only tracks it back to '97... http://web.archive.org/web/19970429192003/http://www.link.ca...
I started in ops, installing things like web and email servers. My first application was doing email parsing.
Oddly, today (literally), I'm writing code to do email parsing.
> I've seen some atrocious code from people switching from older workhorse languages to more modern ones, it's not pretty
I've seen atrocious code too. Young, old, legacy, greenfield ... none of these things have anything to do with code quality.
I've met my fair share of older devs writing terrible code and taking their sweet ass time to do it. They just clock out on time and go home, safe in their assumption that their mission-critical piece will need their personal maintenance for another decade.
They are also more likely to be dumber and lacking in versatility. Older people just have more experience, more knowledge, just by the fact that they have more time to accumulate more knowledge, so they may often may be more productive than 2 or 3 youngsters combined and still have time for family and other hobbies. Of course, that's only true if the older technical folks don't coast and continue to learn since when they were young.
(Yes I am a 22 years old who uses modern frameworks like ruby on rails and meteor. The exact profile that software firms want to hire.)
I think you mean 'naive' or 'inexperienced'. Stupidity ('dumb' isn't PC, but nobody seems to care anyway) is generally thought of as something inherent.
(Insert Peter principle jokes, who goes into management jokes, etc)
The flipside: I'm old now, but can remember when I was young in the early 2000s.
At the time I was in the Unix space. Older engineers were adamantly pushing Solaris 6 and 8 on incredibly overpriced, poorly performing UltraSPARC over Red Hat on Xeon, for the blindingly obvious reason than they didn't really like learning anything new.
Of course, that was private: to anyone unfamiliar with the platform, they'd simply say that 'you couldn't get support for Linux'. They knew this was false - IBM and Red Hat were banging down their door to sell support contracts (still far cheaper than Sun's rubbish hardware + good support contracts), and Red Hat had hired a lot of Sun's staff - but if they made enough noise, they thought they could slow things down.
It worked, for a couple of years.
(Later on I realised that enterprise architecture purchasing choices are frequently based on dinners, golf tournaments, and straight up dropping cash into your account, but that's a separate story. )
Short version: older engineers can be overly change averse, much like younger engineers can be overly enthusiastic about change.
I've known some older engineers (older than me, heh) make crap decisions because they didn't like change.
Then I've seen younger engineers completely mess up good, maintainable code because they think that knowing one language makes them masters of software development.
I try not to hire any of those two persons.
BUT, I've also seen young programmers completely fail because they couldn't adapt to a newer (or older...) technology.
And I know some very much older programmers who are constantly reading up about new stuff, and loving it.
Bottom line, look at who you're hiring, not only how old they are.
I don't think we are. I for one judge individuals as individuals. That doesn't mean we can't observe the wider group and make observations.
> Bottom line, look at who you're hiring, not only how old they are.
Of course.
If you were young in the early 2000s, you are not old now. You are barely approaching middle age.
Outside tech, indeed I wouldn't be considered old.
I don't have a plan other than to make something useful and hope it gains traction. I "release early, and release often", and I work on whatever I feel like doing on any given day.
I've never been paid to write Fortran, and I've only ever seen Cobol once when some cute girl in my college lab needed help, so I gave it a shot.:-)
Anyway, I'd say that you're wrong, but the one thing that I have learned over time, is that it would probably be a waste of time, my most precious resource, trying to convince you otherwise. Ok, back to work...
By the way, if any of you kids want to help out an old man, here's my app:
https://itunes.apple.com/us/app/h4-spanish-lite/id388918463?...
I've got Russian, Chinese, French, German, and Italian versions too. Like Elon says, seek negative feedback...
http://www.mediabistro.com/appnewser/elon-musk-pay-attention...
I'm amazed this attitude has led to law suits. It feels like blatant, unapologetic, discrimination.
>“Eight of the companies, the study said, had median employee age of 30 or younger.” In comparison, the Times reported, the median age of the American worker was 42.3 years old.
Ageism is not the only explanation for this discrepancy. The software industry has exploded in growth in the last twenty years. Most other industries have not seen the same rate of growth. When a labor pool for an industry is strained, it sends a signal to young people to pursue a career in that field. As a result, the labor pool is filled by proportionally more young people.
Eventually the growth of an industry will cease. Then less young people will pursue it as a career path, and the median age of laborers in that field will rise.
Google and the computinged wordpress blog claim the BLS reported 550K-ish programmers in the mid 80s and about 500K now. We're in a long term decline since 2005 and it looks like we might drop below 400K by the end of the decade, but for the last 30 years its more or less been around 500K.
To quote the computinged blog "Getting reliable data on programmer employment is surprisingly difficult."
Going into the field would have been a brilliant idea in 1975, but in 2013 its kind of like becoming a UAW autoworker, its more like when are you going to be downsized, not if.
I've definitely experienced ageism but I suspect that it is rarely institutionalized. Instead I think that people like me are relatively rare. I have no real interest in management or another career--I like being a developer. That means when I show up for a job interview, I don't exactly fit in since it is likely that few of the candidates are my age or older. Sometimes I can overcome this and other times I'm not really given a chance.
I mostly work as a contractor so I have frequent job changes and I haven't found it to be that much of a problem. It is just another hurdle that has to be overcome. The group I'm working in now, I'm the oldest developer by at least 10 years.
I will work for a startup as a full time employee but it would have to be the right position. Right now I'm contemplating doing something myself but I haven't decided exactly what yet.
How else could I be making $125-$250/hour? No company is going to pay me $250k-$400k in salary, and if they did, they'd expect to own me 24/7.
This way I get to work part time, have lots of time with my kids, and when I do work overtime, I get paid for the extra hours. So I know they aren't asking it lightly.
At least right now I've had no trouble finding gigs. Work's been finding me, in fact. I have more options available than I can take. And between gigs, I can work on personal projects, one of which may turn into a real business someday. It's all good. :)
I've been in the industry for 20+ years. I've made lots of friends who like working with me. I ping them from time to time because I enjoy their conversation. And sometimes they think of me when they have a problem they need to solve.
I also found a local company on Craigslist during one lull about a year ago that does embedded software and is consulting-friendly; they now call me from time to time with contract offers as well.
Hit up your network; let people know you're looking. And don't be afraid of Craigslist. :)
a) When supply of well trained programmers is increased, it happens with 22 year olds, who are graduating from college. There is a 30+ year lag on those folks becoming old programmers. To hire a 50 year old programmer, he would either have had to graduate back in 1985 when there were a lot fewer people studying programming, or else changed careers at some point. And a lot of people don't change careers. There simply aren't as many older programmers available because it's a new field as these things go.
b) I've wasted enough years on dead-end tech that I'm more cautious about what I spend my time on now. Things I have become an expert in that are now useless to me and probably not valued by an employer:
TCL, Oracle 8i and PL/SQL, Ada, Java 1.1/1.2, EJB, Java AWT & Swing, Struts, Delphi, Flex, Paradox, Access + VBScript, ASP.NET 1.0, ODBC/OLE/ADO.NET, Linq to SQL, Subversion/MKS Source Integrity/Rational Clearcase/Perforce, differences between bash/ksh/csh scripting, awk+sed, perl, prototype.
And those are just the dead-ends that I regret exploring, because I think I will never use them again and because I could have spent that time learning something more useful. I know the time wasn't completely wasted, but time spent on prototype would have been better spent on jquery, time spent on linq to sql would have been better spent on nhibernate, etc. Reflecting on that leads to a bit of analysis paralysis when looking at TodoMVC to pick which next framework to invest time and effort in - will this be another flash in the pan, is this nothing but Fire and Motion (1)? I expect many employers would probably benefit more from a team of people who lack that perspective, because they'll be giving up more of their evenings and weekends on things that might pan out. I still do that, but a bit less these days, and I wait a bit longer before I dive in. Some might value my caution, but they probably aren't starting a bootstrapped or VC backed change-the-world-through-web-programming moonshot business.
(1) http://www.joelonsoftware.com/articles/fog0000000339.html
This is all so foreign to me. I moved to SV 2 years ago, and I am 47. Y'all are in such a bubble. Every day the recruitment ads state 'change the world - join our social dog teeth brushing cloud service'. I'm only very slightly joking, merely to avoid calling out the actual companies and services. You know what changes the world? Dialysis machines. Microprocessors. Crash avoidance systems. Artificial hearts. More efficient aircraft. Factory automation.
My point is that it takes experience and time to build something important and large. You can't 'move fast and break things' if you are writing an accounting package or code for a chemical reaction chamber. You don't 'pivot' into a new $1B investment in new microprocessor.
Sure, if you are starting up the social dog teeth cleaning service you probably don't need much more than a few 20 somethings willing to kludge together 10 different half baked components (full stack developers!), and there is no point to knocking that kind of environment - I'm sure it is very cost effective. But I see this kind of thinking and lack of planning leaking into other businesses and ideas. I look at job ads for very difficult undertakings using the SV buzzwords of the day - pivot, agile, and so on, and my neuron starts throbbing.
Moreover, I rather worry about all the people coming up in the bubble, thinking it is bedrock reality. I may be wrong, but I suspect the world's appetite for social X services is small. No, I don't suspect it, I know it. Things like microprocessors, thermostats, smart Tvs, graphics cards, dialysis machines, car entertainment systems, accounting packages, factory floor software, and so much more are the engines of our economy. And I see so many posters on HN that I would never hire for a job that required engineering and planning. They don't have the skills, they aren't learning the skills, and when they are 30-35 all they will know how to do is 'program by magic' - change things until it works. Ya, no, you can't work on my flight computer.
This is probably just personal, but there is a very sour taste in my mouth whenever I hear about 'pivots' and 'exits'. I get why they are important in some HN type companies. But our world is truly built on products that require forethought ('move fast, break things' - new motto of Boeing? Not so much), planning, solid engineering, and great technical skill. I wonder why so many 20 somethings pour their talents in lives in something that will be discarded in a month when their myopic 'leader' goes chasing after the latest shiny thing to catch his eye (which is, IMO, the usual reason for a 'pivot'). I guess it pays well. I wish they were working on a better JIT, a lower wattage cpu, or what have you. I wonder at their job prospects when they are 35, have a family, don't have time to go back to school to learn calculus or what have you, and didn't 'hit' and make fuck you money. And I wish founders would actually do a market survey before launching the 5th dog teeth cleaning service in the same tiny geographic area. So many postmortems on here are truly head scratching. You didn't realize that this tiny pocket of under-served market, which is of keen and relevant interest to dozens of companies all around you, maybe, just maybe, has huge barriers to entry or scaling, and that every other company already explored it and wrote it off as unprofitable? Everyone but you is leaving money on the table? Hmmm.
Sorry, I am just having a 'wow, the silicon valley bubble sure is weird' moment. And I'm old, and cranky. Get off my lawn. But seriously, be very, very careful about taking the ideas and lessons from some tiny start up and trying to apply it to anything outside of that very odd, self-referential world.
So the example of the consumer to consumer dog tooth brushing marketplace might be an exciting world changing marketplace, but fundamentally its pretty much a customized web CRUD interface to a dating app, being used instead of matching up dates, to match dogs with bad breath to freelance tooth brushers. Its just not that technically exciting, in which case having noobs do the work isn't all that dangerous plus or minus the usual SQL injection attacks and such.
But, yes, somehow SV has found a way to promise to twentysomethings that they can fulfill their life's deepest purpose with the potential to become very wealthy. The catch? Just work really hard!
SV is a machine fueled by the optimism and naivete of the young. It's possible to do really well in it, but I feel like you need to keep your wits about you.
I'm not trying to make an argument about whether what I say is true. I'm just expressing a few musings.
That said, I do think there will always be a need for people who are willing to solve tough problems using methods and technologies that may not be cool, but are effective.
If you're specializing in webdev, it cannot hurt to look beyond and make contingency plans if this turns out to be true. You don't want to get laid off unexpectedly and find yourself technically lacking. What I mean by this: find a more specialized area and see if it's interesting. Could be mobile, machine learning, compilers, etc. Don't be scared of systems programming -- it may come back with a vengeance.
FWIW, webdev has smelled of commoditization and 'cheap' devs for a little bit to me, and it's scary. Everyone gets screwed by this; especially as you get older.
I'm an iOS developer and have been looking into webdev to spread out a bit. Possibly something like clojure for a backend and node.js for quick simple services.
How do you counter this? Easy: specialize in something requiring hard-fought knowledge. It could be great chops in UX, or deep domain knowledge. But I use the word hard-fought intentionally: this is know-how that is not easily digestable from a blog post.
Industry may require you to be skilled in certain frameworks, but it's not the same at all as having strong, general programming skills you can apply everywhere. Personally, I'm looking to Clojure for the infinite meta-programmability, and resulting brain-refactoring that ensues.
It's about a lifetime of education, and always challenging yourself. That's the real payoff. Industry will run in circles, convincing itself it is innovating, while ignoring a lot of cool stuff done in the past. Dig into it, learn, and write about it.
Learn math. Learn physics. Learn some chemistry or biology. Be able to write digital signal processing code. Know linear algebra. Learn some NLP. Learn enough algorithms to write an efficient soldering path tool, or network router. Even there I am not sure of the moat; the number of searches for terms like "asymptotic complexity" are far higher in places like India and China than the US. But if you can reasonably say "if I leave it will take 3 normal people to replace me" you will have job security and the ability to command a high salary regardless of the economy.
Secondarily, I think there is an untapped market for people that are actually able to architect software and lead teams. I don't mean writing StrategyFactoryAbstractVistorBuilderFactorySingletonFlyweight horror shows, but actually putting together a solution that is maintainable and extensible over time. The field seems very immature in this regard. Or someone that can just think clearly, put a plan together, and execute it, even just at a middling level, seems pretty rare. I don't know if that (project management) pays a lot, but I think skilled people are worth their weight in gold. It seems to attract people that don't have the technical chops, not because they chose a different education, but more that they tried to be technical and just weren't that smart. If you are smart, you will always have a job in that arena.
If you are interested in computer engineering, well then, of course study that!
But don't let the vacuousness of some of what masquerades as "tech" deter you from studying something so rigorous and fascinating. The applications are very broad. If you like this sort of thing, you can find something very meaningful that will interest you!
Stop saying it, plz. It's not how old you are, but how old you sound.
(I'm 45, btw).
And so, back to the OP, and the frequent sentiments expressed on HN, there is value in engineering, a skill that is hard won and built over time, and there is value in knowing how to run a company (again, excepting a few savants, something that requires experience). Do not allow the existence of genuine counterexamples to cloud those facts.
edit: clarified a few sentences.
You should be deeply suspicious of any culture that drives you to work longer, rather than smarter. My real life fuels my research at work and in open source.
There will be more noise about ageism in the future, but only when the current crop of SV favorites realizes they're no longer the young hot thing. Ageism screws everyone eventually. You will be discarded and ignored.
> launching the 5th dog teeth cleaning service in the same tiny geographic area.
A quick search will show you the top hit is geographically dispersed: http://petdentalservices.com/
So as you note: you exaggerate, but only a little.
The problem is that a VC who "sees things in people" (usually, only young white male people from Stanford) can't evaluate them for the skill and expertise to build a new dialysis machine, anti-lock brake system, or graphics card. It's actually hard, from an armchair perspective, to know what should and should not be built unless one is in those "unsexy" industries, much less evaluate people for the competence to execute, when you don't know that stuff yourself.
On the other hand, for trivialities, the "we invest in people, not businesses" morons can get to believe that they have all the relevant information. (I doubt their judgment of character is nearly as good as they think it is, but that's another discussion.)
Additionally, the hottest VCs are the ones who can garner the highest social in-degree, and that means they have to be in the light-tech space where they could conceivably fund anyone (even an idiot). Most people are ignoring the rest of technology and focusing on the low-grade light tech (where the age discrimination is worst) that is closer to marketing than engineering.
See, if you ask a hundred people whether self-driving cars are technically feasible now (much less, what algorithms one would use to train them) 99 will say they have no idea. On the other hand, every idiot in the Valley has a strong opinion of whether Twitter, Tumblr, Uber, et al deserve to get another round of funding, an acquisition or IPO, etc.
You get the age discrimination in the bike-shed world, which isn't really technology if you ask me. In real technology, people know better than to turn away talent over something so trivial.
I'm sure you also lived through that boom, but it was... more vivid for me. Imagine; graduating out of one of the worst high schools in the state. A hellish experience (by the standards of a middle-class white guy) and immediately, you are immersed in a world where everyone wants you. It was... pretty great.
Note, I'm a sysadmin, so I probably hang out with more C types; systems programmers and embedded programmers, but I'm not really that much of a programmer myself. (I mean, I can patch things, and I can sling enough perl to handle many tens of thousands of nodes; I can read code, and I know C. I'm just not /very good/ by the standards of systems people or embedded software folks.)
Sysadmins... well, we mostly aspire to be systems programmers or embedded software people. We really look up to you. And we generally look down on web developers, and php programmers. A lot of that is, well, it's our job to clean up after the PHP guys. We're the janitors; the busboys; the PHP guys are the waiters who actually deal with customers, get tips, and all the credit, but we have to clean up after them, and nobody notices us unless we don't do our job right (at which point, everything goes to hell. We're like the bus boy, the janitor, the plumber, the appliance repair tech... In my capacity as SysAdmin, I actually solved a problem of a toilet that was overflowing in an office above a restaurant.[1])
>Moreover, I rather worry about all the people coming up in the bubble, thinking it is bedrock reality.
My impression was that yeah, it seemed normal at first, but... it quickly became apparent that it was a bubble, even to a 17 year old kid who barely made it through high school. It was talked about pretty openly. At this point, I don't have a big corporate job, but my impression (I have a bunch of friends at google, and a few at facebook) is that this time around folks, especially the younger folks either really believe, or they are pretending to really believe.
>I wonder at their job prospects when they are 35, have a family, don't have time to go back to school to learn calculus or what have you, and didn't 'hit' and make fuck you money
If it is like the last crash? the top 30% have zero to worry about. There is plenty of webdev work, and there will be for some time going. They might not get signing bonuses anymore, but eh, they'll be comfortable. The bottom 50%, yeah, will need to get new jobs elsewhere. The rest? they'll have problems for a while, but after a few years of retail, they'll get back on their feet.
(Note, percentiles are judged by employer perception here, not actual skill.)
Overall? I'd say it's a reasonably good bet for a youngster. Nowhere else can a young person get as much respect. After the crash? sure, maybe you will have to do something else, but that's okay. Nothing is forever.
[1]Oh man, it's one of my favorite stories. I love it when I find technical solutions to social problems. Our office was above a Chinese restaurant. Maybe 30 phone support folks, maybe 5 technical folks. The bathroom was overused, and poorly maintained. the toilets regularly overflowed from what I would call reasonable amounts of toilet paper. Anyhow, if you grabbed a plunger (or hollered for help, so the office manager would grab the plunger) it was okay. Not that big of a deal. But some people would just leave, hoping nobody would notice.
The boss wanted to install cameras in the bathroom... or to have a sign-in sheet. 'Gimme $20' I said. I got a water alarm. They make 'em for basements. We put it in, and tested it (mid-day, and the alarm was /loud/) The toilet never overflowed again.
I remember a number of dotcom vets saying that their bubble was different because they really believed a revolution was happening. Just how openly was it (the bubble) discussed in your case?
Huh. that's the opposite of my perception. The kids today actually believe it; most of the folks cynically pointing out that it's a bubble around building mostly-useless CRUD apps are people who are old enough to remember the first time around, (people who are older than these new bubble companies usually hire.) Of course, it depends on where you are; Facebook... Everyone I know at facebook actually believes the company line. Like disturbingly so. At yahoo? everyone knows it's bullshit, and the good people get themselves into interesting technical positions where others can't bother them too much. (I am... honestly not sure that the Facebook approach is better for the company. If your employees can't see the problems with your company, they can't fix them.)
(Google, while I don't think it's as bad as facebook, has a similar problem; I've seriously had otherwise intelligent Engineers tell me that ads are good for consumers. Not that well-targeted text ads are less-bad than annoying pop-unders, Not that ads pay for good things, but that the ads themselves, when done right, were actually a net positive for the consumer. Yeah.)
From my limited experience? there was a real day-trader mentality in the '90s; I I remember a bunch of my (technical) co-workers would carry around pager-like devices that had the stock price for the company. (this was in the era of the 32MB rio MP3 player, and of file transfers over the parallel interface.) There was much discussion on when to sell (and how much to sell) when your stock options were above water, and much bitching and moaning when they weren't. Probably almost as much discussion as about what fancy car to buy with the winnings. (come to think of it, I only remember the stock pagers when I was on the east coast, so it's possible that in silicon valley there was more faith.)
Of course, this was the very end of that boom, too, and this was 1/3rd of my life ago, so 1997 and 1999 kinda blend together. I could be talking mostly about 1999, so it's possible that there was confidence among the workers until very nearly the end, and I just didn't notice.
As a sidenote (and possible useful bit of advice for youngsters who are employable now, but are concerned about after the crash) In '99, I chose to go for a prestigious job over a job with options. Obviously, it was the right choice; I still brag about that job, while the options would have been toilet paper long before I vested.
The problem is when a candidate who has better qualities gets passed over for a younger candidate based on prejudices based on the previous generalization.
Say you want a skilled programmer who is going to work for a certain wage and put in an amount of overtime, and you pitch it to a fresh college grad, and a 35 year old who just got downsized out of a job; when the interview concludes, it's obvious that they are both willing to take the wage you're offering, and the 35 year old is far more knowledgeable.
If you take the kid because you think the older guy might not be as willing as he claims to put in overtime, or because you think he might be too set in his ways, or because he might be too old to match the cultural fit... That's a problem.
People can hire young people because they're cheap. Especially startups, who maybe can't afford to pay for experience. Likewise, someone with a mortgage and kids might be less willing to look for a job with a risky business. So the average age might drop in those kinds of businesses and that's OK.
The problem is when you see the effect and invent the cause. "More young people are in successful startups, that means avoid old people if you want to be successful".
Instead it could be just "frugal startups are more likely to succeed, so don't spend too much on your labour" in which case given two candidates willing to take the same wage, the one with the better skills should win, regardless of age.
> The average age of a successful entrepreneur in high-growth industries such as computers, health care, and aerospace is 40.
> Twice as many successful entrepreneurs are over 50 as under 25.
> The highest rate of entrepreneurship in America has shifted to the 55–64 age group, with people over 55 almost twice as likely to found successful companies than those between 20 and 34 – in fact, the 20-34 age bracket has the lowest rate of entrepreneurial activity.
If ten times as many people over 50 than people under 25 try to start businesses, then the statistics strongly favor the under-25's. These statistics don't mean anything unless you know the number of people in each age group who start businesses.
> 75% have more than six years of industry experience and 50% have more than 10 years when they create their startup.
What does this even mean? Years worked is not the same as having useful experience.
The article would be much stronger if it showed evidence that older workers were more productive, more likely to succeed at starting a business, or were in some other way undervalued by the current job market.
Of all the big young tech companies, I would think that Google would be the one to benefit most from older, experienced employees (besides the group of all-stars it already has, such as Norvig)...Google's business encroaches on a lot of other domains, and domain knowledge is something that (usually) gets better with age. Perhaps in 5 to 10 years, there will be a bigger group of 40+ yr old professionals with enough tech experience/savvy to be more obvious assets to tech startups.
+1. Google and Microsoft do a great job in this regard. Not just hiring older workers but getting new stuff built by people with massive amounts of experience.
- Ken Thompson and Rob Pike (C/Unix fame) are bringing you Go.
- Anders Hejlsberg (TurboPascal/Delphi) is bringing you TypeScript.
Starting off with some ageism and general cluelessness of your own doesn't help. If they wanted a "young engineer" to generically optimize data storage, I would be at least half-competent, and could give them the names of several engineers far younger than 77 who would be excellent at such work in general.
What neither I nor virtually any other engineer, young or old, would know, and what the engineer who helped build the thing would, is anything about the specific equipment and code in use on Voyager. This is specialized knowledge, just like a lot of the knowledge young 2013 NASA engineers have.
It is equally as beneficial to employ those engineers to modify the systems they built as it was to employ Lawrence Zottarelli to modify the system he built. Age is unrelated.
"Young people are just smarter"
That has to be one of the most stupid things I've heard! :)
I've personally worked with older programmers, and there has been little noticeable difference in capabilities (and often added benefits of organizational know-how). The issue is the pay.
Incidentally, it's the same reason why big companies are championing H1B visas by saying "there aren't enough US nationals to fill the roles" (even though the numbers don't bear the statement out): companies want to pay less for somewhat equivalent skills. Who wouldn't?
I will say this though - I have to constantly step my game up to stay relevant. At 50 I will be expected to not only know programming very well, but the industry as a whole including analysis, planning, finances, management, etc.
I think a bigger problem is a combination of the Hawthorne effect and the idea that most methods will work for small problems. You don't get to see the superiority of the "right" solution until you are under heavy load. Most startups don't come under heavy load for 18 months and by that point, they end up throwing more hardware, bandaids, people at the problem and don't realize that the fundamentals were wrong from the start.
The success of infrastructure, fundamentals, and strong devops are apparent if you do it right, but not when you do it wrong. This is a bad feedback loop as it doesn't covert the people that are doing it wrong.
This doesn't strike me as the case in other skilled professions. A successful middle aged CPA, MD, lawyer, or finance exec often has the option of more or less coasting on accumulated relationships and prestige.
This idea that a skilled software engineer must always be training up on his own dime and time is really kind of strange, in the bigger picture.
But learning is probably what keeps me from getting bored. I will say though, if I have to learn another JS framework I'm going to === my eyes out.
Anyone who is on either side of that equation is fooling themselves on the reality of engineering and team dynamics.
Furthermore start-ups also implicitly prefer "just good enough" in order to get your company up and flying enough to quickly accrue investor interest, whereas stability forms the bottom-line of our elder engineers -- and stable systems require far more time than some investors are comfortable with.
Even worse, there is the management aspect. Older people have very different management styles, and throwing caution to the wind is definitely not among their managerial toolset. If your company has older people in positions of power then it definitely scares vast swaths of people away -- from eager investors looking to turn a quick buck and energetic young engineers looking to for autonomy to work without anyone second-guessing their decisions.
Finally, the saying "old is gold" applies quite well, however that gold needs regular polish to remain shining.
Sums it up. Very well said.
This simply isn't true. Some older developers have worked for Fortune 500 companies writing enterprise Java software for their entire careers. These developers often aren't right for a startup. But I've worked with teams of 100+ young (majority in their 20s) developers who can't think outside of Java + Apache + Tomcat + Waterfall world.
Age isn't a deciding factor for me when hiring someone. If a 65 year old developer approaches me with proven skills in multiple technologies (maybe node.js + scala + go), I really want to talk to this person.
You are hurting yourself with this attitude.
You're a little out of date. That applies to the gold watch retirement crowd from WWII and "Mad Men" era and all that. None of those guys are under 80. The kind of people who think "talking pictures" on celluloid is high tech.
We are talking about (former) kids who listened to Nirvana on CDs while Kurt Cobain was still alive, not listened to Gunsmoke on the vacuum tube radio during the great depression LOL.
1) Move to management to continue advancing
2) Find one of the very few large to midsize companies that has a long-term developer career track comparable to their executive track
3) Start you own thing and exploit the fact that you are more productive than younger developers, and control the purse strings
Large and even mid-size and event ostensibly tech companies still, for the most part, view developers as an R&D cost center. They look at cheap development resources, either young kids or foreign, and think "For the price of 1 developer, I could have 10!"
Now they have 2^10 problems.
Those who are still motivated to move up must go in to management or strike out on their own. Chances are if you have reached this point the trappings of your previous success has made the latter choice a risky undertaking.
... Suzanne Dodd, had to coax another 77-year-old engineer, Lawrence Zottarelli, out of retirement to modify the old technology so it could store more data. It seems the young engineers, growing up in an era of unlimited storage, didn’t know how to tackle the problem.
Last time I checked we still don't have unlimited storage... and Is this really because the young engineers didn't know how to tackle the problem, or because the code was poorly documented and written in a way that would be confusing to anyone who was not the original engineer? Programming styles have changed; people used to have to use their memory very efficiently and therefore had tricks to use it more efficiently that aren't as popular now (sacrificed for readability/maintainability), that doesn't mean that young people can't learn those tricks, just that they haven't had to.
What cannot be overlooked though is the emotional aspect of interviewing. It leads to all sorts of biases, and in a subtle way drives racist and ageist hiring practices. I think that "comfort level" with the applicant is a particularly hazardous feeling as it can be confused with cultural fit. If not checked, hiring people within our comfort zone produces a homogenous work environment and an insular organization.
I often find myself thinking more clearly about candidates when I actively counter the "this person is not in my tribe" notion that I believe is behind "comfort level". After all, we are not a fraternity or sorority hiring to make friends.
It comes down to being professional and objective, and being mature enough to hire and work with people outside of our generation or culture.
1. Business travel is a plus to the young crowd and a minus to the older.
2. Legacy technology is a plus to the older crowd and a minus to the younger.
3. Large vs small teams. A younger group will have more generalists, and older group more specialists. A younger team will be small with minimal layers in the way. An older team will need a larger group to support the specialization gained over the years of experience.
Picture a large company that designs motherboards. No travel, established technology, large teams of specialists. Now envision a distributed team of <10 working on some new document classification web app on AWS. I'd wager that a completely different age group would be found in each circumstance. Not necessarily due to ageism.
1. They have a family with responsibilities, sick kids, and dance recitals, etc.
The bad:
Leads to, less professional growth outside of work, more personal days, more sick days, more personal phone calls during work.
The good:
Once comfortable, they rarely leave the job unless forced out.
2. They attempt to solve every problem with the same set of solutions. Few attempt to find new technologies or try different things.
The bad:
The implementation may not be the best one available that will set up the business for future success.
The good:
Solutions are generally predictable.
3. Lack of motivation to prove themselves.
The bad:
The project deadlines are just met. They do just what's asked of them and not more.
The good:
Deadlines are met. They don't try to tackle mroe than they are capable of by expanding the problem domain.
While I'm sure there are some 40-something's that are like the above, I don't know of many - most people I work with are 35-45, are very hard working, innovative, highly motivated, always learning new things, and work a lot.
Lots of younger people I work with party a lot (and are hung over lots), distracted constantly, aren't at all loyal, are constantly distracted by the shiny new toys, and super arrogant
(and YES, I am purposely using a bad stereotype, just like a lot of the posts here are in the other direction. One thing experience has taught me is to NOT stereotype based on meaningless things like sex, race, or age - look at what someone can do - passion, drive creativity, intelligence, etc. If you base your decisions on foolish stereotypes, in either direction, you are just limiting yourself and your company)
I worked at one place where boomer IT staff were happy. One guy told me, "It's great, I just plan to coast a few more years to retirement."
Gen X and younger people were miserable at this place. One guy who was 27 was fed up with not being taken seriously so he (1) started an MBA program (which the employer had to support at least partially) and (2) deliberately gained weight, and (3) went to a hair salon and had them do a fancy tint job on his hair with aluminum foil and stuff so he'd get grey highlights.
I could be totally off, but from what I know and have seen this seems to be the trends.
For a moment, I was speechless.
Not sure if it was just social awkwardness and shyness that made our young founder jump to that question. But in what universe is that ever an appropriate question in a job interview?
(I'm in my early thirties.)
(not suggestion people should just start suing, but this is up there with not wanting to hire someone because of the color of her skin).
An unwillingness to train does exist in the more seasoned veteran demographic; but it's just as bad when you get young developer that is a evangelical about their particular niche.
Check that. I would like to suggest that wisdom from the prehistoric days of programming seems to fit best here: 'Use the right tool(individual) for the task' Nothing else is relevant. The only subject worthy of discussion in an interview is can they do the job. If the answer is yes then you can solve 'other' problems after they become a problem...
"Have someone screening applications. That person also removes anything that identifies protected characteristics" is one tip. (In the UK those are age, disability, gender reassignment, marriage or civil union, pregnancy and maternity, race, religion, sex, and sexuality. In the US they are race, colour, religion, national origin, age, sex, sexuality, pregnancy, citizenship[1], familial status, disability, veteran status, and genetic information.)
Outside data is ALWAYS dirty.
There is no clean data. And part of the value of experience is knowing how to handle this. For example, assume I get a very large data set from a third party that is crucial to my project. Unfortunately, all the fields are strings. Years of experience have taught me the following ways to deal with this:
1) Implement a lot of logic and validation into the program itself or as a pre-process step. This is a lot of work, requires a lot of domain knowledge, you may still miss a few edge cases, it will force the deadline to be pushed back, and increase the budget. However, those are the disadvantages. The advantages are that this could become a competitive advantage. Maybe no one else knows or has tried to clean up this data before. Identifying and doing this work can lead to a whole new business. A classic example of this is GIS data. GIS data is very very dirty. Street, St, St., Highway, Hwy, Freeway, Fwy, all typical examples of how dirty the data is. Companies like Navteq are based on their ability to clean up GIS data. Apple's Map app was a disaster because Google is so good at and has years of experience cleaning up GIS data.
2) Push back on the third party to clean up their data. Doing this takes some finesse and social/business skills. You can't just say, the data is hard to handle. That sounds like whining and laziness. Your manager can't do anything to help you if that's all you have. Instead one tactic is to make a schema (this is what WSDL and XML Schemas were invented for) and tell the third party that their data must conform. Then it becomes their problem. They might push back, but now your manager has something to fight with. But if they agree to conform and the schema is bad, then it will become your fault (the third party will just say, hey it conforms to your schema so that's your problem). So you better make sure the schema is good (experience helps here). And it may require meetings with the third party's technical team to compromise or figure out what a good schema is (which requires social/business skills and experience).
3) Identifying these problems early. If these data issues are not considered or found early, they will lead to big issues later. This is why senior developers get their work done fast and go home early. They don't make mistakes like using floats for currency or assuming a string is always a certain format. Junior developers make those kinds of mistakes and spend 80 hour weeks fixing it in the code, rewriting unit tests, and running scripts against the database to carefully migrate the data. They may seem more "productive" but they created the work (like the broken windows fallacy).