Age discrimination is widespread in this industry. I get lots of interviews, but quite commonly I find that my interviewer starts finding reasons not to hire me, the very instant they see me in person, and so can see I have grey hair.
Discriminating against employees or candidates over 40, for reasons of age, is flatly illegal under US Federal Law, as well as the laws of all the States that I know about. However, such age discrimination is quite widespread.
I turned 50 last summer and the last time I was looking, I had no problem finding a good job ... perhaps the best job I've ever had. But to survive the interview process, you can't act 50 (or 55 or 51). You need to be current and make it obvious you've kept yourself up-to-date.
To a lesser degree you can't look 50 either - I'm fortunate to have been dirty blond when I was younger and my hair doesn't seem to be greying yet but if it was and I was interviewing, I'd change it. Five hundred pounds and rolled into the interview in an oversized Aeron chair? You probably look older than you are to the interviewers.
I don't think most age discrimination is conscious but even where it is, don't help them out by acting or looking old/older.
Note: Since I have no idea how @MichaelCrawford looks or interviews, this comment is not aimed at him but is rather responding to a pattern I see when we interview people my age.
One more anti-pattern to avoid during interviews - don't be the naysayer during your interview!
If they say they're going to be trying "technology/algorithm/framework X", don't immediately say "that will never work!". Sure you've got 30 years of experience and you've tried that and failed with it 15 times but they're young and impressionable and they can do anything. Plus they might be right in this instance!
Instead, you're the flexible guy who balances his experience, intuition and caution with the realization that while X might have failed you in the past, there might be situations where it's the right fit. So play the wise sage and say something like "that's an interesting idea, I'd be careful about Q, R and S but if it's implemented correctly that might be exactly the right plan (for instance, sometimes people really do need a NoSQL database, but often it should be put next to an RDBMS ... don't just choose one!). And you'd certainly like to be on the team working with X right? (you are presumeably at the job interview to get the job).
So the right play during the interview is to look like you'd be a valuable member of the team. Once you've joined the team you can help guide them to a proper solution - whether or not it includes X.
Bonus: Do not in ANY CIRCUMSTANCES get drawn into flame wars during your interview. Editors, IDEs, editors versus IDEs, languages and frameworks are tools - your position is that you use the one that best fits the project and maximizes productivity.
I often get into flame wars during my interview. If the hiring manager says something that indicates he is a jackass, I will quite bluntly inform him of that fact.
For example, Apple's CoreEdit is profoundly nonportable, as well as clearly designed to implement vendor lock-in. There are all manner of ways to store structured data that are quite portable.
So if my interviewer asks me if I have experience with CoreEdit, I will quite emphatically tell them "No, because it's nonportable," then supply some portable solutions such as SQLite.
I don't want to work for a bad manager.
What I have a problem with is someone making assumptions about me, just because they see my grey hair, and the wrinkles in the skin of my face.
> I get lots of interviews, but quite commonly I find that my interviewer starts finding reasons not to hire me
> I often get into flame wars during my interview. If the hiring manager says something that indicates he is a jackass, I will quite bluntly inform him of that fact
Do you see the correlation? If you said this to me in an interview it would be over immediately.
I get lots of interviews with managers who use technologies I'm quite happy with.
When I say I am discriminated against because of my age, it's because I can tell they don't want to hire me, the very instant they look at me.
Do you know the term "code word", with reference to discrimination? With me, I am often told I would not "fit the company culture".
My ex-wife was one a motel manager. She was specifically told not to rent rooms to First Nations people (ie. Native Canadians).
A friend once interviewed to be an apartment manager. She was specifically told not to rent to black people.
However, the owners of that hotel and that apartment, did not specifically come right out and say so. They used "code words", for example the apartment owner told my friend to inform people that spoke in a certain way, that there were no apartments available.
I don't start flame wars in meetings. That's because I don't accept offers from companies that I don't respect.
What I'm saying is that hiring managers often tell me I won't fit the company culture, as a direct result of seeing me in person, rather than communicating via email or telephone.
The interviewer uses what are known, with reference to the topic of discrimination, as "code words".
For example, a close friend who was one of the pioneers of the video game industry, one of Atari's very first game designers, once interviewed to be a Games Evangelist for Apple. At the time, Apple had not done anything to promote Macintosh games, at least not for quite a long time.
My friend was dead certain he'd get an offer, but the hiring manager told my friend that he "looked tired" and so would not be suitable for what in reality is a marketing position.
I myself look tired all the time; there's not a whole lot I can do about that. That doesn't mean that I really _am_ tired.
The other way that it's made plainly apparent, is that I talk just like a surfer dude, so I sound quite young over the phone. The way others respond to me over the phone is quite different from the way they speak to me when they see me in person.
If I start a flame war in your interview, it's because I don't want to work for you.
But before we part ways, I aim to set you straight, so that you stop making such mistakes as, for example, using CoreEdit.
I regard that as a public service to the community.
Apple's vendor lock-in is a particular sore point with me, as I have experienced it with many vendors, but Apple worst of all.
Quite commonly I interview to work on a client's very first Mac or iOS product, after they have experience with some other platform. For example I do a lot of Mac ports of successful Windows products. Also quite commonly, the client wants to make use of some really, really ill-advised Apple technology, perhaps as a result of Apple's Developer Evangelism, or having attended an Apple World-Wide Developer Conference, without the understanding that those conferences are specifically intended to enable vendor lock-in.
So I regard it as my duty to the client to advise them not to use Apple-only technologies when a suitable portable technology already exists.
In meatspace, I am in reality quite mild-mannered, reserved and polite. As I said, the consummate professional.
Quite likely you and the others who raise objections, have never been subjected to age, racial, religious or sexual discrimination. Those who have know what I'm talking about.
When was the last time you met a Mexican-American computer programmer? One who actually had a job?
The education in Mexico, I understand, is very very good.
Even born and raised American citizens don't find much work in technology, if they are of Hispanic heritage.
That's not just me saying it - I am an Anglo. I've observed that to be the case everywhere I have ever worked, I've also read about it in the trade press.
lol I'm in my 40s, work at a YC startup, and we have 3 Hispanic engineers out of 15. So, in short, you're wrong.
I'm pretty sure that you believe you are mild-mannered, but you probably aren't. Your opinions and the things you say betray the fact that you are likely hard to work with. You said that you would not respect people based on their choice of technology. That itself is a red flag about your personality. So I'm telling you, it's probably not your age, it's your personality. You sound like someone who is very hard to work with if they dare to say something you disagree with.
You claim to disprove a general phenomenon with anecdotal evidence.
I'm a Physicist, I know all about this stuff. That Hispanics are not commonly employed as software engineers is very well-established. Go have a look at companies other than your own.
I do applaud you for employing them. I think highly of Hispanic people.
And yes I really am quite easy to work with. That's why I post like this on the Internet, because it enables me to be quite blunt when I want to be.
In the workplace I work hard to play nice in the sandbox.
Do you know what the term "passing" means? Consider that I am quite profoundly mentally ill. Having Bipolar-Type Schizoaffective Disorder is much like being Manic-Depressive and Schizophrenic at the same time.
I would not be able to get a job at all, were I not able to pass as someone who was not mentally ill. It is quite uncommon for those I encounter in person, to ever figure out that I am mentally ill in any way, unless I specifically tell them.
That really gets me down, so I don't make any attempt whatsoever to hide my mental illness on the Internet.
I'm sorry for your mental illness. However, I feel like you would be insulted if I avoided replying to you because of it, so I won't.
I think you must be doing really well for someone who is passing as someone without mental illness, so that it probably why you believe people don't notice it. However, my bet is that it leaks through, and there is something off about your behavior that you can't pick up on. Just because you're mild-mannered doesn't mean that there isn't something that rubs people the wrong way about your behavior. I've worked with a lot of people who were mild-mannered who behaved strangely and caused people to not like working with them.
My bet is that this is likely the reason why you aren't getting job offers, as opposed to age. Because you are doing so well as someone passing as someone who doesn't have mental illness, you are probably hardcoded to believe that that's not the reason, but I would revisit that belief.
Yes you are correct that I do rub some people the wrong way. It's rather more subtle than you would think. For example I ordered a really tasty meal in an all-night restaurant once:
"Hey that supper I ordered is really good!"
"Are you going to be able to pay for it?"
"Well of course."
"I want you to pay for it RIGHT NOW!"
"Well OK..." I pulled what was clearly $25.00 in cash out of my wallet.
"Do you have enough money?"
"Wut? This is twenty-five bucks!"
However the waitress who actually served the meal was happy to chat with me the whole time I was there. It was the owner of the restaurant who seemed to think I could not pay, despite my having three times as much cash as what the meal cost.
There are only certain people who act that way towards me. It's uncommon but when they act like that, they are quite irrational.
I am dead certain that most people I meet in real life do not know I am mentally ill. There have been quite a few people who I have known for years, who were quite surprised when I finally told them about it.
Also, I am not the only coder who faces age discrimination. I was first warned about it when I was thirty years old or so. The age discrimination is widespread, it's easy to find others who have similar experiences.
Consider - have you ever seen an old person who works at an Apple Store?
I realize from your comments below that you would like to fight this idea that there are no Mexican-American computer programmers. But the census says otherwise, and they are known to be relatively accurate. These numbers may seem quite low, but the Bureau of Labor Statistics shows that approximately 6.4% of computer and mathematical occupations are made up of Hispanic or Latino populations. If we extrapolate that out to the data on how many software engineers are in the US from the Bureau of Labor Statistics, ~600,000, we will find that there are ~36,000 hispanic and latino software engineers. There are also quite a few female engineers of various races, and of course, other races besides hispanic and latino.
Oh, and anecdotally, I know quite a large number of hispanic and latino software engineers. They actually have jobs.
That sounds good, but it sounds hard to show that to a potential employer and impress them. Have you built anything with what you've learned?
I'm 42, and I performed unimpressively in an interview two years ago. That gave me some motivation to go back and polish the projects I'd been working on, so the projects would speak for themselves. Since then a number of professional opportunities have come up, largely based on the quality of the projects I've been building. It has a snowball effect as well; it's become easier to pick the work I want, and get work in that area.
I've built quite a lot with what I've learned, however it's not always possible to demonstrate that. Consider that I am not permitted to tell anyone at all what my most-recent project was, other than that it had something to do with OpenGL.
This because the product was an in-house tool for a client of my client. The very existence of that tool is a closely guarded trade secret.
I read Robert Ward's excellent "Debugging C" back in the day. In part as a result of that book, I am better at debugging just about anything than just about anybody. But what can I show to a potential employer or client? "Here's some code that doesn't have bugs in it." Similarly with Scott Meyers' "Effective C++" series.
Three times I have applied to a certain company to write Mac OS X I/O Kit Kernel Extensions - what Apple calls device drivers. All three times, their HR refused to forward my resume to the hiring manager, unless I removed all the experience that wasn't directly related to Mac OS X.
All three times I refused; I first learned to write device drivers by hand-coding LSI-11 assembly into octal, then entering the code into the LSI-11 kernel with an octal keypad and a profoundly primitive debugger called ODT, for "Octal Debugging Technique".
That was in an Intro to Computer Architecture class at UC Davis that I took over the summer of 1981, while I was still in high school.
Whoever it is who keeps telling me to remove my non-OS X experience, clearly does not understand how computers work. Each time I have refused; I don't want to work for idiots.
Unfortunately, part of the game is accomodating HR and non-technical managers in most companies that have gone beyond the 30 person startup stage, unless you have widely recognized expertise in some relatively rare skill.
There's three hurdles to being hired (and HN has hashed this over before), so the technical chops are there, it sounds like, but then they ask
- is he/she willing to sacrifice for our success?
- "fit/culture", is s/he somebody we want to travel with/hang out, spend lots of time with, most of it involuntary
I don't have a problem with non-technical HR and managerial people, nor sales, marketing, production staff and so on.
I remain dumbfounded that their HR didn't understand that work I did on other platforms, contributes a great deal to my ability to code for Mac OS X.
Consider that OS X drivers are all written in C++. I've done quite a lot of C++ work on Windows and embedded platforms, and a little on Linux. Yet their HR wanted me to delete all that from my resume.
I didn't just turn down the jobs. Each time I explained to the recruiters - who generally are non-technical too - that all that other experience contributes to my ability to write OS X drivers. Yet the recruiters were unwilling to pass on the message to the HR.
I've only known this to happen at just one company.
Actually I am quite good at explaining difficult concepts to the uninitiated, as a direct result of my experiences with many of my teachers.
I have a BA in Physics, with some graduate school. I had some courses that I regarded as quite easy, some were quite difficult. Quite often this was not the result of the material I studied, but the ability of the instructor to explain it.
Consider that physics is commonly taught by working out mathematical derivations. That leads people who either don't know math, or don't like it, to regard physics as completely unapproachable.
But physics can be taught in a purely conceptual way, with no math at all. For example, I once explained elementary particle physics to a Burgerville cashier by comparing it to the game of pool. "Suppose you cover the break" - the initial positions of the balls, in a triangle - "with a sheet of plywood. Your job now is to shoot the cue ball underneath the wood, then determine the shape of the break from the tracks of the balls after they scatter out from underneath the sheet of wood."
She was quite pleased as she grasped it instantly.
I wasn't clear, that was supposed to be a purely mechanical calculation of amortizing the time costs of preparing for screens and onsites over how much you want the gig, which for me always includes tailoring a resume for each company and other stuff which is basically a waste of time.
You reminded me of the 4th, newest hurdle to getting hired at a lot of places, a decent grounding in linear algebra, prob/statistics, calculus, with the odd category theory curveball question.
I was taught physics the other way, BTW, my Dad decided around 8th grade was the right time to start developing intuitions for ODE's and linear algebra, with illustrations from real life. Made absolutely no sense to me.
All I Ever Really Needed To Know About Designing Nuclear Weapons, I Learned In Linear Algebra When I Was Seventeen.
Seriously, a whole lot of Physics really does ultimately distill down to linear algebra.
Just yesterday I learned through an HN link that Statistics is among the top-ten most valued skills among employers. That's implied by listing my physics degree on my resume, but those who don't have a clue about physics won't know that. I'll make it more clear in my next revision.
As a side note - I wish more interviewers would ask debugging related questions. I had a couple coworkers at Google who would try them ("Here's some code with some bugs in it. Identify them, or talk me through how you would identify them"), but they were definitely in the minority. Debugging is its own skill, very different from writing green-field code, and yet a large portion of the time we spend as professional software developers is spent debugging.
Cisco had a written test in which I was asked to debug a C++ program that had thirty lines or so of source.
Note that I did this with paper and a ballpoint pen - no computer.
That same test also had me reverse-engineer a network protocol packet, given a hex dump.
I have only had one other written test that I can recall. With that one I was given the assembly instruction architecture for a hypothetical CPU, then the source to a program, with the problem being for me to write down what the output of the program was. It was a huge PITA, and took me several hours, due to multiply-nested loops, recursion and the like.
I didn't get an offer from Cisco, but I did at that other company. The owner never tells anyone how they did on the written test though, other than that you get a job offer or you don't.
I understand that ten times as much time and money go into maintenance work, than in writing the original product.
Now some of that is adding features but much of it is fixing bugs.
I work very very hard to promote myself as a debugging specialist, but it is quite uncommon for potential employers to even care.
The most common requirement for "Debug" - not "Debugging" just "Debug" - is for really low-level embedded work. Not even kernel nor device driver work, stuff like board bring-up.
However I have gotten a few jobs specifically as a debugger. My very first retail coding job got me the title of "Product Development Manager", but in reality I was hired to debug a product that my predecessor made a smoking crater of. I've also been a "Debug Meister" for Apple, and a "Man in Black" for Sony Ericsson Mobile Communications, where I worked on what is now the Sony Mobile XPeria Play.
It's a lack-of-challenges (read culture) thing. My employer unfortunately tolerates mediocrity & isn't under investor pressure to improve. It drives me crazy, but can't leave until I have a new gig lined up.
I live in Austin & work as a product manager, FWIW.
You're in a position where you can improve your own job ... don't tolerate mediocrity in yourself, then don't tolerate it in your work products. There's nothing to say your employer would complain if things improved - in fact, it's likely you'll be able to point to an ROI on those improvements eventually. Most employers WILL notice when the money improves and will want to do more of whatever caused it.
But I'll tell you who I REALLY feel sorry for. I feel sorry for today's 20- and 30-somethings who will likely never know the $1000-$2000 days many of us knew in the 80's, 90's and 00's.
Back in the days when FedExing diskettes across the planet was a normal thing.
Take today's 20 and 30-somethings and project forward 20-years, I wouldn't want to trade positions.
Much easier to learn to program and do bigger things today. Professional life (and life in general) is much better today than 25 years ago.
20 years ago:
- It was hard to find books on technical subjects.
- Computing time was so scarce you had crazy internal chargeback systems. (Though this is sort of coming full circle with AWS)
- You had to worry about every level of the stack to do the simplest things. (Weak abstraction)
- No meetups or other technically assisted socializing.
- In most cities if you wanted to grab a beer, the cost involved coming home smelling like smoke.
You realize it will be 2015 in two weeks right? 20 years ago it was 1995 computing time wasn't "scarce" the PC had already been around for 10+ years 20 years ago.
When I was in school, computing time was a pain in the ass. Same with my first job after. I'm not talking run a little Excel, more like "Create the data cube for a company's monthly sales numbers" computing.
I'm confused: $1000-2000 days? Are you suggesting that there are "many of you" who pulled down ~250-500k USD per year back in the 80s/90s/00s? Which industry(ies)/career(s) are you referring to?
Or even if you only happen to have a pretty standard skill-set, but are reasonably good at what you do, good at selling yourself, and happen to be connected with the right sort of people. (Though making $2000 a day might also require being quite hard-working, depending on what you do.)
I certainly don't want to debate that there is age discrimination in this industry. There is. It's entirely illegal. I worry about it myself, a lot! However, a few key people in the industry are amazing and give me hope. In no particular order:
Israel Gat, Diana Larsen, David Spann, Woody Zuill, Ward Cunningham, Robert Martin
Actually, as I make the list, it just keeps getting longer. Those are all people I have worked with or associated myself with in the last 12 months professionally. They are all extremely fantastic engineers as well as speakers, managers, and educators. Each one of them. The difference between them and the standard engineer is they have built a personal brand around themselves. They write, speak, and help with open source projects. Instead of being thought of as "older" they are thought of as the sages of the industry, filled with wisdom that can only be purchased with decades of industry experience. And companies bang down their doors to hire them. I happen to personally know that one person in that list makes a day rate of $10,000 and honestly, that person wishes they would get FEWER calls for work.
Keep going! Build your personal brand and you'll get the job you want.
That is why i'm working to get all the certifications I can to become a full time DBA (database administrator). For some reason companies want young programmers, but old time database administrators. I guess when it comes to data integrity, experience and being stuck in your ways counts more.
DBAs tend to be a little less to jump on the bleeding edge. Development is (sometimes) about trends, being closer to the marketing, where DBA are the keepers of the gold.
That said, being a DBA is not always a stable life. Depending on the organization (or the lack of it) there can be late night firedrills, off hours maintenance / migrations, calls to fix data wounded by bleeding edges. A good DBA can mitigate these problems, given adequate support by management - IOW given the authority to do so.
Just make sure you stay current with the latest trends, technology, usability, target demographics for your space. Kids out of college and recent grads inherently have this because it is what they learned. So when putting two people side by side regardless of their metrics - looking at what they know. Far often the person who is in the know and up to date rather than complaisant will have the edge. (At least in my experience)
There are truly horrible jobs - I said it just to get it out of the way but ...
The rest of this comment doesn't apply to convenience store clerks with degrees in computer science.
Many times when I hear people say something like this, they're working in a job they hate because they're making good money. If you can't make job change because you're expecting the same wage, that's a different problem (Dear Santa - please include personal budgeting software).
Fortunately, unless you have one of those truly horrible jobs, there's a better way to get the job you want. Change your own job - and you start with changing your own behavior. This method requires a lot more work than sitting in your cube all day (playing with your red Swingline stapler) but broadly try this (not every problem will require all the steps):
1) Exceed your bosses expectations but still be on time.
2) Change how you do the job so that you're enjoying yourself.
3) Learn something new in the process of doing 1 and 2 above.
4) Use an appropriate new technology to replace something old - make sure you can justify why you replaced the old (presumably working) way.
5) Teach others in your office how you achieved more by doing things this new way.
This makes a few changes:
1) You think differently about your job and the enjoyment you get from it.
2) Your boss thinks differently about you.
3) Your coworkers think differently about you.
Don't underestimate the important of your perceptions - you can probably do your current job in a way that you find enjoyable if you tweak the job and change your attitude!
64 comments
[ 4.1 ms ] story [ 112 ms ] threadI'll be 51 in a couple months.
Age discrimination is widespread in this industry. I get lots of interviews, but quite commonly I find that my interviewer starts finding reasons not to hire me, the very instant they see me in person, and so can see I have grey hair.
Discriminating against employees or candidates over 40, for reasons of age, is flatly illegal under US Federal Law, as well as the laws of all the States that I know about. However, such age discrimination is quite widespread.
To a lesser degree you can't look 50 either - I'm fortunate to have been dirty blond when I was younger and my hair doesn't seem to be greying yet but if it was and I was interviewing, I'd change it. Five hundred pounds and rolled into the interview in an oversized Aeron chair? You probably look older than you are to the interviewers.
I don't think most age discrimination is conscious but even where it is, don't help them out by acting or looking old/older.
Note: Since I have no idea how @MichaelCrawford looks or interviews, this comment is not aimed at him but is rather responding to a pattern I see when we interview people my age.
If they say they're going to be trying "technology/algorithm/framework X", don't immediately say "that will never work!". Sure you've got 30 years of experience and you've tried that and failed with it 15 times but they're young and impressionable and they can do anything. Plus they might be right in this instance!
Instead, you're the flexible guy who balances his experience, intuition and caution with the realization that while X might have failed you in the past, there might be situations where it's the right fit. So play the wise sage and say something like "that's an interesting idea, I'd be careful about Q, R and S but if it's implemented correctly that might be exactly the right plan (for instance, sometimes people really do need a NoSQL database, but often it should be put next to an RDBMS ... don't just choose one!). And you'd certainly like to be on the team working with X right? (you are presumeably at the job interview to get the job).
So the right play during the interview is to look like you'd be a valuable member of the team. Once you've joined the team you can help guide them to a proper solution - whether or not it includes X.
Bonus: Do not in ANY CIRCUMSTANCES get drawn into flame wars during your interview. Editors, IDEs, editors versus IDEs, languages and frameworks are tools - your position is that you use the one that best fits the project and maximizes productivity.
For example, Apple's CoreEdit is profoundly nonportable, as well as clearly designed to implement vendor lock-in. There are all manner of ways to store structured data that are quite portable.
So if my interviewer asks me if I have experience with CoreEdit, I will quite emphatically tell them "No, because it's nonportable," then supply some portable solutions such as SQLite.
I don't want to work for a bad manager.
What I have a problem with is someone making assumptions about me, just because they see my grey hair, and the wrinkles in the skin of my face.
> I often get into flame wars during my interview. If the hiring manager says something that indicates he is a jackass, I will quite bluntly inform him of that fact
Do you see the correlation? If you said this to me in an interview it would be over immediately.
I get lots of interviews with managers who use technologies I'm quite happy with.
When I say I am discriminated against because of my age, it's because I can tell they don't want to hire me, the very instant they look at me.
Do you know the term "code word", with reference to discrimination? With me, I am often told I would not "fit the company culture".
My ex-wife was one a motel manager. She was specifically told not to rent rooms to First Nations people (ie. Native Canadians).
A friend once interviewed to be an apartment manager. She was specifically told not to rent to black people.
However, the owners of that hotel and that apartment, did not specifically come right out and say so. They used "code words", for example the apartment owner told my friend to inform people that spoke in a certain way, that there were no apartments available.
What I'm saying is that hiring managers often tell me I won't fit the company culture, as a direct result of seeing me in person, rather than communicating via email or telephone.
> I often get into flame wars during my interview
Make up your mind and then get back to me
What I just said is that I don't accept offers from managers that I regard as idiots.
When I am actually working for a firm, I am always the consummate professional.
For example, a close friend who was one of the pioneers of the video game industry, one of Atari's very first game designers, once interviewed to be a Games Evangelist for Apple. At the time, Apple had not done anything to promote Macintosh games, at least not for quite a long time.
My friend was dead certain he'd get an offer, but the hiring manager told my friend that he "looked tired" and so would not be suitable for what in reality is a marketing position.
I myself look tired all the time; there's not a whole lot I can do about that. That doesn't mean that I really _am_ tired.
The other way that it's made plainly apparent, is that I talk just like a surfer dude, so I sound quite young over the phone. The way others respond to me over the phone is quite different from the way they speak to me when they see me in person.
But before we part ways, I aim to set you straight, so that you stop making such mistakes as, for example, using CoreEdit.
I regard that as a public service to the community.
Apple's vendor lock-in is a particular sore point with me, as I have experienced it with many vendors, but Apple worst of all.
Quite commonly I interview to work on a client's very first Mac or iOS product, after they have experience with some other platform. For example I do a lot of Mac ports of successful Windows products. Also quite commonly, the client wants to make use of some really, really ill-advised Apple technology, perhaps as a result of Apple's Developer Evangelism, or having attended an Apple World-Wide Developer Conference, without the understanding that those conferences are specifically intended to enable vendor lock-in.
So I regard it as my duty to the client to advise them not to use Apple-only technologies when a suitable portable technology already exists.
Quite likely you and the others who raise objections, have never been subjected to age, racial, religious or sexual discrimination. Those who have know what I'm talking about.
When was the last time you met a Mexican-American computer programmer? One who actually had a job?
The education in Mexico, I understand, is very very good.
Even born and raised American citizens don't find much work in technology, if they are of Hispanic heritage.
That's not just me saying it - I am an Anglo. I've observed that to be the case everywhere I have ever worked, I've also read about it in the trade press.
I'm pretty sure that you believe you are mild-mannered, but you probably aren't. Your opinions and the things you say betray the fact that you are likely hard to work with. You said that you would not respect people based on their choice of technology. That itself is a red flag about your personality. So I'm telling you, it's probably not your age, it's your personality. You sound like someone who is very hard to work with if they dare to say something you disagree with.
I'm a Physicist, I know all about this stuff. That Hispanics are not commonly employed as software engineers is very well-established. Go have a look at companies other than your own.
I do applaud you for employing them. I think highly of Hispanic people.
And yes I really am quite easy to work with. That's why I post like this on the Internet, because it enables me to be quite blunt when I want to be.
In the workplace I work hard to play nice in the sandbox.
Do you know what the term "passing" means? Consider that I am quite profoundly mentally ill. Having Bipolar-Type Schizoaffective Disorder is much like being Manic-Depressive and Schizophrenic at the same time.
I would not be able to get a job at all, were I not able to pass as someone who was not mentally ill. It is quite uncommon for those I encounter in person, to ever figure out that I am mentally ill in any way, unless I specifically tell them.
That really gets me down, so I don't make any attempt whatsoever to hide my mental illness on the Internet.
I think you must be doing really well for someone who is passing as someone without mental illness, so that it probably why you believe people don't notice it. However, my bet is that it leaks through, and there is something off about your behavior that you can't pick up on. Just because you're mild-mannered doesn't mean that there isn't something that rubs people the wrong way about your behavior. I've worked with a lot of people who were mild-mannered who behaved strangely and caused people to not like working with them.
My bet is that this is likely the reason why you aren't getting job offers, as opposed to age. Because you are doing so well as someone passing as someone who doesn't have mental illness, you are probably hardcoded to believe that that's not the reason, but I would revisit that belief.
Yes you are correct that I do rub some people the wrong way. It's rather more subtle than you would think. For example I ordered a really tasty meal in an all-night restaurant once:
"Hey that supper I ordered is really good!"
"Are you going to be able to pay for it?"
"Well of course."
"I want you to pay for it RIGHT NOW!"
"Well OK..." I pulled what was clearly $25.00 in cash out of my wallet.
"Do you have enough money?"
"Wut? This is twenty-five bucks!"
However the waitress who actually served the meal was happy to chat with me the whole time I was there. It was the owner of the restaurant who seemed to think I could not pay, despite my having three times as much cash as what the meal cost.
There are only certain people who act that way towards me. It's uncommon but when they act like that, they are quite irrational.
I am dead certain that most people I meet in real life do not know I am mentally ill. There have been quite a few people who I have known for years, who were quite surprised when I finally told them about it.
Also, I am not the only coder who faces age discrimination. I was first warned about it when I was thirty years old or so. The age discrimination is widespread, it's easy to find others who have similar experiences.
Consider - have you ever seen an old person who works at an Apple Store?
Someone in a wheelchair?
Oh, and anecdotally, I know quite a large number of hispanic and latino software engineers. They actually have jobs.
[1] http://www.bls.gov/cps/cpsaat11.pdf [2] http://www.bls.gov/oes/2002/oes_nat.htm
In reality I invest a great deal of money in technical books, as well as time in reading them, and writing code for the exercises in the books.
I'm 42, and I performed unimpressively in an interview two years ago. That gave me some motivation to go back and polish the projects I'd been working on, so the projects would speak for themselves. Since then a number of professional opportunities have come up, largely based on the quality of the projects I've been building. It has a snowball effect as well; it's become easier to pick the work I want, and get work in that area.
This because the product was an in-house tool for a client of my client. The very existence of that tool is a closely guarded trade secret.
I read Robert Ward's excellent "Debugging C" back in the day. In part as a result of that book, I am better at debugging just about anything than just about anybody. But what can I show to a potential employer or client? "Here's some code that doesn't have bugs in it." Similarly with Scott Meyers' "Effective C++" series.
Three times I have applied to a certain company to write Mac OS X I/O Kit Kernel Extensions - what Apple calls device drivers. All three times, their HR refused to forward my resume to the hiring manager, unless I removed all the experience that wasn't directly related to Mac OS X.
All three times I refused; I first learned to write device drivers by hand-coding LSI-11 assembly into octal, then entering the code into the LSI-11 kernel with an octal keypad and a profoundly primitive debugger called ODT, for "Octal Debugging Technique".
That was in an Intro to Computer Architecture class at UC Davis that I took over the summer of 1981, while I was still in high school.
Whoever it is who keeps telling me to remove my non-OS X experience, clearly does not understand how computers work. Each time I have refused; I don't want to work for idiots.
There's three hurdles to being hired (and HN has hashed this over before), so the technical chops are there, it sounds like, but then they ask
- is he/she willing to sacrifice for our success?
- "fit/culture", is s/he somebody we want to travel with/hang out, spend lots of time with, most of it involuntary
I remain dumbfounded that their HR didn't understand that work I did on other platforms, contributes a great deal to my ability to code for Mac OS X.
Consider that OS X drivers are all written in C++. I've done quite a lot of C++ work on Windows and embedded platforms, and a little on Linux. Yet their HR wanted me to delete all that from my resume.
I didn't just turn down the jobs. Each time I explained to the recruiters - who generally are non-technical too - that all that other experience contributes to my ability to write OS X drivers. Yet the recruiters were unwilling to pass on the message to the HR.
I've only known this to happen at just one company.
Actually I am quite good at explaining difficult concepts to the uninitiated, as a direct result of my experiences with many of my teachers.
I have a BA in Physics, with some graduate school. I had some courses that I regarded as quite easy, some were quite difficult. Quite often this was not the result of the material I studied, but the ability of the instructor to explain it.
Consider that physics is commonly taught by working out mathematical derivations. That leads people who either don't know math, or don't like it, to regard physics as completely unapproachable.
But physics can be taught in a purely conceptual way, with no math at all. For example, I once explained elementary particle physics to a Burgerville cashier by comparing it to the game of pool. "Suppose you cover the break" - the initial positions of the balls, in a triangle - "with a sheet of plywood. Your job now is to shoot the cue ball underneath the wood, then determine the shape of the break from the tracks of the balls after they scatter out from underneath the sheet of wood."
She was quite pleased as she grasped it instantly.
You reminded me of the 4th, newest hurdle to getting hired at a lot of places, a decent grounding in linear algebra, prob/statistics, calculus, with the odd category theory curveball question.
I was taught physics the other way, BTW, my Dad decided around 8th grade was the right time to start developing intuitions for ODE's and linear algebra, with illustrations from real life. Made absolutely no sense to me.
Seriously, a whole lot of Physics really does ultimately distill down to linear algebra.
Just yesterday I learned through an HN link that Statistics is among the top-ten most valued skills among employers. That's implied by listing my physics degree on my resume, but those who don't have a clue about physics won't know that. I'll make it more clear in my next revision.
Note that I did this with paper and a ballpoint pen - no computer.
That same test also had me reverse-engineer a network protocol packet, given a hex dump.
I have only had one other written test that I can recall. With that one I was given the assembly instruction architecture for a hypothetical CPU, then the source to a program, with the problem being for me to write down what the output of the program was. It was a huge PITA, and took me several hours, due to multiply-nested loops, recursion and the like.
I didn't get an offer from Cisco, but I did at that other company. The owner never tells anyone how they did on the written test though, other than that you get a job offer or you don't.
Now some of that is adding features but much of it is fixing bugs.
I work very very hard to promote myself as a debugging specialist, but it is quite uncommon for potential employers to even care.
The most common requirement for "Debug" - not "Debugging" just "Debug" - is for really low-level embedded work. Not even kernel nor device driver work, stuff like board bring-up.
However I have gotten a few jobs specifically as a debugger. My very first retail coding job got me the title of "Product Development Manager", but in reality I was hired to debug a product that my predecessor made a smoking crater of. I've also been a "Debug Meister" for Apple, and a "Man in Black" for Sony Ericsson Mobile Communications, where I worked on what is now the Sony Mobile XPeria Play.
"So how could you contribute to our company?"
"I have a goatee and look really good in tight blue jeans. Also I like to ride skateboards, and compose original minimalist piano music."
"You're hired!"
Is it a compensation issue, a work/life balance thing, a new technologies thing?
Conversely, are you willing to lower your compensation, work/life balance, technology choices, etc. to accomplish that?
Hard for Santa to fix these problems without knowing the tradeoffs...
It's a lack-of-challenges (read culture) thing. My employer unfortunately tolerates mediocrity & isn't under investor pressure to improve. It drives me crazy, but can't leave until I have a new gig lined up.
I live in Austin & work as a product manager, FWIW.
But I'll tell you who I REALLY feel sorry for. I feel sorry for today's 20- and 30-somethings who will likely never know the $1000-$2000 days many of us knew in the 80's, 90's and 00's.
Back in the days when FedExing diskettes across the planet was a normal thing.
Take today's 20 and 30-somethings and project forward 20-years, I wouldn't want to trade positions.
20 years ago: - It was hard to find books on technical subjects. - Computing time was so scarce you had crazy internal chargeback systems. (Though this is sort of coming full circle with AWS) - You had to worry about every level of the stack to do the simplest things. (Weak abstraction) - No meetups or other technically assisted socializing. - In most cities if you wanted to grab a beer, the cost involved coming home smelling like smoke.
When I was in school, computing time was a pain in the ass. Same with my first job after. I'm not talking run a little Excel, more like "Create the data cube for a company's monthly sales numbers" computing.
However, to be brutally honest, $1000 a day isn't even close to unobtainable now. Many people in this industry pull down ~$250-500k per year.
Israel Gat, Diana Larsen, David Spann, Woody Zuill, Ward Cunningham, Robert Martin
Actually, as I make the list, it just keeps getting longer. Those are all people I have worked with or associated myself with in the last 12 months professionally. They are all extremely fantastic engineers as well as speakers, managers, and educators. Each one of them. The difference between them and the standard engineer is they have built a personal brand around themselves. They write, speak, and help with open source projects. Instead of being thought of as "older" they are thought of as the sages of the industry, filled with wisdom that can only be purchased with decades of industry experience. And companies bang down their doors to hire them. I happen to personally know that one person in that list makes a day rate of $10,000 and honestly, that person wishes they would get FEWER calls for work.
Keep going! Build your personal brand and you'll get the job you want.
That said, being a DBA is not always a stable life. Depending on the organization (or the lack of it) there can be late night firedrills, off hours maintenance / migrations, calls to fix data wounded by bleeding edges. A good DBA can mitigate these problems, given adequate support by management - IOW given the authority to do so.
The rest of this comment doesn't apply to convenience store clerks with degrees in computer science.
Many times when I hear people say something like this, they're working in a job they hate because they're making good money. If you can't make job change because you're expecting the same wage, that's a different problem (Dear Santa - please include personal budgeting software).
Fortunately, unless you have one of those truly horrible jobs, there's a better way to get the job you want. Change your own job - and you start with changing your own behavior. This method requires a lot more work than sitting in your cube all day (playing with your red Swingline stapler) but broadly try this (not every problem will require all the steps):
1) Exceed your bosses expectations but still be on time.
2) Change how you do the job so that you're enjoying yourself.
3) Learn something new in the process of doing 1 and 2 above.
4) Use an appropriate new technology to replace something old - make sure you can justify why you replaced the old (presumably working) way.
5) Teach others in your office how you achieved more by doing things this new way.
This makes a few changes:
1) You think differently about your job and the enjoyment you get from it.
2) Your boss thinks differently about you.
3) Your coworkers think differently about you.
Don't underestimate the important of your perceptions - you can probably do your current job in a way that you find enjoyable if you tweak the job and change your attitude!