Edit to add: At a former company i became a bit of an outsider when I noted at a diversity meeting that diversity meant more than the big 3 that tend to get pushed around Gender, Orientation, Race. I noted that our office was young, had no parents, no ex convicts, no disabled people, few people who had not attended a top university (or no university for that matter) and few or no religious people... people basically said "Why you against <women, colored...>?" as though it was some kind of zero sum fight.
Usually when people point out hypocrisy, people assume that they're making an indirect argument against the thing they're being accused of being hypocrites about. If you say something like "you seem to really worry about discrimination based on gender, but are ignoring ageism", that doesn't sound like you're trying to enlighten them about ageism. Rather, that sounds like you're trying to illustrate that the whole concept of protected classes is BS.
Accusations of hypocrisy are easily misinterpreted because so many people use them as a terrible form of argumentation. For example, consider all the people who get mad about other people complaining about intolerance, and the best they can come up with is "but you're just intolerant against intolerance!". As if pointing out hypocrisy invalidates whatever else someone is saying. It's the dumbest possible approach to debating an issue, but 99.9% of the time when I hear someone accuse someone else of hypocrisy, that's what they're doing. That may not have been what you were doing in that situation, but I could totally see how everyone might have misinterpreted you.
What about sophistry?
Veterans are another good one: Even though the books say they get all sorts of benefits, the government is so poorly run that they often have trouble actually collecting them. Half the homeless in Portland claim to be veterans, and so do some people working at low-paying retail jobs in their 40s. I don't know how much of that is true, but I have a lot of weak evidence that veterans are often in a hard spot as they get older, despite all the benefits they should be getting.
Or even just the homeless directly. It wasn't exactly legal, but I used to know someone who'd pick up homeless, and offer them food, a place to stay, and some money to do roofing on his under-construction houses. It's rare to see jobs directly targeted to them.
EDIT: I should clarify that I have nothing against the diversity initiative in general, just pointing how despite all the work that is/was done, age discrimination was not even considered.
In the educational world this is called affirmative action.
Nobody's suggesting that we hire under-qualified women/elders/blacks, but they are saying the merely being such is not an indication of inferior ability or lack of "culture fit."
What if that means you end up mostly with white males due to women and minorities being drastically underrepresented in the total tech employee pool?
Diversity is great until you hit the statistics wall.
2. That discrepancy does not explain the wider discrepancy found in tech employment.
Everyone can take and pick bits of statistics to make up faux points (specially when they do not like the actual picture that comes when we use statistical data as objectively as possible.)
As soon as you start actively seeking candidates based on underrepresented classes, you're practicing reverse discrimination in the name of "diversity".
How else are you supposed to meet arbitrary diversity quotas, when the pool of applicants is overwhelmingly white and male ?
The big flaw in that argument is that "merit" is not an objective measure, which then leads to a very narrow and slanted version of "merit".
i would wager the number of individual hiring events that (at least ballpark) quantify "skill" is negligible.
Hiring involves a lot of "People Like Us" evaluation, consciously in many cases. And if you're over 40, you're probably not like "Us" in SV.
> "People Like Us".
Usually called "culture fit". I've seen candidates rejected because of "culture fit". So I dug a bit deeper, inquiring what they meant. And it was just plain old racism and ugly stereotypes. I guess one is not supposed to question "culture fit" rejections, it might be very unpleasant what lies there.
My code is being used by probably a billion people right now (how many people are using windows?) How many people play on the playstation network? I'm currently working in a blockchain startup. Is that an out of date skill?
I don't mean for this to sound arrogant- as I said elsewhere wisdom and enthusiasm are very useful.
I think the correct mix for any engineering team I build is a range from junior, or even interns, to senior people.
It is a bit like say telling women: "Don't dress as sexy, don't wear too much makeup, it will help you slip under the radar. Maybe you won't be propositioned as much, etc."
I think the elephant in the room is that a lot of "current hip tech" is bloated, overwrought and doesn't work very well. HTTP is a terrible protocol. Heck, TCP itself has some real problems. I'm perpetually having to explain to people what "reliable" means. It's akin to "no, having life insurance doesn't mean you can't die."
 this is rapidly getting better, though. Too bad you'll be too old to participate in it :)
