The Brutal Ageism of Tech
newrepublic.com
newrepublic.com
When hiring, I was very skeptical of the guy over 40. His CV showed that he had spent most of his time building boring information systems for government agencies. This did not feel cool and startuppy at all. Also, he's gray-haired and he looks a bit dorky. We really liked him in person though, and he seemed to know what he was talking about, so we hired him anyway.
Only a few weeks later, I was already certain that he was the best hire we made up until now. Hypothetically, when forced, I would fire any two other team members to be able to keep him on the team (and he's on only half weeks). He's experienced, very much down to business, he cuts through the crap and through technical fads, and currently ensures that we're building the most lean and simple backend that I've ever seen. In a programming language that he's never seen before, and with a database engine that he's never used before.
For me, the general takeaway was that the wisdom to "not only hire copies of yourself" is very true indeed. More specifically, "older" guys (for tech industry standards) often have a lot more fundamental skills to bring to the table than perfect command of this year's technologie du jour.
Hire older people!
I just did a prototype demo for someone - took about 6 hours - and it was more fully functional than something they'd had a team of people working on for weeks. It's rare that there's that much of a difference, and to be fair there were weeks of communication and discovery going on that I didn't have to deal with. But the other team was also using an older PHP framework which they were painfully not comfortable with (I later found out mandated for bad reasons). Judging by their code, they wouldn't have been comfortable in any framework, but that's another story.
This is far less about how great I am, and more about understanding common problem domains, knowing your tools, knowing when it's OK to cut corners and when not to, and how best to communicate with people. Some of that comes with passion and dedication, but some of it only really comes over time, and the more the better, usually combined with the passion and/or dedication for maximum results.
[1] Your profile indicates that you might be based out of Europe.
The problem highlighted by the article is relatively SF-specific indeed, but you see the same vibe in Dutch startups (less so in older tech businesses here, but there it's just that 50 is considered old instead of 40 - the difference isn't that big).
I don't see how that makes the anecdote less strong though. Why wouldn't there be similarly competent 40+ year old people in SF? I feel that startups that are open to hiring older people in a climate like the one described in this article have a competitive advantage on the job market. It makes me anecdote only more applicable to SF, not less.
Personally I've had great respect for the 50+ yr old programmers that've worked on modern teams with me. They've always been great augmentations, and I prefer to hire more experienced people where possible, especially if that experience predates the web.
This is a great anecdote, though I don't fully understand why it surprises people.
Most people in their early 20s are still "kids", both socially and work-experience-wise. Give me a hungry 30+ any day.
It surprises young people. 30+ isn't all that old.
Of course, everything I've done in my life has been late. Graduated college and grad school late, married late, had a kid late. So I'm about 10-15 years behind my age peers and experience-wise have more in common with people in mid-late 30s.
When it comes to having ideas... I feel as though I'm bubbling with ideas these days. Maybe it's just too anecdotal to mean anything, but it seems to me that everyone blossoms in their own good time. There's no such thing as over the hill, until you decide that you're over the hill.
Outside the valley you find a plenty of really competent programmers mostly in there late 40's along with a few people that are nearing retirement age and while often gruff tend to blow your minds. As in "we stopped testing his code years ago." Or just calling someone team _. As in you could get 15-30 people working on a project or if your lucky Bob.
You will see the following in experienced, good consultants as well. A lot will go wrong on a gig that is not anticipated during the initial scoping of the project. The inexperienced (often but not always correlated with youth) will "freak out". Whether it is a passive flip out like analysis paralysis or a more overt one, the end effect upon management/clients is still unpleasant for them.
Even when I was much younger in the field, I observed some of the older staff tended to have an imperturbability and unflappability about them even when presented with unexpected and unwelcome challenges (read: emergencies). They often didn't know what the solution was, but had enough taste and experience to know where to start and to start Getting Shit Done. This meant picking a likely direction of troubleshooting and just start walking a breadth-first search of causes, then a depth-first on anything turning up from the breadth-first that looked promising. Easy to describe in these antiseptic terms and comfort of your keyboard, hard for many younger developers in the heat of the moment when there is a frantic manager beating them about the ears that the company is about to go under if they don't fix this "right this damned second!".
This points out another observation I've made about managing younger developers. Do not mistake their energy level and enthusiasm for the degree of emotional and verbal abuse it requires to engage them. It might be different for other industries and positions (I doubt it), but too many times I've seen people take the easy way out and subscribe to the Management by Berating school. Also called the Management by Complaining/Screaming/Browbeating school. You can mention the dire effects some emergency has to the younger crowd to establish context, but move on from it and don't use it as a way to urge them on to fix something faster. Most younger developers simply do not possess the life experience to easily tamp down the anxieties they feel and set them aside long enough to dispassionately fix the problem at hand if there is management at their desk anxiously wanting blow-by-blow updates.
This doesn't mean you simply dump the problem in the younger developers' laps and walk away, either. Neither extreme is good for your team or organization. Lead by example with a calm approach to working the problem, either make decisions on where to start or support your senior leads with their educated guesses with where to start (and if you don't know where to start and don't have senior leads to turn to, you've got bigger problems), triage the effects with mitigation tasks, assign bite-sized tasks to the less experienced developers as your judgement advises, create a big picture view for yourself with the best information available of where your team stands with the problem, clarify the picture as you go along, and run interference from the rest of the organization's managers who Manage by Dysfunction.
A side note for younger developers. The only partial shortcut to that unflappability I've had experience with is to secure yourself 2-3 years of living expenses as soon as you can. It helps you achieve perspective, especially when a manager yells you'll lose your job over something. It isn't a replacement for experience, taste, judgement, whatever you want to call it, but it does help a lot with compartmentalizing the emotional component of facing down stressful situations at work, which takes most employees a decade or two to learn, and some don't learn it at all.
Are you sure you are not committing the same ageist judgement here?
The tooling accessible to people today as opposed to those that started 10 years prior is also extremely different. Running Windows? Trumpet Winsock, understanding the win.ini, config.sys, and autoexec.bat were important. Linux - a lot of people have wasted a lot of time getting sound and video drivers (as well as xf86config files) to work right, most just work fine now. All these required a level of digging that required knowing more about the system than you may have wanted.
Not saying your point isn't valid, but it does depend on what one's definition of "competent" is.
One is an active reverse discrimination that is attempting to tilt the balance back (often enforced with some kind of law or policy). This has all kinds of well-known problems (that arguably are larger than the benefits).
The other is a more natural reverse discrimination that comes from collecting the missed opportunities of your competitors. If your competitors reject candidates for frivolous reasons, then it's easier for you to hire qualified people. I think this is what the parent comment was doing, and it doesn't strike me as a problem.
Enders Game is a good allegory for this.
It's good to have diversity and meritocratic process for decision making. It's good to have different perspectives, but recognize that sometimes bad experience is worse than little experience.
What you're saying is that some people don't learn from their experiences. You should focus on finding out if they have. That's worth way more than hoping that this young kid will.
Good developers do use pattern matching. But good developers just use it as a way to come up with ideas, and they use their experience to judge the ideas.
There's no such thing as "bad experience", just poor reasoning skills. And mostly people will improve their reasoning skills over time. Unfortunately, not always.
Prove it with some research. The current research shows that people really don't make their best contributions to their field before 35-45.
And, to be fair, I see more young people who attempt to hit the screw with a hammer because a hammer is the only tool they have.
Look at someone like John Carmack - before he was 35 he had done Command Keen, Wolfenstein 3D, Doom, Quake 1-3. Guys like Steve Wozniak were basically out of the business by the time they hit 35. Linus released Linux when he was 22, and started git when he was 35. I doubt guys like Marc Andreesen have written much code since they hit 35 as well.
So, basically what you're saying is that young people can churn out software where you can undo your huge screwup, but if you have to get it right the first time like hardware, then you need some experience.
You are the one with a "platonic causation", namely, older = rigid thinking.
Enders Game is a child's book, written to appeal to children. Note we don't actually have 9 year olds making decisions in reality.
Theory: This importing of workers has negative effects on age and gender diversity, since it means a higher proportion of jobs go to people who can easily relocate for work. That includes young people (who are less likely to have kids and/or spouses) and men (who more often receive the primary or larger income in a household). I'm sure you can think of other things that are advantages or disadvantages when it comes to moving to California for a job.
There are ways to test whether this effect exists and how large it is. For example, you could compare age and gender diversity across industries. The theory predicts that age/gender imbalance is correlated with geographic concentration of employment growth for each industry. You could also see whether these imbalances are worse within industry hubs, compared to companies in the same industry outside the hubs. (Though the effect can also spread outside the hubs if it influences a culture that gets exported to the rest of the industry.)
I'll bet geographers or sociologists have published research on this subject, though I don't know enough to search for it effectively. (I found some vaguely related papers on Google Scholar, but nothing yet with data that would directly answer these questions.) There are some historical parallels of course, like gold rushes and resource extraction booms that cause new industries to grow suddenly in a particular area.
The need for developers is so strong that all the major tech companies are devoting resources to recruiting as soon as developers graduate.
That dynamic could account for a reasonably large part of the age imbalance in the industry. If there was a similar-sized pipeline of recently-trained developers with a more diverse age group than university students the story would likely be different.
No way a 40 year old guy have more experience than me in general programming, unless he was working at Microsoft or IBM at that date, and surely they are about less than 10000 of those guys in the world. Of course there are 40 year olds that may have way more experience than me in a specific language or technology.
My point is that if computer tech is only 30 year old, then you won't find programmers with more than 30 years of experience, no matter their age.
If you were using one at age 10 and are now 35 that would have been 1989/1990 or so... there were no magazines writing about it by that time. You had some old issues of the TI-99er or something?
There was lots of stuff going on with the DEC minicomputers, LISP machines, early UNIX systems, and big-iron mainframes long before most of us were even born, let alone getting our starts on TI-99s, Apple IIs, and Commodore 64s. And let's not forget that the people who were creating those early home-computer platforms were themselves all from the previous generation.
Would you turn people like Steve Wozniak or Al Alcorn or Ken Williams away from your new startup? You'd be a fool if you did. The basic architecture of computers hasn't changed at all since they did their most important work, and the cognitive skillset that makes a great programmer is the same as it's always been.
In fact, I'd expect that people who cut their teeth on early systems, and had to work within narrow constraints, without a big stack of abstraction layers and frameworks, would be all the more adept at writing robust and efficient code than those who learned on modern tools. And I'd bet, with Moore's law slowing down, and with better-optimized code becoming more advantageous in building scalable systems, older programmers will soon be in higher demand.
I think that it would be a mistake to say that computer science has truly been around for 160 years, though. A few people (there was also an Italian who was interested in Babbage's work, although I'm not sure what his contributions ended up being, if any) does not a field make, and the fact that any progress in it was more or less put on hold until the early 20th century (when mathematicians started working on what you could calculate or construct in a finite number of steps), and you didn't get (untyped) lambda calculus and turing machines until 1936, which is probably the best place to truly start the idea of computer science as a field. (And since you got early devices that were sort of primitive mechanical computers in the late 30s, early 40s as part of the whole Bletchley Park cryptography work by the Brits.)
A very large debate around the turn of the century was if mathematics that you couldn't specifically construct in a finite (or countable) manner were, which became particularly heated after Cantor's set theory work (showing that the real numbers were uncountable) and then things like Russel's paradox (showing contradictions in Cantor's naive set theory if you allowed sets that contained themselves). I'd argue (without firm, researched proof that it was definitely the intent and case) that the spirit of early computer science (lambda calculus, turing machines, etc.), which was concerned with what you could and could not compute with a finite algorithm, came in spirit from those sorts of debates. (See finitism, intuitionism, constructivism, etc. for parts of this debate; traces of it remain in modern day mathematics with some people's concerns about if the Axiom of Choice is a valid or reasonable axiom to have)
ENIAC was ininitially put to work calculating artillery trajectories, once the programmers figured out the bug where the shell kept going after it hit the ground (oops!).
(Not trying to short-change Bartik here either -- she did a lot of the work on the ENIAC instruction set when they converted it to a stored-program computer)
Edit: And many more "giants", of course…
I started programming toys in 1979. [1] I started programming "modern" computers in 1981. I was selling games when I was 15 in 1983. My "real" professional experience started in 1987 with a contract to write a video game from a major publisher.
So yes, it's not hard for someone to have "more experience" than you in general programming.
[1] I had one of these: https://en.wikipedia.org/wiki/Big_Trak
Do you know how many people were doing that? you are way over estimating the amount of people in the world with your experience.
You said "No way a 40 year old guy have more experience than me". To disprove an absolute statement you only need one example.
That said, a significant fraction of my friends from those days were doing similar things. I won't deny that I'm particularly good at programming, but all of those friends could also claim more experience than you.
I've heard a number of these comments recently drastically underestimating how long computers have been around.
I'd be really interested as to how you get that figure...
Working in a bank, not for an editor...
FWIW, I'm 47 and was programming assembly and microcode in my youth. So I have 10 years on you. At this scale, I doubt the difference matters much. Because you are old, too.
Also, you have about 30% more experience than me, I don't think it's a small amount.
So it makes little sense to suggest that it's somehow a crazy idea that someone 5-15 years older than you (in their 40s) might have a longer track record working with computers.
> No way a 40 year old guy have more experience than me in general programming, unless he was working at Microsoft or IBM at that date, and surely they are about less than 10000 of those guys in the world.
You're talking about 1989, right? In 1983, there were 443,000 computer programmers and 276,000 "Computer systems analysts, scientists" in the United States alone (source: http://www.census.gov/prod/2/gen/96statab/labor.pdf).
1) Older programmers won't put up with bullshit. They expect to have reasonable goals, be listened to, be compensated fairly, and have a reasonable schedule. They've been around the block enough to identify bullshit and will leave when it starts getting too high.
2) Older programmers really don't always understand the "cool" social crap that teenagers are into this year (for good reason--most of it is garbage). Unfortunately, most of what Silicon Valley is interested in is "cool" social crap so that they can get a big buzz and flip the company to Google or Facebook.
Funnily enough, companies that value that silly thing known as "profit" are quite happy to hire older programmers. It's just a function of Silicon Valley not believing in profit that is causing the ageism.
Is there a list of companies which value profit so the people who complain about the "problem" (from companies most likely to not be around after too long) can go work for them?
This derails in reality because you'll have companies making money but bullshitting their employees to save most of it. You don't need the best of the best programmers to have a shippable product, and even if such a company is only mildly profitable, keeping the profits at the top makes it a good place for stake holders.
It would certainly match up with my experience in London, where it seemed that a lot of the programmers over the age of 30 were working for large, established finance companies. The age of programmers around the 'Silicon Roundabout' startups tends to skew a lot closer to mid 20s.
It seems everyone these days is a "founder" of something. I own sites that do things these youngsters can't do (Turn a profit) but I've never, not for one moment ever thought I was a founder of something great, just trying to earn a living!
I agree with the companies that believe in profit thing. Once you strip out the happy clappy, social crud employers just want people who can help them turn a profit.
I do agree that I am way more experienced, knowledgeable, and have a much more healthy and mature perspective on business and software engineering than I did when I was 22.
You are a year or two from being 'old' in this mad market.
My father got lucky in that he was successful in his transition out of engineering, and was 67 by the time his position went extinct, but there are a whole bunch of folks who would rather have been engineers than otherwise, but ended up missing out on a couple decades where the daily tasks of building software changed dramatically so gained less in technical expertise than they should have, and were left hanging around age 50.
I have a ton of cultural criticisms of the current tech industry, but the one thing that it is absolutely getting right is valuing creation. The damage that could have been caused by the Google/Apple cartel has been limited largely by the startup industry that, for all its faults, has as a crucial belief that the act of building things is valuable, and that people who make things are the ones who create the most value.
That has all changed and yet back then was accepted standards from what I could tell. More a insight into culture change but I have not heard of any agisim culture inside IBM before or now, just a beard thing, which has passed.
With that anybody have any insight as to any agisim aspects inside IBM past or present?
IBM used to invest in it's employees. My advisor was of a generation where if you saved IBM X dollars in terms of research patents, etc, you were well supported as time went on. Additionally, they had a culture of investing in their employees. I don't know when the change happened... I want to say sometime in the mid/late 90s things shifted and have since.
That said, most of the new hires were under 25, and most of the older people had been employees since the age of 25. But definitely the older people got all the respect.
IBM's full time offer to me was a solid 1/2 of Google's offer after stock and bonuses (over 2 years), with no room for negotiation.
What's wrong with that?
We were essentially doing the lose-lose algorithm. It's a functioning hash table but there's a lot of room for improvement.
There was a cultural shift internally when Gerstner was brought in - before then, there was a culture of "join us, and IBM will take care of you". Saving the company in the '80s required giving that mentality up, and it destroyed much of what, in my parents' eyes, made IBM a special place to work.
For development, it's all about having your niche. If your niche is stable, age isn't an issue. If your niche is going away, there's little reason to keep a 50 yr old C cubicle guy to switch to consulting, 50% travel and code the latest flavor. There's just no cruising on your laurels anywhere anymore and the market turns over much more quickly.
My observation of recent layoffs is that it's ageism in that most of the people in these jobs are well into their 50's and some into their 60's. Young is 40, and if you weren't in a critical niche, you were just as likely to go as any.
I remark to folks all the time that you can take someone right out of high school, and have them spend about 2000 hrs learning about "computers" and now they are 'hot shot programmers' that are in demand. 2000 hours is a bit more than a year at 5 hours a day factor in that the math, and intro classes aren't necessary for someone who has both done the degree before and spent some years working in the field, and I suspect that any engineer taking a 6 month sabbatical could be right back to current. And completely current with the wisdom of organizational dynamics, work habits honed by years of what worked and what didn't, that person should be like gold.
The place where I feel sad is when someone says "I've been unemployed and spent the last 6 months sending out resumes and no one will call me because I'm old." Had they instead spent that six months re-tuning old talents, sending out the occasional resume, and building stuff, that seems to get people hired regardless of age.
There are two problems with that logic. The first is if you have only six months of experience doing something your pay is likely to reflect that.
Second, look at it from an employer's perspective. You can hire a twenty year old or a fifty year old. They have the same experience with whatever the latest thing is. The twenty year old has the energy of youth. No wife or children. He may come in hungover occasionally but with enough Red Bull he'll bounce back by noon.
The fifty year old is slowing down. He takes drugs for his blood pressure that make him tired. He has ailing parents and teenagers at home.
Who do you think is going to be more productive? Who's going to put in 16 hour days at crunch time?
You can't play to a young man's strengths if you want to compete with young men when you're over forty. IMO you'd be better off as the last guy who knows COBOL than just like every other mobile programmer with six months of experience except older and slower.
> The first is if you have only six months of experience
doing something your pay is likely to reflect that.
My experience is building things has very little to do with the current frameworks and languages. Building a payroll system with a NoSQL back end and an AWS front end is "different" than building the same with an Xwindows client and an Oracle back end, but the things that may a payroll system "good" or "bad" often have nothing to do with the bricks and mortar and more to do with the kinds of things that typically go wrong or requirements that are left unstated. Someone with 20 years of experience writing programs will often know that part much better than someone who has yet to experience them. > You can hire a twenty year old or a fifty year old.
They have the same experience with whatever the
latest thing is. The twenty year old has the energy
of youth. No wife or children. He may come in
hungover occasionally but with enough Red Bull
he'll bounce back by noon.
That however is what sounds like actual age discrimination, that might be like not hiring a woman because "Darn it she decides to have a kid and then what? Force me to pay maternity leave? No thank you!" or "Hire that blind guy? Really like we all we need around here is someone whose computer keyboard costs more than a Retina Macbook, No thank you!" or any number of people "not like you." > Who do you think is going to be more productive?
Who's going to put in 16 hour days at crunch time?
That is a good question, but one where the answer might surprise you. One of them might not have to put in 16 hours a day a crunch time, and one of them might be more productive in 6 hours than the other is in 12.But if you assume work performance based on age, gender, race, religion, or sexual orientation, you will always be doing it wrong.
I could have probably done it, but really only 6-9 hours a day, like you say, would have been actually working on what they were paying me to work on. I'm still not sure how a schedule like that could ever have been considered sustainable for anyone who wants to have any of: a social life, family, or professional development time (going to meetups and such).
And? What is this article about? Do you think it's productive for older guys to cry about age discrimination when they can't find a job? All I'm saying is you play to your strengths when you're looking for a job, no matter what your situation is. And being an older guy with just a handful of years in a brand new technology is playing to your competition's strengths.
Companies that wouldn't hire an older guy as an Android programmer for $35/hr will shell out $300/hr for that same guy to teach an in-house six sigma class for two weeks. So be the six sigma guy. Does it make sense? No. Does that matter? Again, no.
>But if you assume work performance based on age, gender, race, religion, or sexual orientation, you will always be doing it wrong.
That's all very nice and totally irrelevant when you're the one looking for a job instead of the one doing the hiring.
I'm 31 years old, have been doing lots of crunch times of 16 hour days that lasted for weeks and I really hate this expectation and mentality.
I'm more productive than ever, even though I started saying NO to overtime, because fuck you. Yet, I've worked with plenty of beginners and when I say beginners, I'm talking about 5+ years of experience and I have been more productive then all of them, even though they've been more eager than me to work overtime.
The difference has been in the following areas:
1. less experienced engineers when facing a hard problem tend to slap some code in place that barely does what the feature request asks for, without thinking of the implications much, like the potential for accidental errors, or how that code interacts with the business logic already in place, or how that functionality will interact with future features already planned. And so every sprint, every release you end up reworking/rewriting/fixing stuff from previous releases, because a rookie skipped the due diligence and slapped a poorly thought out turd. As a consequence, that's why we have software development methodologies, like Scrum, or whatever agile bullshit is the latest fad, because process is required to get good results with average people.
2. no man can keep focusing for more than 7 hours per day on average. Yes, I've been able to stay "in the zone" for more than 12 hours occasionally, however the average for really good people is no more than 7 hours. The rest of the time is filled with "busy work", like pointless meetings, replying to email, reading HN and staring at the monitor stupidly. If you don't believe me, install RescueTime and marvel at the huge amounts of daily jerking off.
3. Solid work requires a well rested mind. I'm at the top of my game when I sleep well at night and I get great ideas in the periods in which I have a good social life.
4. I learn faster than any 20-something, because I have a solid knowledge base. For example it takes me about 2 weeks to become functional in any programming language, that's because I've already worked in production and played with about a dozen thus far and in regards to paradigms, I've already worked with them all.
> No wife or children.
5. Pity that you view that as a liability. As a father of a 4-year old boy, I can tell you, a child is the greatest motivation you could ever have, which is why I trust people with children at home more than I trust a 20-something that hasn't felt what true responsibility is like.
* bad_user would be based "anywhere outside of Silicon Valley".
* You wouldn't be.
I was right. (bad_user is in Romania, according to his LinkedIn.)
That's not to say it's easy to blow off demands of overtime outside of Silicon Valley either (I've heard horror stories about game companies), but the tech companies that you can do it at seem much more common.
It may simply be founder/executive age. When the CEO has to go coach Little League, he loses any moral high ground he had for saying you can't go play with your kids.
Being able to say NO is not a matter of where you work, but rather one of actually saying NO. It may not work well of course, your managers and peers might not like that, the secret being to not be at the bottom of the chain - as in, you have to be reliable and capable and work on hard enough problems as to not be easily replaceable. If you can prove that you're as good or even better than somebody doing overwork (which is entirely possible because of the reasons I outlined), then nobody will mind, as in the end it's all about the value / artifacts produced, not about the lines of code written and not about the number of hours worked.
And in my oppinion, if you can't produce value while working regular hours, then working overtime won't help anyway. And if you can't produce value with overtime, do you think your boss will keep you hired just because you're a "hard worker"? The market really doesn't care about that and your boss/manager would be an incompetent if he thinks otherwise.
Speaking of market forces, it's a mistery to me how you Sillicon Valley based developers, that live at the horse's mouth so to speak, can't easily switch to jobs that you like in case you're working in environments full of jerks. I mean, even if everybody expects you to work overtime or to do things you don't like, you can always build your own startup for Christ's sake, something that I (being outside of the US) can't easily do.
That's been my experience. Companies will push and push until you say no. After that they may not give you 30% raises every year, but they're not going to fire a productive employee who refuses to put in long hours.
But that's just my personal experience.
On Saturday, of course, things wouldn't go as expected. Many times we were still there at midnight, and he came around asking us to stay for just one more hour so we could help test the latest build. Then there were more problems, so he'd ask us to come in on Sunday. For just a half day.
This happened probably three weekends out of four the first year I was there. It got to the point people were taking Friday off because they figured each hour of vacation was actually worth three hours.
So I came to the realization it was either put my foot down or find another job, so one Friday I went into his office and said "Don't even ask me to come in on a weekend. Ever again." I thought it might cost me my job, but that was the end of it.
This assumption is wrong. They don't have the same experience. Their direct experience (counted as the time they spent hacking with the latest thing) might be exactly the same, but this doesn't translate to the same effective experience / capability. When I was 20, it took me much longer to become productive with any new thing than it is now when I'm 30. A 20-year old with a 6-month experience with a new language would struggle a lot even with basic concepts. A 30 (or better 40) year old, who already knows 10 other languages and a ton of frameworks would pick it up in single days or weeks and became productive very fast, leaving him much more time to dig into the advanced concepts.
When I was about 18 years old, I struggled hard with a math proof related to number theory a teacher gave me. I never solved it then when I was at school and soon moved on to some other things. Recently, when on vacation I recalled that puzzle and started thinking about it just for fun. I solved it in a few minutes by just drawing with a stick on the sand. I never studied theoretical maths nor dealt with it professionally, so I had no direct experience in doing math proofs. Somehow, my capability now is much better than it was 10 years ago. I call it "indirect experience".
There are still some colleagues my age who still wax about the days of writing JCL for their mainframe jobs and never evolved past the 80's and perhaps they gave a bad name for others who built on their of years of experience with evolving knowledge.
I decided in 2009 to specialize in mobile, when I realized how impossible it was for the startup I was working for to find any high throughput engineers, let alone high throughput engineers with niche expertise in mobile. I think it is an advantage in some ways during interviews that I can talk about decades of awesome projects I worked on while also being among the first to ship an iPhone app or a top ranking iPad app.
As they say, luck is when preparation meets opportunity. It's my job to make myself lucky.
I also think I wrote kind of silly code then. I always laugh when I think about a persistent hash table I had to write and how I went out of my way to find prime numbers for M slots using Fermat's Simple Theorem (not his last theorem) and testing for Carmichael numbers. Of course, there aren't that many prime numbers in the first place and a static table would have worked just fine! I always remember this as part of my evolution from an inexperienced academic kid solving a problem that doesn't need solving vs. experience to know where to comprimise and just get it done.
Even then, I knew it was important to start specializing where the needs were evolving, which was win32 programming at the time and eventually Windows MFC programming. This all dove-tailed nicely years later when I started working on the Playstation 3, where you develop in MS DevStudio but the PS3 was essentially a Unix box. It's funny how things work out.
The only thing that sucks about being a 40+ engineer is when I say "whachoo talkin' bout Willis" or "it's tricky to rock a rhyme", half the people don't know what I'm talking about.
There's your problem. You have to ask it as a question.
Try telling someone they're "2 legit 2 quit"; the kids today are not sure if that's good or bad.
Interesting! Was it ageism or was it because you were inexperienced? This is tricky because I feel like even if younger developers are discriminated against based on their age, they might be less likely to attribute it to ageism. If this is true then I wonder if older developers are for some reason more likely to blame ageism for their career ills instead of skill obsolescence, hence making ageism seem like something that mostly affects the older devs...
We're just figuring out where the old abstractions land and the syntactic sugar has made life easier.
There is a massive personality issue at play. If you love this stuff, you don't let new stuff pass you by and end up being a specialist on the dead end. You're constantly sharpening the sword... because you love sharpening swords. Staying relevant and employable is a side-effect.
As I get older, I find that is easier said than done. I still spend quite a lot of time learning new things, but I've become less interested in learning things that are immediately marketable. Learning yet another framework that is marginally different than the one I used on the last project is not the interesting pursuit it once was. At this point I would rather invest that time in something that might fundamentally change my outlook and understanding of the world, which is beneficial in a meta way, but isn't really something that you can specifically write down on a resume.
I find the older I get, the slower I produce code. I spend more time thinking about the solution than coding the solution. This tends to frustrate my employers, who follow the "move fast and break things" philosophy. They think I shouldn't have to think about it, just do it.
So, I guess what I'm asking is, in your opinion, is my slowing down a problem? Or an advantage?
Freelancing might suite someone like you very well though. The best freelancers write solid software at the pace that works for them.
sorry, what? any team that thinks "rapid development" actually means writing code more quickly is a team composed of idiots - I think I must be misunderstanding you?
If it's incurring a similar bug load and just gets done slower, that's a problem and they're right to be upset.
I've seen both cases before, even from very experienced people, so it's very specific to the situation.
Agreed! as discussed here: https://news.ycombinator.com/item?id=7452643
But I think it's also easy to see it as an opportunity. We are staggeringly lucky generation; software is the future and it isn't going the way of mass automation or obsolescence any time soon. There is probably another two hundred years of foundational innovation left in the field, we're still just scratching the surface of information theory and what's possible. Experience is likely to increase in value.
As individuals; by cultivating just a little higher order thinking, and seeing above the surface layer of raw code, it shouldn't be hard to offer meaningful value and insight for the remainder of one's lifetime. I don't think the key is learning to "adapt", progressing from one fad language or technique to another, so much as it is to see the similarities between these fads and to understand them at a higher level of abstraction. To understand that SOA programming is the same thing as micro-kernels, or CSP, for example, and to seem to offer new wisdom by regurgitating the old.
In that spirit, I've observed that the successful senior engineers I've come to know don't decry constant change, but constant same-ness.
People are talking about this a lot in the context of women too - is this "cultural fit" expectation keeping women out of the profession?
I think women in general are equally able to hang and be a bro, but in some cases it means they need to adapt, and some women are resistant to operating in a masculine space.
Back then old meant something different as it was a new industry, older people didn't grow up with tech and there was a huge valley/difference between someone that gets tech and a generations before that didn't have it. Everyone below 40-50ish (and definitely everyone in their 30s and below) has had tech around their whole lives and at a more core level as it was new and attracted mainly young people then, but now it attracts all people and has had people working in it for decades (past mid 90s when the internet went mainstream, most are still doing it).
I have to say working for over a decade in tech/programming that most of the really good programmers were over 30s (and all good product developers were either close or over 30), this is because it takes 10 years to get good at anything even if you start in your teens, shipping products for 10 years can't be sped up. Someone out of college at 23-24 needs to work until 33-34 to be really good. To discard that is futile and young programmers might even be scared away from this line of work if there are no future prospects. I also believe it will be detrimental to our entire country as technology is so important now.
Funny enough in game development some of the best I have worked with were actually in their 40s nearing 50s even though it is also seen as a young industry, game companies wouldn't ship anything without experienced developers of 5-10 years, you can't get that experience and then be worthless at 35.
When there is a new industry, the people in it at that time sometimes gain more valuable lower level experience because the platforms/layer is still being constructed. So engine developers that are older were almost always better than younger because they have the core knowledge without the layers of fluff that product cycles can add. Just like back in the day hardware was more prevalent and a population of people that were in it then are sometimes better at it because they were around when it was big.
The market is also solving ageism by paying programmers better than managers many times. Noone will desire to go manage if it is a step down. There was a temporary moment in time when there were NO development managers, sales/marketing/bizdev couldn't manage it. So they NEEDED programmers to go into management to make sense of it and they are good at marketing so it stuck in the collective psyche. That has changed dramatically and I believe this will mature the industry.
Also, let's not confuse ageism for VC funding selectiveness, they will always choose younger because the term sheet is easier with younger that are less knowledgable about value. The 'problem' with older coders is they know they can ship and know their value.
Who knows, if the WhatsApp guys were younger Facebook could have gotten it cheaper. If older developers build more value, VCs will see they can flip for higher amounts and that may also help this perception problem.
Ageism isn't just a problem for older developers, it is a problem for younger developers as well in that they are smart contributors that will be shut off after 10-15 years of solid work, right when most of them will be in their prime and contributing to society.
Edit: I know not all of Silicon Valley is doing pointless startups.
But there are a ton of startups/developers building really cool tech - in SF and beyond - and they end to be older and more interested in real technology vs cashing out their options.
The bootstrapped, 6-year-old former startup I work for is filled with people from their 20s on up past 50s making, selling, and supporting Software as a Service, with the developers hacking away at a RESTful API and Ember.js apps. Plus, we share the building with Kickstarted startups like Pixel Press, VC-funded startups like TrakBill, etc. and we're a couple blocks from an incubator + coworking space with 80 startups at every stage.
Being away from Silicon Valley doesn't make you automatically boring, or a cubicle farm, or even full of old people
"RESTful API", "Ember.js apps", "Software as a Service", "sharing the building with kickstarted start ups".
Now I'm in the Bay Area and I often consider getting out but in general the jobs here just have better benefits. I'm not just talking about foosball/ping pong tables. I'm talking Gourmet meals, 3-4 weeks vacation, unlimited sick time, people who want to work on interesting technology problems, great salaries plus equity.
If I decided to leave my job today, there are a ton of good options all over with the exact same comp package, because they have to to be competitive in this area. I could relocate but I'd feel I was held hostage by the other options in the area I chose to move to.
I've seen the other side and it'd take a lot for me to go back.
As an iOS dev here, you can expect to make 85-100k and spend < $1000 / mo on rent. There's also no state income tax, so you get a 9.6% bonus right off the bat. Not too bad if you ask me!
Take two 50 year old engineers. The one who has had 10 jobs over the past 25 years is considered infinitely more employable than the one with 25 years at the same department of the same company.
This case isn't ageism, it's the expectation of career stagnation, yet many of those engineers with that 25 year tenure think it is. It's a leftover from the days when loyalty was tied to tenure, and loyalty was valued highly in the hiring criteria. Those days are over. Loyalty is nice, but loyalty that negatively impacts your career options (no learning or improving, inability to use marketable tech skills, etc) is foolish.
When you say 'people like me', keep in mind that just because you have had three different roles at one company in itself doesn't mean you didn't stagnate, just as the person with ten jobs may have stagnated.
All assumptions have some danger, and I'm not condoning the behavior. I think it's valuable to explain to people who feel they are being discriminated against based on age may be more likely associated with stagnation (actual or assumed) based on extended tenure.
I'm certainly not saying that someone who has held multiple positions has not stagnated, either, simply that fundamentally the only difference between me and someone who worked for three different companies but had the same roles as I did is merely the company nameplate. To make different assumptions based solely on that is illogical.
Are you arguing that in that scenario it's more likely that the one-workplace worker really has better experience, or are you arguing that it's possible that he has better experience?
CV-sorting is not a maximization problem, it's a satisficing problem of getting a few good candidates to the interviews at a reasonable cost; which generally requires throwing out 90% of CVs without spending the resources to seriously investigate those people. As long as you have enough qualified candidates, factors that "often are bad, but sometimes are good" equal an automatic forward to the circular folder under HR desk.
[1] As we all know, all greybeards use Lisp ;)
What's the distribution of software engineers by decade across a 40-year range? Is anyone here willing to argue that it's completely flat? Of course not, there are far more SWEs in their 20's than in their 60's.
I have never once had my age be an issue at work or in an interview. My resume clearly states my work experience, and goes back 20 years. I don't have to hide anything, and I don't expect I ever will. Am I willing to believe there are employers out there who try to discriminate by age? Of course there are, just like there are fraudulent companies you could work for, sexist assholes you could work for, etc.
None of these matter because you don't have to work for these people. As a competent engineer your skills are in demand, and you get to pick where you'd like to work. If you aren't a competent engineer, no amount of plastic surgery will get you hired, and please stop using your age as an excuse.
We look at engineer hiring to determine what's valuable, and what's teachable. Do we want our engineers to be current? Yes, but only reasonably so. Anyone who has been around long enough will recognize that most currently popular technologies in use as tools of the trade are simply iterations on ideas that have existed for a long time. Any individual who thinks we're in the dawn of some amazing age where the tools are only understood by a certain generation is, for lack of a better word, foolish.
So, for us being current is really just status at a point-in-time. It's entirely teachable (or better yet, learnable.) But what's valuable? Understanding your trade is important to us, but having real experiences under your belt is super-critical.
Have you ever run a large-scale operation where your code was mission-critical? That's important to us. Ever been responsible for deployment that required zero downtime? That's important. Ever had to ship code and the difference between success and failure meant revenue and jobs? That's important. Ever actually done more than one thing besides {web/mobile/admin/etc.}? That's important.
So, we try to combat ageism by ensuring we give young folks a chance. Not everyone gets that opportunity, but we do so sparingly when we feel such an investment is worth our time, money and effort.
It's also a natural progression of an engineer to start off as an employee & then take an independent identity. So it's common to see older engineers become consultants & business owners; who then hire the younger, cheaper, more impressionable employees.
I see an old/young tradeoff between pattern recognition and fluid intelligence.
Maybe why some older developers show less enthusiasm for the next really "awesome" idea is that is really isn't that new. Maybe the older developer has already learned the hard way the downside of the Dunning-Kruger affect, where: the more you know, the more you know what you don't know.
On the other side of the coin, maybe older developers have a blind spot towards opportunities that have failed in the past. Because the timing wasn't right. Because the audience wasn't ready or the infrastructure was premature. The secret of a good joke (and startups) is timing.
Perhaps some startups are best structured like a team sport; with both younger players at the peak of their brilliance and with older players that can both play and coach.
Yes. A lot of things have to come together for something to work. Something can fail many times before succeeding. A little irrational optimism can be a good thing. Hitting the ground running at the exact moment is very challenging.
Take your average 20 something year old hot shot highly sought after programmer, well I make 3 times as much as him. As soon as that little tidbit of information is out of the bag, I'm suddenly "too old" or would not be "good cultural fit" for the budding startup.
Sad thing is, it's true. Most of the companies these days are not really solving hard core problems any more and don't really need someone of my level of expertise and skills (how many are in the guts of an OS, databasse or compiler, or need their server performance insanely tight). Most are hoping to disrupt Facebook or Twitter, and for that "social" stuff kids who don't know what they are worth are better suited anyway.
(1) If someone doesn't keep up with currently relevant technology, they will find themselves without the job skills that employers are looking for, regardless of whatever other qualities they may have. This isn't ageism.
(2) If someone works at the same place for 10+ years, getting raises every year and becoming more and more valuable because of their knowledge of the innards of one or more huge codebases that are specific to that company, they're likely to have a hard time finding another job doing something different that pays as much or more. It's very easy for people to settle into a routine for many years that doesn't necessarily carry over to another job. Someone in this situation might have to take a pay cut (maybe a big one) to start from square one doing something else at another company. This is an unfortunate reality of being a software developer, but it also isn't ageism.
(3) If a really young entrepreneur is hiring for their startup, and they haven't had the life experience to develop the maturity and insight to avoid being biased towards hiring people who are just like them, it is possible that they will favor a younger developer over an older developer based on age alone. They may not even be aware that they're doing it, they might just feel like all other things being equal, the younger developer is a better fit for the company. This could be ageism sometimes, and it's very unfortunate when it is.
(1) and (2) are the perils of having a long career as a developer. Employers who don't hire someone because of these reasons are making rational hiring decisions; they're not making decisions based on being biased against someone because of their age.
I don't know how often (3) happens though. I could see it being a problem in SF, where I've heard the job market is disproportionately composed of startups. I don't think it's like that in the South Bay (at least not to the same degree), where there are tons of large and established companies that are less likely to do this.
Except.... I do see younger people getting hired who don't necessarily keep up with current technology. It may just be that they're ultimately cheaper, and it's just financial. But I do suspect that older devs are held to a higher standard on this front ("what? you're still using Rails 3? luddite!")
It's not necessarily rational unless the company holds all candidates to the same standards ("current with technology", for example).
My next job likely will not be using this software so I'm doing my best to keep up with what's changing in IT generally. I even schedule a time once per week to work on a side project just to make sure my development skills stay sharp-ish. Despite the effort I put in, I expect that I'll likely have to take a pay cut if (when) I go to another job at a different company.
If it sounds like I'm complaining, I'm actually not. This is just how it works I guess.
I'm also not surprised that investors are biased. As a group, they are just people with money. That feature doesn't preclude them from being unreasonable in the way (one would hope) being an engineer implies a certain level of objective rationality...
What does surprise me is the fear that is apparently spreading among aging engineers. You didn't get where you are by being afraid. Every problem you've ever solved proves your ability to bend systems to your will. You design your own fate. Don't make yourself vulnerable by believing anything else.
</rant>
On a more practical note, if college students had more opportunity to team up with older professionals on small co-owned projects, I think that would go a long way toward bridging the gap. Exposure is key. That's like, behavior therapy 101.
We have a massive age range all the way from 20 to 60 (I guess), with most of the better engineers in their 30s-40s it seems, though to be honest you wouldn't really know unless you asked - there are guys here that you wouldn't guess were 40.
Personally I know I'm a far better engineer now in my mid-30s than I was in my 20s and to be honest I STILL feel like a beginner excited to finally find his feet. I don't see this stopping anytime soon. I don't want to get into management and luckily don't have to and I'm sure at 45 I'll be a far better software engineer than I am now (well, I sure hope so at least :) ).
The people in SF/SV building apps are mostly in their 20s-30s.
The people building cool technology are mostly in their 40s-50s.
I know 20 year olds making brain wave analysis breakthroughs and 50 year olds making poker apps. And the reverse.
Great work knows no age.
And there's not enough of it to go around.
|The authors examined the high points of the careers of both great inventors and Nobel-Prize winning scientists, and they found that the late 30s were the sweet spot for strokes of genius
The gist is that this number (38ish) has been slowly creeping up over the past century; it is generally higher in those fields which require a synthesis of huge amounts of knowledge (experimentalists) and earlier among theorists. Notice that essentially no one has done anything groundbreaking in their 50s (yet).
Sounds like an accurate statistical sampling to me.
But you can see for yourself. Have a look at most jobs at start ups, they're always javascript/ruby/python/fancy new framework or mobile apps to reinvent online shopping or web site analytics or something.
So they use whatever the latest angular clone is.
There's probably a business idea there.
Besides, I write my best code when I'm jogging. I just type it in when I get back to my desk.
You have to play close attention to the incentive structure of the business. The situation is arguably worse for startups if you're salaried: you're 'changing the world' so it becomes OK for the occasional 50/60 hour week.
They rather have naive young developers willing to work constant overtime, to get the fancy javascript frontend web page out faster.
The story about Ionic seems a little ridiculous. And while I sympathize for Stamos, surely there must be more than age being the difference for raising funding. Even if it is a big factor - I can't imagine all VCs being idiots, seeing a better product in an obviously valuable market and then passing.
The narrowest experience is actually amongst the mid/late 20 somethings in our group. I'm not sure if it is that lack of systems experience, not much exposure to C and lower level languages, or what, but they need more mentoring than what I recall needing at the same age.
I'm currently doing that for a couple of them and it is actually both challenging and interesting. Challenging mainly in how to convey tasks, teach them troubleshooting (without the hand holding), and a few other items. Interesting because we all learn differently and seeing how others approach problems either reminds me of my own trials or forces me to think out of the box on how to explain things.
Personally, I've always been a bit of a control freak when it comes to development -- I want to know system level through whatever level I am developing at. This often includes system administration, database management, etc. This has become much more challenging as new technologies come about -- so in those cases, say NoSQL, I will focus on one or two solutions rather than trying to understand each. Build a basis for the concepts, where it is useful, and then test, collect data and reevaluate.
There are red flags that you can easily spot in a job interview or job posting that indicate that the employer wants 80-hour weeks. And who signs up for 80-hour weeks? Naive young people who don't value their time and don't have other commitments, like side projects or family.
It's easier to gauge over the phone or in person. It's often the way things are said that act as a trigger. If a founder works 60-80 hour weeks, it's going to be expected that you will too.
Much of my early career success can be attributed to working with many senior engineers who taught me a lot very quickly, given their knowledge and experience.
There is also reverence/nostalgia for "pioneers" in my field. It's fun to tease them about punchcards, but it's also great to hear their stories about their experiences when they first started as programmers.
Then again I'm 33 so my opinion no longer matters.
As a early-twenty-something I only know a relatively small number of engineers 30+, and have only worked with a handful. Compare that to the dozens of engineers my own old that I know, and have worked on projects together. If I founded a company tomorrow I know which 4 friends from college I would want on my team, they're all other twenty-somethings.
The only engineers over 25 I have worked with (excluding open source projects) were my bosses at previous companies. I simply wouldn't know who to hire. Anyway, would any self-respecting engineer take a job at a company found by one of their interns or recent graduates from a few years back? I highly doubt it.
In my hypothetical would I really hire someone who was twice my age? Probably not. To be honest I'd be afraid of their experience. I'd feel maybe their my training wheels. They have a lot more experience than me, will their experience take over my company's vision. Part of the mentality as a twenty-something founder is proving yourself, be that to your colleagues, your peers, your parents, or whoever said you just wouldn't make it.
I find it hard to find other twenty-somethings hiring many people twice their age in the early days. Maybe without even realising it a culture similar to that of college creeps in. Every new hire creates culture, and from my hypothetical I don't have a very diverse team to start with if I start with college friends and other twenty-somethings.
Somewhere in the early days no one seems to be spotting the 'culture' problem start-ups are creating. Was this problem unintentionally created? Or was this problem created sub-consciously created intentionally? Would I as a twenty-something founder sub-conciously create a company where my Dad or my even my cool Uncle wouldn't want to work at? Probably.
I demand a very high premium for the work I do for others, and if I were going to start my own business, I wouldn't hire inexperienced people to do it with. I know the people I need to know to get financing/sales/engineering/etc. and they all have proven successful track records. At best you could bring passion and new ideas, at worst your college culture would creep in.
Don't get me wrong. I enjoy working in environments with younger developers. Mentoring new developers is one of the most rewarding things I do. But my employers have me do it because hiring young folks is a cost of doing business.
That said, I don't think anybody is worried about ageism creeping into 3 person ramen startups. The issue is 2 fold A) if your startup becomes successful enough to need my expertise, and you don't hire me because you don't see the value of experience, that is bad for both of us. B) There currently seems to be severe bias in SV investors against older founders and/or startups that employ early stage experienced folks. Paul Graham has this bias and is proud of it. That is the ageism that gets me upset.
Finally, I will say, writing good software is a craft. Like all crafts, learning from experienced craftsmen is central to getting good at it. If writing good software is something that is important to you (it needn't be, and might even be detrimental) you need to go meet and work with older developers.
In order to do new kinds of work, I had to turn down jobs for the boring stuff I knew I could do. I chose to work on stuff that scared me.
So: work on things that scare you. Things that you find mysterious. Things where the machine teaches YOU, not the other way around.
Sooner than later.
On the other hand there is a basic cost to each employee regardless of salary, so the higher pay is not proportionally as high as comparing salaries.
On the gripping hand, older employees often have families, who incur more expense for health care and so on. You can expect older people to have health issues on their own, too. This is a fairly big deal in the US, where the health care payment system is broken.
More importantly, what could we do to facilitate an increase in creativity or productivity or 'talent' over time? The fact that we don't has a huge impact on the kinds of things society achieve.
I don't think it's correct to just say "brains get less flexible" and give up. Most Nobel Prize winners (even in theoretical physics) tend to do their prize-winning work after this cutoff (I believe average is 40+). I suspect it has to do with the fact that scientists frequently have to shift the problems they're looking at as they go from grad student to postdoc, and grant to grant.
If I had to guess, I would say that it's not biological age, but time spent in a particular field that suggests how big a breakthrough you can make, because you get stuck thinking in a particular way. If young people have an audacity that lets them tackle new problems, we might focus on how to preserve that audacity as we get older by making it easier to switch fields.
This question has been answered many times before. People are re-solving the exact same problems with a new framework, platform, or language every two to five years, sometimes less. The "solved problems" never seem to stay solved.
Alan Kay had a good point when he said the last 25 years (now 35 years) have been more about pop culture than actual engineering[1].
There's no empirical evidence for it. Yeah, there's a couple of half-hearted graphs of Einstein-level breakthroughs. But is that really the model here? Some guy builds a master work, a once-every-100-years theory; it's a bit much to expect him to top himself.
If we look at other fields, like painting, composing, writing, the results are more mixed. Software reminds me more of composing, really. Composers last forever.
Folks, it takes a long time to get good at this. 30 years before the mast and I'm still gaining speed.
I am now 30 with a wife 2 kids - I simply cannot put in the same number of hours of simply playing and practicing I did when I was 15-25. As much as I try to put in the hours, I need to face the fact I need to focus my time on them now. I also need to continue to earn a good living to give them everything I want for them (education, freedom). This means I am going to keep my 150k job doing things which may not be so innovative but I get to leave work at 5pm.
Whether that is a incorrect assumption I don't know, but from my perspective it feels true.
The perceived "talent" or "smartness" of younger people in the valley is simply the result of them taking more risks, which inevitably sometimes pay off. And risk-payoffs in the valley are disproportionately large at the high end, which skews the balance toward taking more risks.
For my theory to be true, silicon valley startups would be riddled by god-awful, marginally working code in the average case.
Yes, I can back this point up. I feel it.
I used to crank out demos in crazy short periods of time. Now I take longer, but when I'm done it's code with really solid engineering that I wouldn't be ashamed to continue using.
Because that "crank it out quick demo" always gets used. And you always end up suffering with it for months (or years).
And despite feeling like I'm taking "longer", I still tend to get things done faster than most developers.
Wrong question, I think. Talent does increase with age, at least if the developers in question actually care enough to stay current. [1] I don't think it gets better by orders of magnitude, though -- the mythical 10x-20x programmer starts out as a 5x+ programmer. I know I was already at least that much better than most of my coworkers when I got my first day job.
What does happen is that developers are less willing to work crazy amounts of overtime just to impress management, and it's overtime bias that's the real problem.
I just blew away a team of two developers (both much younger) who had been working on a project for 9+ man weeks, catching up and passing them in less than two calendar weeks of development (on an implementation of the same code on another platform). And I did it in 30-40 hours per week. At a "traditional" company that rates performance by the number of hours each developer sits at their desks, I would have been the worst performer, and it's only the fact that I was doing almost exactly the same thing as the other team that made it clear I was getting more work done in less than half the work hours.
The corollary is that, as a young programmer, I cost the same as an idiot who couldn't put two lines of code together without creating three bugs, but I was already at least 5x as productive as that idiot (well, infinitely more productive than some developers I knew back then...). But now I have a track record and I make a lot more money; if I'm as good as 3-5 typical programmers, 3-5x the average starting salary is a bargain (considering reduced overhead, management, and increased chance of project completion because of reduced complexity).
But most companies don't recognize that, so they'd rather hire and manage 3-5 young developers for "cheap" who are willing to work lots of overtime. If they get at least one who's good, they may get more than their money's worth. Otherwise they're likely to end up with a project that's late, has tons of preventable security issues, and that is harder to extend than if they'd hired the expert.
That's what's broken. As to how to fix it: Would be wonderful if there were some verifiable way to rate programming skill, but until someone comes up with a system that can't be gamed, I don't see how.
[1] I've known many developers who effectively "give up" on learning new things at some point, and from that point on their skills rot (and/or they become managers). The ones who keep learning don't seem to hit a "skill wall", at least into their 50s, where my sample size drops precipitously.
He's going to be great when he's 60 years old, because he's great at what he does, passionate, and lives for learning new technology.
The only difference is that yes, he will not be working those crazy hours.
You do have one mistake in your post though. While yes, a single developer who is 5x more productive than another programmer is worth more than 5x as much - for a small team that may not matter as much as you think. As a business owner, I would want to hire you, but I also need another developer who can "keep up" so I have business continuity should you quit/get hit by a bus or something. This is worth a considerable amount and I would not be willing to hire you vs. hiring 3 lesser developers to get the same job done. It would be too much of a risk.
This is a fair point, but consider that having the expert work on it to start with, even if the expert leaves at some point, would mean you have a far more maintainable code base than if you'd started with three junior developers.
Probably the best answer is a compromise: Get the expert to put down the "bones" of the project with the understanding that they would commit to training a (less expensive) project maintainer (or a team of them). EDIT: Also have the expert screen your maintainer(s) so you don't end up with idiots. :)
The value of having good code to start with can't be overstated. There are times when I've come in and told people that they should start from scratch than try to maintain their pile of garbage code created by junior developers.
I'd say its the "I'm too old for this shit", attitude. If you want to get in early and leave early that's fine but If you don't put in extra hours, there will be decisions made when everyone else is in the office and you went home. Then you bitch and moan like its ageism but they're asking the team to conform to their hours and that's just not going to happen.
Plus there are plenty of people who have the "I've been doing it this way for XYZ." Don't tell me innovation stopped when you got the Sr. in your title. If you're coding in Java and refuse to type your collections, I hate you.
If you click with the team and have gray hair, I'll love to learn from you.
Pros of being older: 1. Wisdom from having written a million lines of code and having run into all the bugs before. 2. Can more capably see the pros and cons of the latest fads. 3. Not as distracted by the need to play. 4. Don't drink as much (the younger generation drinks a LOT! 5. Capable of providing adult leadership.
Cons: 1. Even those of us in excellent shape just don't have the energy we used to. 2. Family distractions lead to lack of free time to keep up with new developments. 3. Family distractions lead to more errors. 4. We are sure we've seen everything already. (And boy are we wrong!).
All in all, my next startup is definitely going to have a mixture of wise, seasoned hands and energetic young devs.
Well I could have run around the job fair naked and on fire and I bet I still couldn't get anyone look at me.
One local CS professor not mine he was the other one at the Uni didn't even look up or acknowledge me. What's a hoot is he was older than me smoked weed and partied with his students, talk about having a mid-life crisis.
Pushing 50 and it frickin' works for me...
Older technologists are out there, but they're a bit nomadic.
There are a lot of crappy businesspeople willing to toss the plasticity of young employees, and the experience of older employees away; these are the people we hopefully aren't giving venture funds until they figure things out.
I am in early 30s, which means I am mostly interviewing for senior engineering position. I have been part of teams where we have made offers to several folks older than I am for similar or higher position. This is the only time when age does come up for discussion (is he really qualified to be a senior or not?)
However, some patterns I do notice from time to time are:
- Younger folks are more eager at times to do more.
- Their enthusiasm also comes with quality of work that needs some additional care. But, it is critical we mentor them during these times.
- Older folks are generally more clear on what they want to work and how they want to solve a problem. Experience most likely.
- The really bad situation to be in is when some of the older (senior) folks don't drive and take initiatives and just wade through. With someone senior you want them to be there to mentor, help, guide, keep an eye out on many things, but we have seen a few senior folks who don't make that effort - This is probably the #1 problem I have seen in teams. A sense of agility is almost vital.
- I have seen the same lack of "drive" amongst some younger devs as well.
- End of the day, its not age, its almost the subject scale of how passionate they are about their work that has worked for us. Old/young is really irrelevant.
However, I really think it is a money issue that is subconsciously present in how the tech industry hires or funds people. It's much cheaper to hire/fund a 23 year old than it is a 33 year old.
23 year olds negotiate a lot worse. They are easier to manipulate and take advantage of. You can convince a 23 year old to take a cut in salary for "huge potential". A 33 year old with 10 years of experience will have been fooled a few times and be much less willing to take a bad deal.
Also, there is a misconception that the 23 year old has comparable skills to the 33 year old.
If the 23 year old has been coding since he was 15, then he has 8 years "experience". We all know that is sort of bullshit. While some teenagers take coding seriously, it's a lot different than working on a real project with deadlines, customers, and "It has to work" attitude.
So, the hirer/funder convinces himself that the younger person has similar skills AND will be easier to guide or manipulate.
It's not just in tech that this happens, but it is more prevalent because tech is such a fasting changing and relatively young industry.
I mean, at one point, railroads were the latest thing and people starting railroad companies were young guys full of piss and vinegar.
I think as time goes on, you will see a gradual changing of attitudes, but it has surprised me how long this prejudice has stayed.
Maybe it's an unpopular opinion here.
In reality, young people are less paid than older counterparts in almost every economic sectors for the same skills. I mean that'a known truth! Silicon valley is the opposite? Good for the them.
I think there is 2 strong biases against older founders that might explain the situation:
1) The man is not a programmer and don't have a feeling for high tech stuff. I know founders here in Paris in their forties. They are starting web startups while not even knowing how to connect to wifi! But because they are old and have connections, they get funding! You are telling me in the valley it is the exact opposite? It seems just fair to me!
2) The man is a programmer and a good one. In their forties, you might expect him to make something like 350k and have a good title like CTO or lead developer. Why he will risk everything to start a new company? I can understand why people feels it's odd. Maybe there is a 1:20 odds to make it so he must aim for at least $7m to make any financial sense to him. Or maybe he is not a good programmer.
What? There are quite obviously not as many CTO or "lead developer" positions as there are junior engineering positions. So why are you assuming that everyone that old must have such a great job?
However, the New Republic article was more about technology entrepreneurs who aren't necessarily coders or engineers in the traditional sense.
These entrepreneurs and the VCs who seek them out and fund them tend to have a bias toward youth, because there have been some stunning success stories among the young, as laid out in the article and in many comments here (Torvalds, Wozniak, etc.).
But, the skeptics interviewed in the article argue that these 20-something wunderkinden are the edge cases, not the mainstream. Historically, scientists and technologists have tended to accomplish more in their 30s and 40s and beyond.
In the world of software development, certainly there is a mixture of talent across the age spectrum. There are excellent programmers in their teens and twenties, and mediocre coders in their fifties. But there's a general consensus that experienced programmers in their fifties are better able to avoid some classes of mistakes that twenty-something coders simply haven't had a chance to see yet (but will).
Someone gave the same argument to me regarding Y Combinator - They only invest in 22-28 year olds... Which is statistically probably accurate, but here's a question that people don't think about: What do you think the average age of someone who applies to YC is?
The "discrimination" arguments toward older developers made me laugh. The sad thing about this article is that it seems personal - these specific guys that are mentioned were likely just not able to pitch their idea effectively, but blame it on the young kids "seducing" VCs with their "baby faces" and "fresh college degrees."
What, do they think that VC's just go, "Oh you sort of LOOK like Mark Zuckerberg. Take my money."
Just because someone says they "Love your idea" and that it is "Better than others they've seen" doesn't mean anything unless they write a check. My past startups pitched VCs who said this all the time (I was in my early 20s btw) - I used to think we were being discriminated for being young!
Btw, who do you think has a better chance of landing a deal with a large company - a 23 year old fresh out of college or a 50 year old with 20 years of business experience? Do you think that VC's are oblivious to that fact?
"He figured it was only a matter of time before nCrypted Cloud made them both very, very rich. The only thing they were up against was 50 years of accumulated bias."
LOL @ that statement. I've heard the same kind of statement countless times from startup founders of ALL ages.
It's a reference to something pg said about himself:
"""And Graham knew that he had his own biases. “I can be tricked by anyone who looks like Mark Zuckerberg. There was a guy once who we funded who was terrible. I said: ‘How could he be bad? He looks like Zuckerberg!’ ” """
http://www.nytimes.com/2013/05/05/magazine/y-combinator-sili...
And there's a difference between investing 15K in a startup and 1M+. I highly doubt anyone invests millions of dollars because a founder looks "young"
What we consider very basic geometry calculations today, so trivial we teach them in elementary school, would be beyond the capabilities of even some of the fabeled Ancient Greek Geometers. Again, this is only because many generations of mathematicians have refined and abstracted away much of the detail that at one point was necessary to perform these now trivial computations.
I can't wait until these 22 year olds of today hit their 40s and they reap what they've sown.
Zuckerburg said "younger people are just smarter"? Certainly there's a degree of hubris in youth that you don't lose without experiences of failure and compromise. But that's usually not "smarts" - just youth. I've had similar encounters with people where I've been able to guess parts of their business (and failures), and it's because I've already had my own.
One example - pardon the long rant...
I did a bit of prototyping with some college students about 15 months ago. Core idea was "coursera/udacity for medical students" - something like that. Being medical students, they saw a lack of useful material focusing on them, and wanted to fill that niche. "You'll have trouble getting content, and will likely run in to IP issues with professors and universities". I said this within the first 10 minutes of meeting them. "Oh no, we've already got people lined up, ready to create content," was the reply.
That intrigued me, because content is the hardest part. We met again, and again, and I did a small (small - like weekend prototype) set of code to let people upload instruction content based on the structure we'd laid out. Then.... nothing. Days to weeks to months... Nothing. What happened? They mistook "hey, great idea! yeah, I'll do it" sort of nice/polite feedback as real commitment. The few instructors who actually were interested in going further discovered they had to clear their involvement with their respective universities, as it seemed to constitute teaching and would conflict with their existing contracts (IIRC it could have been worked out with money/licensing, but there was no revenue at this point).
So... months later after a lot of legwork on their end, they came to the conclusion that I'd come to after 10 minutes. That's not to say "Ha, I was right, dumb idea" - the idea will happen, imo. They just sort of ignored me - I was an 'outsider' - they 'knew the space', etc. I'm the old guy who's not at university - how could I possibly know what student life is like now, in 2012? They could have saved themselves a lot of time by focusing on the issues I'd identified up front (which... was not just tooting my horn here - an older colleague identified the same issues on the same initial evening meeting).
But hey, "younger people are just smarter," right? Nothing is so cut and dried. Smarter people are smarter, energetic people are energetic, etc. There are 50 year olds that run rings around many 25 year olds that I know, both physically and activity-wise.
In this case, if you want 50 well-respected professors, you have to go out of your way to identify 100, then identify potential concerns (licensing issues with existing publishers and universities) and solve that problem. Building a website for people to upload slideshows and movies is a solved problem (hundreds of times over). Building a process to extract out valuable content from people who would otherwise not create digital content, then monetize that, that is not at all a solved problem, at least in many verticals.
Yes, someday, someone's going to crack this. I really don't think it'll be "some naive kid". The way you're saying it makes it sound like it's the "naiveté" which is the magic potion in all this (gosh he just didn't know what he didn't know and just 'made it happen'). That's a nice narrative, and does happen now and then - people win the lottery now and then too. But by and large it doesn't happen that way.
Certainly this space will get solved - probably in the next few years - but it'll be a licensing deal between the larger publishers and universities and someone who builds a platform for them to generate revenue from these captive audiences.
Of course, I might be 100% wrong, but judging by the number of students I talk to with "why isn't there a ..." ideas, I don't think so. most of the time the reason there isn't a good FOO when you're in the education world (as a student or teacher) it's because there's policies and purchasing procedures which prohibit it, not because someone hasn't thought of the idea yet.
[1] http://www.berkeleydailyplanet.com/issue/2000-04-06/article/...
As an example, during my first year out of college, I often found myself waiting upwards of a week for someone else to get me something I needed to complete one of my tasks. I didn't know the right way to prod a coworker--or in this case, actually, boss--to get you what you need so you can get stuff done. Examples like that abound.
Innovation is not a matter of age either. It's mostly about observance and imagination which are qualities that can either increase with age, if one nurtures it, or diminish with age if one is unaware.
That is to say; both experience and innovation are NOT age related.
As human beings, we cannot help but be influenced by prevailing outlook in our immediate social circles, and the media we're exposed to. It is our responsibility to be aware of this bias, and find THAT WHICH transcends age.
Then I went to work for a pretty cloistered company for the next eight years. One closed local office and one declined offer to move to HQ later, I started looking around. And suddenly found myself the oldest person in the room.
I had done contract work for many of these companies prior to 2000, often for the very same departments or groups. The irony of the situation is the lead and management positions which had been filled by guys in their late 30s, 40s and 50s, were "now" filled by guys in their late-20s and very early 30s. And the difference showed.
This is in the Midwest, so ageism isn't just a SV thing.
To dissect this: 1. Rovio is a Finnish Company (Angry Birds) 2. Flappy Bird is a guy from Vietnam. 3. Crappy Bird... ?
Not one of these examples illustrate the argument that they were solved by 22 year old affluent males from Northern California.
I moved on to another company and trippled my salary in the private sector, though again was told by the recruiter if I was over 21 I would of got paid at least £2k more than I was.
After a short time I moved into contracting at around the age of 19, doing COBOL work. Again I had many issues due to ageisim for being so young in what was a old generation feild. Interviews would be a complete grilling of which I excelled and shone above and with that got the work. Age was still a factor then and as a young contractor I was often dismissed by people soley due to my age. Though would always shine above them in technical ability, because I had too.
After a few years contracting and the isolation of being a contractor amongst permies(permenant staff) I would feel left out and moved back into permenant work.
Times changed, now it is the reverse and sadly I missed both boats, being at the age of 47 and with the IT feild often shafted on many managerial levels I somewhat regret not working in a building trade as many people I know did and made better money, more free time, less stress and burden. Not forgetting it is a older trade and with that TAX wise more adapt in NI contributions (National Insurance - UK thing) being a pitance on contract to IT, which is full rate. Then there was the introduction of IR35 desigend to penalise contractors in IT directly.
It still is finding it's feet and whilst law and accounts have there long standing estabilished exams of recognition, IT still does not. With any certification easily expiring in a few years and nothing holding up for a lifetimes of work.
Sadly that still prevails and IT is often the butt of all departments in many a company and often shat upon, little reward for good work that saves money over other departments who add little value.
But during my time, one event stuck out. I went for a permenant job at a company - PC Database work, Dataease and turned up at reception ontime. Was left waiting for 30 minutes then handed a form to fill out, which was basicly a HR form regergitating what was already on my CV. I then had an intervew with the HR manager. She was very curt and rude and said, that is a lot of money for somebody your age and was very dismissive and really put me off the company. I had the IT department intervew with a manager and contractor they had in who was an `expert` in the feild. Shone thru and even educated the contractor about a hidden debug mode, happily answeared the question about post codes in so much detail that it was scary (post codes same as USA ZIP codes). This resulted in a job offer before I even got home, offering me more than I was (the recruiter) asked for. I turned it down flat for a lesser paid role as the HR experience had put me off completely from that company.
So whilst agisim is a problem, that problem has gone from looking down upon young people, to looking down upon older people.
But the real issue of IT and one that will carry on for many years is one of establishment, be it certification and exams that stand the test of time akin to accountants or lawyers. Until that day, IT will always in many companies be the shat feild for many due to upper managment mentality. Which ironicly enough is the older people mostly. Younger managerment (CEO's etc) have more respect for IT and also sadly less respect for older people in IT.
With that I often wished I was born earlier or later instead of catching the shit-tide from both ends from when I was young and now older.
The big issue is that you see this with people in any profession, and of any age. People naturally stick with what's comfortable to them, even in their twenties. It could be that tech is such a rapidly changing field that this gets so much attention, but applying this to a certain age demographic in a single profession is only doing tech a disservice.
Here's how he's introduced:
> The most impressive entrepreneur in Scheinman’s portfolio who hadn’t caught on was a fortysomething Boston-based engineer named Nick Stamos. In the early 2000s, Stamos had been the chief technology officer at one start-up that eventually hit a market value of $1 billion. He later co-founded another that earned tens of millions of dollars in annual revenue. Everyone Stamos had ever worked with raved about his technical chops, his relentless salesmanship, his flare for innovation. “The picture was remarkable,” Scheinman says.
Even if a VC says they like the idea doesn't mean that it is investable.
What has happened is that most of the bad developers that I worked with 20 years ago are working in banks or outside of development, because it's much easier to hide your incompetence in our 20s than in your 40s.
Now, Silicon Valley is full of fresh meat, and of companies whose best asset is having a guy that is fluent in venturespeak, so I am sure the experience is very different. Just like it's harder to find a .NET job in Seattle if you haven't worked at Microsoft before, given how many former Microsoft employees are available to compete with you.
I wonder if ageism is driven in part by social media. Us olds seem to be less present on Github/Stack/Twitter/etc (HN, oddly, seems a bit of an exception--I love the posts about historical computing). Maybe reduced visibility equates to reduced opportunity.
Given the increasingly insane economics of the Bay Area they're attaching millstones around the necks of the companies they invest in. And just like with ageism the purported benefits on which they base their biases are dubious at best.
We know that 50-year-olds are not as strong physically as 20-year-olds. The brain is an organ, and it would be surprising if every part of the body except the brain worked less well as one aged.
(I'm also thinking of a friend whose kids have grown up and the house is paid off, so she and her husband are now looking around the startup scene, because they can actually take a pile of risks again.)
Hire old people! They know stuff!
(CoI: I'm 47 :-) )
For some companies, I'm sure hiring Socrates, rather than Alexander, is more productive.
Me, too! I just don't pout publicly about my sad fortune. Instead I take a job, using my decades of experience, doing interesting things.
The denizens of VCastan propagate this nonsense like it is a moral imperative shouted from the mountain top. One day those very denizens will be over 30, and at that time it will be a completely different story.
It's not even remarkable, and may have nothing to do with ageism, although that will be the effective result if it concerns large parts of an industry. Just like the sexism and racism of tech, it's mostly about hiring policies mirroring the identity of the companies and the people who founded them.
It doesn't mean it shouldn't be addressed as a serious issue, because it hampers the industry and is detrimental to society, but in the long run, those companies will adapt or die.
At what point will early obsolescence distort the supply of willing workers and compensation demands?
If SV makes mistakes on age, then maybe they invest too much in very young entrepreneurs. One cynical reason is that people so young can be easier to manipulate. If they have a great business but are doing a poor job managing it, then the VCs can bring in one of their buddies as CEO; apparently in the past this was more common and, really, an intended act.
One SV firm wrote me, "We would not consider investing in anything like your project before you have 100,000 unique visitors a month."
Okay. Suppose 100,000 different people come to my site, on average each person comes 5 times, on average each time they come they see 8 Web pages with 5 ads per page, and suppose I get paid $2 per 1000 ads displayed. Then my monthly revenue would be
100,000 * 5 * 8 * 5 * 2 / 1000 = 40,000
dollars. Then why the heck would I take their term sheet where I would suddenly go from owning 100% of my company to owning 0% of it with some chance of getting back to maybe 60% on a four year vesting schedule, when during those four years the VCs could fire me for any reason or no reason and, really, just take all of my company the day after I cash their check.
And, my company is based on some technical work, and as the company grows I will need to do more technical work. Then a Board would need to approve the budgets for the technical work but would not understand that work. So, the Board would be reluctant to approve the budgets and, more generally, would want to exercise their 'fiduciary' responsibility to 'control' the company. They would kill all prospects of growth for the technology of the company. VCs don't always do this and clearly have not done that for Google, but the VCs write their agreements so that they have the power to do such things.
The solution of the two entrepreneurs in the article is to (1) see a suitable problem, (2) think of a good solution, (3) write the software to implement their solution, (4) go live by having the software run on a Web site or selling it, say, as an app. They should think of (1) and (2) so that they can get to, say, $40,000 a month in revenue just with their own checkbooks.
For the VCs, from a Fred Wilson post at AVC.com some months ago, the average ROI is poor, really, just awful. So, Darwin will be along shortly, and the ranks of the VCs will thin out.
Net, the VCs will have to make money or do something else. If they make money, then their LPs will continue to invest and it will be a little foolish to say that the VCs are making mistakes.
Recently Fred Wilson had a lecture on 10 ways for an entrepreneur to be their own boss and emphasized that getting venture capital is not nearly the only way.
My background in doing projects was from US DoD work and also academic research. From those two, I have had to conclude that VCs do projects in very different ways. While I do believe that VCs are making some big mistakes, some of the VCs are making money. Maybe Benchmark, Sequoia, USV, and a few more are making money.
Business is full of degenerate narcissists, and the one thing narcissists can't stand is age, though it awaits us all.
Because we've been colonized in recent years-- the R&D culture that used to characterize programming has been replaced by closed allocation and commoditization and project-management bullshit-- by business people we've lost our culture, and they've imposed theirs on us. That's where the age discrimination comes from.
Ageism is also to their benefit because it puts this shitty time pressure on the young, encouraging them to work ridiculous hours and make unreasonable sacrifices that they think will help their careers (but often do the opposite). Whether young or old, we all get screwed by the ageism culture. Young people get abused because they're convinced that opportunities will dry out in 5-15 years, and older people get demoralized and pushed out of the industry for no good reason.
The best way to fight it is to point out the dynamic that causes ageism: chickenhawking. Read this-- http://michaelochurch.wordpress.com/2013/12/14/vc-istan-6-th... -- and be enlightened. The truth about what is behind ageism is embarrassing to the purveyors of it, and knowledge should be multiplied.
Edit: Am I being downvoted because I'm wrong or because you just don't like what I have to say? Both are wrong reasons to downvote, but you go, you go downvote. My comment is reality. It may not be what you want to hear, but it isn't a low quality comment. I'm so tired of this silly site and it's potato filled echo chamber.
Someone who is continuously improving, while remaining aware of the current environment, will have experience as an asset.
Edit to your edit: You have much to learn...That's reality. Don't worry, I also have much to learn ;-)
Also I didn't understand half of what you said.
You also have to learn when the things you learned before do apply. This is important because technology is cyclic. There are a constant stream of fads that many of the less experienced engineers won't be able to see alternatives to.
- Writing reliable, maintainable and testable code
- Strategies for solving problems that are very large or very difficult
- The ability to interact well with developers, product managers, executives, customers, etc.
- Knowledge of algorithms and other fundamental things in computer science
Being a good software developer is about a lot more than just dealing with the mechanics of the particular software environment you happen to be using today.
The answers change as the landscape evolves, but know which questions to ask...
See? I can be edgy and abrasive too, with equal amounts of validity in your comment as in my summary of it.
Things rarely go obsolete for one thing. Try explaining why COBAL, FORTRAN, VB6, ColdFusion, or hell more modern stuff like J2EE are still around and in good usage. Things become unpopular, often for good reason, but they don't go obsolete for well over a decade. When something costs over a million dollars to construct and its working OK then theres no reason to get rid of it. Most places can't afford multi million rebuilds because its become unfashionable.
What you also learn as you get older is most modern advances are just rehashes (often poorly as they where written over a month instead of years in a research lab) of existing ideas. Or they are nothing more than a load of premade scripts which are nice (and I'm very thankful for the ones I've used) but if you work with clients or existing stacks those often become problematic.
The new ideas that stick often take 5 years to get rolling, and another 5-10 before they sunset. I wouldn't call that quick by any stretch of the imagination. The hype moves fast... but the technology doesn't.
So separate yourself from the hype and you'll see a world moving a lot slower than you think, the given time the overwhelming torrent of new ideas starts to become a same old shit, different day scenario.
This sentiment will bite you in the ass.
I'm sure you can see how this line of thinking leads to a total logical breakdown. The issue I think you are trying to illustrate oh-so-ineloquently is that a lot of developers ossify into "what they know". Then you end up in the "I have this one hammer and everything looks like a nail" issue that is actually real. Keeping up with current trends, tools and design patterns is definitely harder as you get older, but also one of the interesting parts of the job. For those who can't or won't adapt and learn, I'm sure there will be plenty of J2EE apps to maintain over the next few decades just like there are still Cobol apps to maintain now.
If you are routinely running into these issues, the problem isn't with the experience of your peer group, it's with their quality.
Using tables lets me put things on the page just where the heck I want them. I don't know of any easier way with HTML or CSS, and I'm not going to write any JavaScript -- won't do that. Having all my pages just 800 pixels wide is just what I want for my view of a good UI/UX for my Web site. And the Web pages should look okay on everything with a Web browser right up to date as of, say, five years ago. So, I'm not going to test my pages on several versions of each of several Web browsers on each of several devices and, with such simple Web pages likely don't have to. And I have no pop ups, pull downs, roll overs, or anything else that has the screen change just do to mouse movements or anything else except deliberate user actions.
That's the way I want the pages to be at least for now.
That statement right there is the reason tables are a terrible idea for layout.