The rhino in the room is that it'll take almost everyone at least 20 years to be any good at this. And no amount of social engineering will overcome this.
Work longer hours? Please. It's only harder if you don't know what you're doing. And that's a thing; I respect that but let's not kid ourselves. That's not what this is usually. I've drawn to a few inside straights in my time.
This is lazy management because absolutely nobody has time to learn both technology and management before they're sent to Carousel ( from "Logan's Run" ) to be "renewed".
The way I work is: I very carefully describe the problem. I solve the problem ( or determine that it can't be solved given present constraints ), usually in about 40% of the alloted time. If you don't like the representation of the solution, I have plenty of time to make it look any way you want after the fact. Once I get a prototype working, it's pretty easy to morph it into another shape, on another platform, in a different language, whatever you want.
Nobody even understands this approach. Frequently, they're offended by it. It's like doctors dependent on Aristotlean medicine. Well, I've been through the French Revolution and I know what works.
The assumption that we're slower, out dated and unwilling to put the hours in is kinda prejudicial. Some of us may be, but TBH I see a lot of foolishness, wasted time and nonsense from some younger people too. Enthusiasm and Wisdom are BOTH valuable. A trait that might be more common in one age group is not justification for rejecting the entire age group.
But the hiring processes are totally discriminatory. I've been on the other side of it too often, seen bosses reject people younger than me as "too old" without even realizing it (or that they are creating cause for a discrimination lawsuit.)
Last time I interviewed with bay area startups I had a %100 correllation-- visual interviews (eg: skype video etc) would not progress, even past the HR initial contact (eg: no technical interview at all) while ones done via audio (no visual) would progress. (I guess I don't look as young as I think I do!) We're talking well known companies like Digital Ocean and Stripe engaged in straight up age discrimination.
After being discriminated against by Pebble a few years ago, I figured they were the exception (The guy who interviewed me was so young and so incompetent the he had the wrong answers for his trick questions and couldn't grasp my explanations, which the HR lady reported to me as "you need to get stronger on these things")... but the most recent round convinced me that it really is discrimination.
I've got a lot of really valuable talents and relevant as I've stayed current. I interview very well- typically I can get a better job than I deserve by interviewing. I've been rejected lots over my career, sometimes just arbitrarily. I never would have thought that I was being discriminated against except that I noticed the correlation between visual interviews (and I'm certain that 5 years ago when I was rejected I was not being discriminated against.)
Further, as a sexual minority, I had to deal with the possibility years ago that I would be fired if people found out. I decided that this was fine-- I don't want to work for a place that discriminates against me. I can make money on my own if I need to, I don't need a job.
So it's no big deal. I'm just surprised at how poorly so many companies do it. And of course, I do tend to stop being a customer of companies that engage in discrimination. (That's me discriminating against them. :-)
Mechanical/chemical/electrical engineers have a similar problem that 30 years experience isn't much more useful than 10, wages tend to top out early and you're vulnerable to being laid off and never hired again in your 40s/50s. One advantage over software is that the skills change perhaps less frequently but that is offset by lower overall demand.
While you're in your 20's think about what you're going to do at the end of your 20 year window. Are you moving up to management? Have extensive business knowledge to add to tech skills? Have a second career planned? Or saved enough money to retire or semi-retire? Of course you can actively stay up to date with latest technology but that is much tougher than it sounds. You need to have thought a lot about this before you hit 40.
For all the young guys out there. Don't think it wont happen to you. If you just follow day by day one day you'll wake up with a big mortgage, a couple of expensive kids, maybe a divorce and a bunch of recruiters that never return your phone calls. You need to avoid that place.
This. Do this and one of the other strategies. Just save some freaking money. I know far to many people who are up-to-their-eyes in debt and have almost no savings.
Especially these days with people waiting longer to have kids, the 40-year-old employability cutoff is a problem.
Bay area housing costs seem to make saving very difficult. I'm not sure I'll be able to retire before 40
I spent a year in the Bay area, but moved back to Ohio for family reasons. That helped, because things are so much less expensive out here. (Bear in mind, though, you can work in the Bay Area and then retire somewhere cheaper ;)
http://www.mrmoneymustache.com/ has some great articles on how to save money while still enjoying life.
My top piece of advice is: do not buy a brand new car. Don't buy any car if you can manage it, but if you must own one, get something that's a few years old and half as expensive. And even then, try to ride a bicycle when possible.
Yes but, while working in the Bay Area you have to live in the Bay Area (assuming you aren't remote). I'm just super curious how we're supposed to save enough to be safe by 40.
* Don't spend more than about 8K on a car. Drive it till it dies. (I drove a $2140 15 year old Saturn without AC or working windows for 7 years).
* Learn how to save money while still in college.
* Read "The Idiot's Guide to Getting Rich". Ridiculous title, but plenty of sound advice throughout the book.
* Use Excel or C to figure out what your savings will be by age N if you save X/mo with whatever inflation/investment rate. You're a programmer so this should be straightforward.
* Take those results and save X/mo. Stick it into an index fund with automatic reinvestment. Set it up to withdraw X/mo from your bank account every month. This last part is probably the most important part! It forces you to live like your salary is $Salary-X, and eventually you just come to accept that.
* Monitor those numbers and watch it go up. Discover you prefer doing that to buying things. Increase X.
* Travel! Okay this is odd advice. But when you take time off work to travel a bit you really learn how to stretch every penny. I spent three years overseas sometimes working odd jobs and it was worth every second.
* Don't incur "bad" debt (duh), and pay high interest rates off ASAP. Low interest rates 3% or so you don't have to worry about so much.
* Don't play the lottery. Don't expect that there's a "trick" to building wealth. It's just a long arduous boring process of living below your means.
* Read "The Idiot's Guide to Getting Rich". Ridiculous title, but plenty of sound advice throughout the book. Yes I said it twice.
As I mentioned in the other comment, my savings rate has been trending upward for a while, and I now save about ~40-45% of my take-home pay.
But, even when I lived in the bay area, earned less money, and paid twice my current mortgage in rent, I was still saving ~15% of my income.
I don't consider myself deprived: we eat out, buy fancy phones, etc. We have a separate bank account just for giving that gets some money automatically transferred in each month. Our car is a 15-year-old civic that looks terible, but we don't drive that much and it still runs great. We'll probably replace it soon, but I kind of want to see how long it will go at this point ;)
Like I mentioned in my other comment, http://www.mrmoneymustache.com/ has a lot of great advice. There's a few sites like that one, but MMM is my favorite.
What you're doing sounds like what I want to shoot for. I'm almost 30 now, and for the last 2 years I've REALLY ramped up my savings. My goal, is to retire sometime in my mid 40s, so that I can work full time on my own projects. Lofty goal to say the least. I also realize that to do that, I'll need to find a cheap home.
Been reading up on mrmoneymustache, some great tips there. Thanks for the link!
Whatever nfriedly's situation may be ... you won't get to the latter until you understand the former. In other words: You can't "save an incredible amount of money", without first "saving some money".
Professional reputation is a big deal. If you have a good enough reputation you can basically negotiate for your own salary.
Younger Engineers (i.e fresh from university) do not get to work on the large projects and especially not in any kind of lead role. Mostly they work under other more senior engineers. Typically you'll work your way up until you get given lead on a small project. Eventually you will move onto managing medium to large projects.
Senior engineers (i.e 40's and 50's) are hugely valued. These are the people with professional reputations, contacts etc. Clients will know these Engineers by name and will often request them specifically.
What I've seen typically happen is for engineers in the 50-60 age range to semi-retire and move into consulting or Academia. Many Engineering lecturers at universities are retired former practicing engineers.
Several senior engineers I used to work with have moved into consulting and they get paid an obscene amount of money- more than I make in a years for a 3 month consulting gig in a country like Brazil, India, China etc.
We have a diversity problems for sure but it is gender not age.
In my 20's and early 30's every job I got was through contacts.
Since then I've been working solo projects at small companies for a number of years. Fun work, but suddenly it's dried up. I don't have any good recent contacts in the tech sector. So I'm competing with 22 year olds, with little to back me up.
So don't do that. Try to keep in touch with former colleagues, and try to be widely-known in your company for doing good work and being easy to work with.
If you're 33, you might get a job using a recommendation from someone who managed you a decade ago. If you're 53, that same person retired years ago and doesn't have any pull to offer. And someone who worked for you 10 years ago can't recommend you easily, because it's hard to "recommend up" to a position above your own.
It's a subtle sort of thing, it's not direct ageism but it's obviously a big hurdle for an older worker.
Stick with big companies. Yes by working at a small co you gain experience picking tech stacks, working on all areas of software, etc. But the ceiling is lower at small companies (only the very hottest couple startups each year notwithstanding). And the experience you gain there (mostly writing simple CRUD apps in various languages) isn't so applicable to larger companies where performance and scalability are the main things they want. So when you hit the glass ceiling of the "small co" sector, you're essentially starting all over when you move to the "big co" sector. That's where I am and it's almost like a career change.
Compare this to a career path at a large co, where you move into senior engineering and the skills you gain are immediately useful when you apply to other large companies. You get free networking and visibility at big companies too, an underestimated fringe benefit.
Also, pick your battles wisely when doing the "keep current on technology" thing. Avoid cute stuff that doesn't have a ton of use outside a very narrow segment (e.g. Haskell, logic programming, blockchain, marginally CUDA), unless you really want to devote your career to it. Also avoid overly-trendy stuff that will be obsolete in five years (JS frameworks, MongoDB). Stick with things that solve real problems that real companies have. To that end, search job boards and see what other large companies are hiring for.
I'm doing the small(er) company thing, and I don't regret it, but I've slowly shifted to larger groups and I definitely feel the difference. Getting exposure to lots of different things is good, but at a certain point being in charge of maintaining the website while you're also building an actual product is just a distraction.
The "current tech" thing is obviously a constant battle for everyone, and it's an important one. Narrow tools can be trouble, flash-in-the-pan frameworks are ugly, and even things like Go can be chancy if you master something valuable but scarcely employed. At the very least, it's obvious to me even early in my career that I need to maintain a couple of mainstream, in-demand skills no matter what I specialize in.
The only advantage of broken comb is that you potentially have lots of middling positions you can apply to. But even for those, you may be rejected as "overqualified" because you know so much other stuff. Besides, who wants to send lots of resumes and do lots of interviews in the pursuit of a middling job? Especially when you know you're way better than the people that you're competing against and losing to.
So, don't fan too far out. Find a concentration that's reasonably mainstream for the foreseeable future and expand your skillset to supplement that. Maybe not as renaissance-man as the typical above-average programmer would hope for, but likely the best career path.
The few that were, I got discriminated against because of my age.
 They tell me. I can't get too far from the code or its no fun, but I prefer to build teams and work at a high level than to be constantly coding all the time.
The last 4-5 companies I've been at value bullet points over anything else (for what that's worth). If you're 40+ and coming in showing off your PHP skills, JQuery or WinForms experience you'll get dumped, but the same goes for the 23 year old with that skill set.
My advice is always the same for developers my age: Keep with the times! If you aren't passionate enough about this work to continue learning and advancing on your own time get out. Go do something slower paced. Don't expect the industry to change.
Spending time learning something that dies a few months later is boring and annoying. Give me practical and tested toys, damn it, not some new language every month.
There's a comfortable wave to ride between "plenty established" and "highly experimental joyride that's really meant for someone's resume". Things on that wave have a high chance of becoming a decent slice of the job market but they haven't yet. That's the category I like to learn from but it takes time for things to get to that position.
You also have to pick what you put on your resume carefully, because some employers will see you as being all over the place. But if you don't put new things, you're seen as old and behind-the-times.
EDIT: to those downvoting this... Do you disagree with me (i.e. you think it's a good career decision to stick with a single tech stack) or do you agree but dislike that it has to be this way? Genuinely curious because I didn't think what I said was controversial at all, just industry observation/common sense.
tl;dr: always be learning.
I didn't even know PHP before I started on this journey at the beginning of the year. I was trying to peddle my (admittedly meager) Python skills but everyone who had money to pay wanted boring PHP devs to maintain and build on 7-10 year old systems, so I brushed up and landed a few nice stable gigs. Will easily clear 6 figures within the next month or so for the year.
I'm glad you're making that, but in Portland they are paying $15 an hour for PHP/MySQL/Jquery developers all day long. It's an over saturated market that peaked 10 years ago. Sure there are a few edge cases here and there but the majority of it is a swampy wordpress ghetto.
Folks who started on that stack in the 2000s (like me) and refuse to move forward aren't making 6 figures around here.
Some people enjoy developing in PHP now. And there's plenty of work there, let me tell you. And all of it that I've seen pays a lot more than chump change.
The real problem with porting most COBOL code is that few COBOL applications are actually pure COBOL, they are full of calls to proprietary middleware, databases and operating systems. For example, a lot of COBOL code runs on IBM mainframes and calls mainframe packages like CICS and IMS and the underlying mainframe OS (z/OS aka MVS). While there are replatforming solutions which emulate some of these mainframe software packages on other platforms, the emulation is generally imperfect hence there is still effort and risk in migrating.
I think the biggest problem with mainframe COBOL software is not the hardware but finding people with the right skills to maintain it. Even if you use some replatforming solution to port it to a more mainstream platform (Linux/Unix/Windows), you will still need COBOL programmers familiar with the relevant mainframe technologies, plus they'll need to understand the limitations of the replatforming solution you chose.
Fully agree with your post, just felt like griping about "craft" beer here.
They've been chasing the dragon more than anyone else, putting out stuff like Hop Hunter which is defined exclusively by how strong they can make it. "Beer with added hop oil"? Really? If brewing with more hops isn't enough, it's probably time to stop adding hops and improve the beer some other way!
Cascade hops are a great flavor, I love them, but they need to go together with the other tastes.
On the east coast, I see an impressive number of sours and dubbels coming out of craft shops, and the midwest is big on bold, malty offerings like ambers and oatmeal stouts.
I would have thought the hops shortage of 2008 would have forced breweries to try something else, so by now it's probably demand driven. I hear there's a new hops shortage coming up.
I'm definitely glad to see the push into more interesting IPAs. I'm seeing more whites, doubles, and other exotic stuff. Plus people finally seem to be learning that 80 IBUs demands some malt and complexity to make something drinkable.
(For some reason, the Wyoming/Idaho region is awesome for dark beers. Something practical, or just a regional fascination? Try some Wake Up Call or 3 Picket Porter if you can find 'em.)
The non-coastal west I struggle to characterize, but it's putting out a lot of truly awesome beer, including really dark stuff like porters and imperials that I love.
IPA is a reaction against that flavor profile. You'll be starting to see new flavors come about as people (like yourself) become tired of IPAs.
If you're in Boston, give Aeronaut Brewery in Somerville a try (https://goo.gl/maps/bm22XaBvFPQ2). I have something of an interest of it, but I (unsurprisingly) recommend them.
Even as the Cascade trend has diminished, lots of people have 'reacted' by rediscovering other hop flavors and advertising things like Nobel hopped beers.
Having said that, it's all getting a bit played out (except on the west coast, perhaps) and I'm starting to see more experimentation with other stylings like wheat, fruit tones, and dark ales.
And Googling for "beer with pine needles"...
...dammit. "Spruce beer". That idea is literally centuries old. At least five breweries currently use evergreen bits as flavoring agents, and at least 16 have tried reviving gruit recipes in some form or another. Apparently, Sitka spruce tips are popular in Alaska, being far more available than hops.
(Personally, I wasn't a fan of IPAs before they got big, but preferred the amber -> porter/stout range)
I think theres also regional hop variations, so maybe theyre just less piney here.
Brewing beer is a form of manufacturing, and most manufacturing can be made better or more efficient though targeted software.
 commenting because I don't want "craft beer software" to become a joke. Some of us actually work in that industry.
Monitoring the temperature and pressure of your fermentation vessels securely from any commodity mobile device would be productive and useful.
Figuring out how to re-skin the collect-and-compete RPG game genre onto all the different flavors of HoppyHipsterBeard-brand beers seems to be the sort of thing grandparent post was referring to.
So make good craft beer, and it won't last as a joke. Trying to police people's words doesn't. I'm not trying to be a dick, either. It didn't work for SJWs, it won't work for craft beers. Ten million people nagging for 8 hours a day doesn't accomplish as much as one person doing.
I understand that many other domains value this sort of thing, but perhaps not to the same degree as the software industry. The issue could be that employers are afraid to invest in their current employees (that is, given them opportunities to advance their skills on company time) because there is such a high rate of turnover in many tech companies. It makes more financial sense to put the burden on the employee (or potential employee) because it likely only benefits them in the long run.
I do, however, see that in more established companies (particularly those that don't still operate in "start-up mode"), there is more willingness to invest in the employees and build their skill sets. I've been with my current employer for over eight years, and they have always been willing to give me time to learn new tech and stay on top of trends that affect our business. Of course, on my current team of 10 people, only one person has been with the company for less than three years.
I have learned a few languages now - Java, Perl and now Python. Python has pretty much everything I need. I have looked at NoSQl databases, but haven't found a use case where they would be better than relational databases. I prefer to write good quality Django code than to write my first app in yet another language / stack.
Could have make some nice parody material.
This sounds odd to me. I don't doubt it happens, but why? PHP roles are still going strong, and there's a ton of PHP work that is not legacy code.
It was great when you were just fiddling a few little ajax widgets on a static page, but it doesn't scale.
I thought you meant scalability in terms of code size, or number of people working on it, or number of users.
Once you've worked with a native interface, you're loathe to give up the potential for creation that comes with it, just to keep complexity out of the front-end.
Arguably, one could say people need to be retrained, and need to stop trying to make the web into something its not.... but considering the trends, I think that ship has sailed.
I understand only some of why ageism is more rife in tech than other fields. But even in young app companies, with young founders, some experience of software engineering or complementary fields gained through experience can be useful.
Personally I prefer a relatively young environment - I don't like large company formality and I enjoy the atmosphere of startups and app companies. But I have increasingly few contacts in the right places for an in...
It's not like we're all "old" like our parents, grandparents were from 45 onwards, or that we're all increasingly irrelevant mainframe COBOL programmers. We aren't all set in our ways like was more common in previous generations - but we're not in a job for life so that's expected, surely. We're not expecting to be dead at 70 either. I hope I haven't "grown up" even then!
I think it was more tech in 70s when they wore lab coats and did new things. Now it's more of a popularity thing or a way to extract gold.
As a side note: I'm over 40 now, but I do recall being 27 and interviewing someone in their early 40s who was qualified and enthusiastic. I passed on them in part because I felt guilty hiring them; to work on my team the person would have to move their family to a new city, and I didn't want the karma of bringing that many people into a world where the team/project I was on was staffed and led by 20-somethings -- and therefore chaotic and unlikely to survive long in any particular form.
Three men are talking: A programmer, a doctor, and a lawyer. The lawyer says, "Man, the only way is to have a mistress. With all these divorce suits, it's terrible. The only way is to have a mistress." The doctor says, "Are you kidding? With all the STDs out there, you want a wife and that's it." The programmer says, "You need both a wife and a mistress. Because when you're not with the mistress, she'll assume you're with your wife, and when you're not with your wife, she'll assume you're with your mistress, and THAT leaves you more time to be in the lab programming!"
(Found on http://stackoverflow.com/questions/234075)
It was possibly immoral, if you think there's a moral requirement to hire the first person that fits the role. Though, employment is a relationship, and like any relationship there can be a host of reasons why they don't start or work out. It can simply be a matter of preference, on both sides.
It's not illegal to discriminate, it's illegal to discriminate for particular classes.
The higher pay let's you save more for retirement, let's you afford a better school for your kids, a home in a nicer neighborhood, etc. There are trade offs.
Yeah, you're going to have a really hard time getting a programming job in Silicon Valley if you show up in looking like a security guard in a tie, let alone looking like a waiter in a bowtie. It's the same story as showing up for an interview for an enterprise sales job in ripped jeans and a T-shirt — it undermines your credibility. It shouldn't — our meritocratic hacker values place no value on surface appearances, and we fail them when we are influenced by what people are wearing or their gender or skin color or age — but it absolutely does. Raymond Chen can get away with wearing a suit and tie all the time, but you probably can't.
The good news is that Peredo got a job immediately when he stopped wearing the bowtie to interviews. It's not gonna be as easy if you're black.
Things are cyclical. For better or worse, I think we're on the rising edge of a rebellion against the nerd-frump affect.
Thank you Matt Smith!
> hang out in the parking lots of places where they’ll be interviewing to see what the people there wear
Geeks care FAR more that you conform to their "hoodie and jeans" dresscode than managers care that you wear a tie.
But what I was saying there is not about what values we practice but about what values we aspire to practice. We aspire to understand things as they are, seeing past mere appearances. Whenever we assume that someone is nontechnical because they're wearing a tie, are female, or are black, we're failing at that.
Which knowledge is deeper? That of the user, or that of the builder?
1. (positive) Big picture wisdom increases. You learn when to call in help, when to use a library instead of rolling it yourself, when to stop hacking, retreat, document, how long to architect, etc. I get a little frustrated with younger people who e.g. over-optimize some aspect of a system before making the whole thing work adequately. I am waaaaaaay more organized and consistent than the young person who hasn't inherited enough code or faced the spectre of their own code when they forgot how it works.
2. (negative) I often forget how easy some formerly difficult tasks have become. Just take a library like three.js.... or building a compiler from source or using a library instead of writing an XML parser or SDL and so on. To stay on top, I often have to check in with others to see what surprising tools "young people" :) have made. This is critical because it affects estimates of time and resources needed to meet a goal.
So it's excellent to be around for a long time, IMO, as long as you are good at forgetting/unlearning some obsolete ways of doing things.
I've designed some of the bloody devices, for God's sake! I just don't want any because I have no use for them (either because I get the same function another way I do prefer or because I consider the function pointless or harmful). It doesn't mean I don't understand them better than the average candy crusher.
It doesn't add much value to the conversation and whether some tech is really a rehash or not rarely matters. It also makes you sound cynical.
There's plenty of amazing innovation happening all the time, so I don't want to come across as a luddite or whatever, but hype does happen, and as you get older, you witness more of it and become more skeptical of it. You see the fads come and go--the faster they come, the faster they go--and the survivor bias. The problem is that it's there, and it feels sometimes like you face the choice of correctly pointing that out, or being labeled a cynic.
"I've seen people try that 5, 10, 15, 20, and 25 years ago. Nobody made it work." Is rarely something that does not matter, and people that can't answer the implicit "why would you succeed?" question usually doesn't.
Good, because my cynicism was hard-won, pity should it go to waste.
Whether or not a piece of tech is a rehash does matter, because last time we decided RDBMSs are old, in with the new open schema whatever, I learned where the sharp edges were at. There has been no magic tech in the mean time that makes MongoDB less likely to cut you up in horrible ways. As just one example.
It's not that you don't understand the bleeding edge tech, it's that you've seen this pattern play out so many times it's hard to look at it as more than just another programming tool.
For interview processes trying to avoid false positives a negative mark will hurt you much more in the final sum.
So the bar is set differently for two candidates applying to the same position. I'm sure it doesn't account for every aspect but certainly seemed to explain some of it.
Because employers expect and accept that hiring people straight out of college is a lemon market. But by the time people reach fifty, the expectation is that you can identify the lemons.
Also - I read about Shel Kaphan the other day - employee #1 at Amazon - he must have been in his 40s when he started there if he was studying in 1975. Obviously his age didn't deter Jeff Bezos.
I've worked in places where older employees become irrelevant to the business because they get stuck in their ways and don't want to / can't change.
If you're not prepared to re-skill, or you think your job is safe - you're in for a rough time if someone else controls your destiny. That's not to say people don't get badly treated by organisations - they do, and that's wrong. But still, working life is a struggle and a balancing act.
I've been hiring engineers for a few years now and from _my_ perspective, age has never been a consideration. That does not mean other interviewers did not include age bias which influenced the overall decision.
I'm around 30 currently, and I'm terrified as I get older that this will happen to me and my friends. Saving for retirement is, intentionally, a very long process -- and very arduous if you're trying to save to retire in the Bay area.
What are people that push such discrimination thinking about their own futures?
And it's true, if you're just hiring for people you can also hang out with and you're in your 20's, of course you won't like them.
At some point you get the revelation that people have their own lives and there is a social relationship along the lines of "we work together but I'm otherwise not interested in you," and that this is actually a very common and viable type of social relationship.
Higher experience commands higher salary and no company has an unlimited cash flow, even among the ones who are truly interested in the rare experiences and skills.
On the other hand, the world is full of companies and industries who are basing their business on cheap employees and lowballing.
The truth is, it is NOT tough being 3X-4X in silicon valley.
What is tough is accepting to put up with startups about to fail, long hours, mediocre pay, little benefits and immature coworkers. That does limit the size of the job market.
That issue is faced by everyone, independently of their age. The youngers selves just happen to have lower standards in average.
This is why I would propose that the strongest cocktail is pairing young people with older people.
Learning should be multifaceted and a lifestyle; intellectual and physical. If you think you can just coast after college then you will be passed up.
Their resumes are longer, their skills can be older, some of the companies they've worked for might not even exist anymore. It's even more important to be able to search/narrow down/focus your decades of experience/accomplishments to those that matter in this new ageist landscape.
And the truth is, you've probably done whatever SV recruiters/managers say you require. You've been the self-starting, chaos riding, new tech stack conquering machine. You've lived at the cutting edge. It's just not on your resume, and you don't bring it up in interviews because you haven't been that person in a while and all your (maybe) recent job search experience is in displaying the breadth and length of your career.
Many project teams and companies instantly dislike the person who says, "This can't be done," or, "We need more information before we can give an estimate."
If you're 40, there's a good chance you know more than most people in the room about what's going to work and what isn't.
But what you have to remember is that the only reason you have this knowledge is from fucking up and working all-nighters and missing deadlines in the past.
So, even if it means more work for you, you have to be willing to let the people who are driving the ship make mistakes. Nobody wants their parent around, or to feel second guessed.
Tech is always about finding new ways to do things, trying new ideas. Don't turn into the nay-sayer.
Older people are thought to have mortgages, families, etc. They often cost more money, and work less hours.
That's simply never thought as attractive to employers who want more work hours for less money.
Disclaimer: Not saying this is right - but I think that's a big part of it.
I would put some relevant comment on the meaning of these figures but I have to put my kids to bed, sort out their school packed lunch, get scolded by my wife - all before I work on my side projects.
I'll leave it to the youngsters.
42.1 Computer systems analysts
44.7 Information security analysts
43.1 Computer programmers
39.7 Software developers, applications and systems software
35.9 Web developers
40.5 Computer support specialists
47.0 Database administrators
41.2 Network and computer systems administrators
41.6 Computer network architects
41.2 Computer occupations, all other
Turn to crime before you get a FACELIFT (are you shitting me) for any job. Heck, older people make great criminals - they've accumulated cunning and horse-sense which are great for gulling young people out of their money. And young people have many things that can be used against them: enthusiasm, idealism, energy and a tendency to waste it (also see Aikido), insecurities, inexperience, a preoccupation with mating (see above). Best of all, young people's tendency to think they're smarter than they really are, means that you can be the superior adversary while your adversary thinks the opposite (see Aikido again, and Sun Tzu).
Young people if this kind of talk scares you, think about hiring some of these people! ;)
As much as techie types like to deride and dismiss sociological analytical techniques as being pseudoscience, there is a lot to be learned from them when attempting to intelligently discuss the (our) job market.
Perspective is what the Valley needs if ageism is an issue, because we aren't getting younger.
First of all, yes, you do need to leave Silicon Valley. People seem strangely afraid to leave. There is a world out here! Getting houses for 10% of what they cost is Silicon Valley has got to be worth something, no?
Second of all, finding them is tough. We can show up at a large college and meet lots of people, nearly all young. There is no similar place where we can show up to recruit older people.
Older people have the skills we need, particularly assembly language. We have to sort through lots and lots of young people to find a few with potential, but at least "lots and lots" is available at many colleges.
Ha! I love it! What ZUCKERGUY means is that young people are smart in a way that he, another young person, can recognize and understand.
Whereas older people are smart in ways that young people don't yet recognize or understand. It's just one great big Dunning-Krueger Effect. Young people don't know how much they don't know.
Fortunately for them, old people are a totally different species from young people. It's not like young people turn into old people or anything. Can you imagine the horrors? Like what if life were one big continuum where you start out young and slowly turn old? Scary stuff!
Though I must admit that the evidence points to current significant age biases in the hiring of these companies. The most successful older software developers I've come across have established themselves as experts in their field. They have successfully predicted their given technology would be successful or pioneered it themselves. I guess the frontend developer practice of changing stacks every six months has some merit.
Are you sure you have the cause and effect going in the right direction? It could be that the median age for programmers is low precisely because of ageism.
That means that I graduated college in 1999. When I was looking at colleges (in 1995), many of the colleges that I looked at didn't have a computer science department. Many of the ones that did, had had that CS department for less than five years.
My class ('99, again) had twice as many CS majors as did '98. '00 had twice as many CS majors as '99 -- because this was the first dot-com boom, of course.
At my college, my freshman year was the first year that every dorm room was wired for ethernet (obviously, wifi was not a thing).
I suspect that the arrow of causality goes two ways, and that part of the reason for the low median age of programmers is indeed age discrimination. But it also true that 40 is an age which means that you were college-age during the first dot-com boom, and the occupation "programmer" suddenly was looking a lot more attractive and absolutely no doubt was pulling in a bunch of young people who ten years earlier would not have been interested in being programmers.
And today, while it may not be the only center of the tech world, you can still make a good living writing websites in dynamic languages. There's been a lot of incremental change over the last 20 years in that space, but it was incremental, and while all my experience of Visual Basic script in a multi-<frame> website may not technically be directly impacting me to, the fundamental loop of development hasn't changed all that much. It's still "make change, reload page, see if it's fixed now". If you really know your stuff and you've got the right framework set up properly, now the page reloads automatically. Viva la progress. (OK, yes, that's sarcasm, but still.)
I mean, I wrote my first XSS vulnerability 20 years ago, and developers still churn them out by the dozens today. There's been less change than you'd like. (Yes, there are technologies that make them much harder to write... now, please use them! Please!)
A lot of mobile development looks to me to be awfully similar to 1990s-style Windows development, too. New language, new frameworks, a lot more JSON, sure, but there are 1990s developers whom you could teleport to the present and have them start mobile development and they wouldn't be very lost. (Once they got over how many times more powerful the phone is than the platform they just left, anyhow.)
The "young tech hotshot" stuff is really just a senescent meme rapidly approaching its expiration date. This last year I met someone who is as close to being a young tech hotshot as I've seen in the last five years, really great guy... and I was giving him Haskell tips.
I'm still cautiously optimistic that the ageism in tech will just naturally dissipate. As evidence I would point out that once upon a time, 40 would not have been approaching the hill, but over it. If the deadline moves forward by about a year per year, it'll just go away.
I admit that it's suboptimal to only have one source, but the Stack Overflow survey appears to be representative.
Er... you're quoting Stack Overflow study which only tells about the median age of people who voluntarily went to Stack Overflow website to answer Stack Overflow study, after seeing the link on Stack Overflow / HN / Reddit.
That is hardly representative of anything. One hint: 30% people who responded are under 24 years old, i.e. most of them have not yet completed their studies and started working.
But the cohort of people who were influenced in college in the dot com days to go into tech and started graduating from college in the early 2000's is large. And so the cohort of people above a certain age is growing large, and if you actually discriminate against all that talent you will end up giving an advantage to the people who do not discriminate as they will have a better pool of people to choose from to hire.
Going to be an interesting decade.
Of my tech friends around my age a lot have drifted into other things - often dramatically different.
Some because they were sick of IT (often for similar reasons), and some because it was time for a change. Quite a few ran into ageism (agencies and HR rather than the actual techie people as a rule) and staying programming past 40 is somehow seen as failing your career rather than going into management.
Of the rest two are in environmental sector that fitted their views well, one in light engineering. So it goes on. Most haven't moved to other intellectual pursuits.
If I paraphrase Feynman, only a little, I think it might nail the underlying:
"It gives somebody, individually, pleasure. You can make something that somebody likes so much that they’re depressed, or they’re happy, on account of that damn thing you made! In IT, it’s sort of general and large" and ephemeral.
He was talking about his art, but it seems to fit.
* there were quite many who understood that engineering jobs would not be for them and who became teachers as their first job.
* another lot were those who had no interest in engineering, they only happened to end up in engineering schools because that was the place to be. Since their only goal was money, they moved to business/management before starting an engineering job. Some others started with engineering but noticed that they sucked at it or that it did not pay enough, so they moved to Technical Sales (which is a glorified name for just Sales, since they've always shown little interest and aptitude for technique beyond the buzzwords).
* then you have those who gave up after 10/15 years, fed up with the tech environment, the futility of the job, the insane hours, etc. 2 are bartenders, 1 shopkeeper, 1 sailing instructor, 1 gardener, 1 goat herder (caricatured but true), 1 musician, 1 'traveller', 2 unemployed.
A large number of the people that made up the 3x growth in IT between 1990 and 2000 are just about to hit 40 now. That's a very rough measure, just looking at overall industry size over time (and granted, it's IT rather than startups), but it at least mildly suggests that the demographics are going to start flattening a bit as we hit more of a steady state rather than a period of extreme growth.
For 40-year-old techies looking for a company to round out their career, are the SV biggies the wrong place to look?
It's hard to identify causality here. You could say that there's a correlation with casual attire and job offers in the valley. Alternatively, he got better in those 18 months...
If you look at the age composition of companies that are working in Deep Learning, Computer Vision, Hardware they are significantly older than others - it's because you typically need a PhD or equivalent time working on the problems to actually build new stuff.
Until SV starts funding - enmasse - hard tech, which needs more experienced workers, I don't think you'll see much change there.
How do you know it's extensible and maintainable without having seen it last? How quickly do you recognize pitfalls of decision-making?
How many applications have you built that you've seen fail? People vastly underestimate the importance of burning your hand on the stove.
What helps me is knowing that there is purpose in reaching out and connecting with the creator of life itself. Jesus loves you. Find him at a UPCI church.
As I grow older, I notice these changes, and while I do regret not being able to remember IP addresses after switching to a different window (get a larger monitor, or just copy&paste), I am very happy with the overall shift.
Basically, you become a pattern matching database of non-obvious cost/benefit trade-offs.
What some might call "experience." What makes problem solving skills valuable is the ability for the wielder to pattern match effectively. The more problem patterns you can positively match to solution patterns, the more valuable your experience. To a lesser extent, simply being able to identify problem patterns is also very valuable, as if you can avoid the creation of a problem it doesn't matter if you know a solution to it (I don't know how to escape a black hole, so I generally avoid them when traveling in space).
Additionally, if you're young and naive, you'll be likely taken advantage of. Why else naivete might be desirable in a business setting?
I see this type of thinking applied to an issue in a way that results in people becoming increasingly irritated. Silicon Valley wants to hear "yes yes yes", not reason why you think XYZ solution won't work.
The crucial transition is turning yourself into a senior engineer - someone who acts as a force multiplier in your organization (a possibly big organization).
The valley problem with that transition is that a lot of value is left to the junior developer due to the startup ecosystem - the engineer who writes the first prototype, shoddily for a demo without worrying about possible future problems.
The senior developer is left out in a plateau, if they can't switch back to core developer mode (build demo, get funding, hustle) and back, which is a not a skill issue, but more economical.
There's the risk that the switch to a lower pay (for equity, hopefully) affects your next job offer in a BigCo if the idea does not pan out (& most of them don't).
The reality of being hired in a Startup is that founders don't like people who aren't "all in".
Once you take out "being employee #5" at the startup from the equation, the best part of Bay Area is gone.
There lies only one path back in and that's building your own, except there the VCs get to actually pick on your health as a possible risk factor before handing you some $$$.
Software tech is the only area that I know of that doesn't care what you've done in the past or have experienced. All that matters is what stupid algorithm you can figure out on a white board in the language they use.