Is Software Development Really a Dead-End Job After 35-40?
dzone.com
dzone.com
This is arrogance. In my experience, most companies throw simple tests even at people applying for higher positions for several reasons:
1. It very quickly sorts out people who lie on their resume
2. You can tell a lot about a person's skill level by how they answer even a simple coding assignment - how are functions and variables named, does it take in args, what style is the commenting, does it do error handling, input validation, which language features are used to solve it etc, etc?
A lot of that is going to depend on the test. For fizzbuzz using functions at all would be over complicated, if it's timed then I'm not going to bother with comments and variable naming.
To me, software is only a tool to get where I want. The potential is the products that I can produce, not the actual career of writing software, and I'm bringing my 30 years of business knowledge to the table.
I know what businesses want. I know what steps to take. I know what kind of relationship a business wants with their software vendor. Case in point: my current project is a very mature industry where the current market is 40% larger companies serviced by a couple of large ISVs, but 60% of the smaller companies can't afford these ISV platforms and rely on a few old outdated packages or roll their own. My sole client now is a very small operation but she's got great insight to where she wants to go and what functionality will take her there.. like social media integration, ongoing customer touches, SMS, etc (which the current crop of platforms don't have), which makes her the perfect first client. And she feels comfortable that I can become a good partner of hers because a) I know what to do, and b) I don't bullshit. And yes, she's very aware I'm 57. So what. And, unlike the younger developers, I've got a little money and security backing me so I can take the time to develop the platform full-time.
I know I can't get a job, but I can make one. What other industry can you do that at 57?
I would like to believe that people who find jobs don't write posts like this to provide the opposite experience. But it seems to be weighted so heavily on the negative, it hards to believe the positive does exist.
But then I think about the jobs they are applying for. Basic coding tests for an Architect? Are they really hiring an Architect or just the second developer and CTO is already taken? Start ups seem to like to assign titles from the top down, but you cannot exactly have an Architect if its you and one other person.
Also 99% rejection rate without an interview? That sounds like you are spamming your resume to everyone, don't know how to write a resume, or are woefully under qualified and don't know it.
I generally assume the absurd hiring practices are either large companies that have become institutionalized and thus have terrible processes free from the scrutiny of sanity (Google, etc) or are small companies that don't really know what they are doing or need. Both sound like terrible places to work.
Judging from how you use it, I think that under the word "obsolete" you mean something different than how I understand it. Care to clarify?
I assume that's what he/she means.
Are you always picking up new skills or perspectives by doing that? Sure. Do you still have to be stingy with your resources (time, energy, interest)? Absolutely.
Sure you can blame people for not keeping up with their skills and knowledge set like mikestew, but a lot of times this is not what you're interviewed on. Its like interviewing companies are so lazy as to not check your references. Most of the time if the interviewer is knowledgable they should be able to weed out people that are lying on their resumes. Maybe the problem is not with the people lying on their resumes and people that are doing the interviewing.
If I could do it over again, I probably would have gone down a different career path and programmed as a hobby.
Really? While I'd love to program as a hobby, I don't know what I'd do as a job then. For me, programming is easy money. I have no what else I could do. Game designer perhaps. Or musician. But those are really better kept as a hobby.
This is just a theory, but I think we've got a situation where there are about the same number of software engineers out there looking for jobs as ever, and there are about the same number of jobs as ever, but for some reason the system has evolved to where applicants have to apply to a much larger number of positions than they used to, and employers have to screen a much larger number of applicants. When this happens, applicants get much less picky about the positions they apply for (and have to get less picky) and employers end up screening on more and more arbitrary criteria.
Part of this might just be what you could call the "online dating" problem, where the problem is that the technology has made it way too easy to make superficial contacts, so contactees get super-dismissive, and contactors decide that if they're going to continue playing the game they're just going to have to make an even greater number of superficial contacts, contactees get even more dismissive, and eventually everybody just gets really jaded.
Another part might be (and I should stress again that I'm just hypothesizing here) that because there are so many applicants for each position now, that there is, almost by necessity, a screening layer of professional HR hiring people (not just the classic recruiters, but "sourcers", recruiters working directly for employers, full-time HR people who specialize in hiring, etc.) And it's actually a real problem because these people aren't, in general, competent to be screening applicants, and indeed can't be, unless they are former software engineers themselves.
Bingo. Unfortunately, in a situation where it is typically in both sides' best interests to play to their strengths and hide their weaknesses as much as they reasonably can (and sometimes more), it is hard to see how to fix that problem. I suspect the rules of the game need to change, so that technical experts are involved much earlier in the process, even if it means staff with software development or related roles have to step away from their normal work now and then to participate in recruitment activities.
I totally agree with you. In an ideal world (at least a better one), I imagine it would go something like this:
Engineering: We need to hire some more people.
HR: Why are you telling us? That's not our problem.
Engineering: ?!
some time later
Engineering: OK, we've found a guy we want to hire.
HR: Excellent. We can take it from here.
Note: I am not exaggerating for effect here. I am totally serious. The hiring of engineers should not be an HR problem.
I've never applied to a very large company via the equivalent process myself, only wound up in them through other means. However, seeing from inside how things have sometimes been handled, with HR/legal driving the process and technical people taking a back seat, I can't say I'm regretting my life choices here. :-)
Is this in the US? Because I don't think it's global. I live in Netherland, and I never have any problem finding a new job. I don't know any unemployed programmers, and a lot of desperate recruiters.
Maybe it's the result of Netherland neglecting to invest more in STEM education, and underpaying programmers. Managers tend to get paid better than programmers here, so that's draining the programmer population, keeping demand high.
The latter is funny, as when I started out (and maybe even now), I was always up for putting many hours into the product I was working, but only if it was worth doing and interesting to me. What I quickly learned was that these projects did not exist, especially at larger companies, and if they did, they were almost impossible to join. And even then, once on the project, political BS and favoritism could easily leave you working on an irrelevant/meaningless feature.
The reverse of "aging out" ("they're young, so they're stupid") is what I experienced when starting out.
While at eBay, the idiot managers did everything in their power to try to paint me as a stupid know-nothing and would constantly try to box me in. Whenever I did anything that showed ability, knowledge, etc, they'd freak out and try even harder to stomp me out. Working longer hours (or having to work longer hours) wasn't a display of anything other than me inconveniencing them and other employees, as now they have to stay late as well. Then right in line with such accusations, there'd be claims I'm not working enough, am a slacker, am always late (these Bay Area companies have a "show up and leave whenever you want" policy, but then magically everyone is always late), etc.
While at Google (2010), there was nothing but crap to work on, then later there'd be statements along the lines of, "you won't really be able to work on anything until you're a Senior Software Engineer or a Staff Software Engineer, as it's assumed anyone at the Software Engineer III level or below doesn't know what they are doing." There's always an excuse or some BS explanation as they tried to trap everyone into working long painful hours on nothing special, while dealing with endless BS.
Google was strange. There was overt discrimination based on age (older folks would complain about it, but then turn around and say the above about younger ones), gender, ethnicity, school attended, and anything else they could use, but it's magically never been mentioned publicly. They'd also talk down to QA Engineers and contractors like they were nothing.
Google was swarming with off-putting, arrogant, anal retentive pricks that would use everything as an excuse to say the most insulting garbage. It was a hellish environment in which many were on edge (anxiety) or miserable (depressed), while working long and hard on an irrelevant part of nothing special (something that's also magically never been mentioned publicly).
They mean 3-5 years.
This is Netherland, though. The situation could very well be different in other countries.
It depends a lot on how one defines "dead end", too. You have steady work, it pays six figures, but it's a CRUD app? Yeah, go whine to the guy in Appalachia or Detroit. Let me tell you about "dead end": one factory in town, there are only so many management positions to go around, and when that factory closes down you're screwed because your skills don't transfer so well that you'll just pick and move to Seattle where the jobs are. That's a dead end: you're going nowhere.
FoxPro dev and not finding work? That's your own fault. Software dev is a dead end only if you insist on turning down that cul-de-sac, turning off the car, and throwing the keys into a grassy field.
(As a sidenote, the author just comes across as whiny because he's not treated as the special snowflake he really is. If you're so insulted by being asked to do FizzBuzz, then you ought to be able to knock it out in Brainfuck if required. But maybe you can't, eh, Mr. Hotshot?)
I remember going through a phase, probably around my mid-20s, when I got quite insulted by being asked to do such simple tasks in interviews. I never showed that during the interviews, obviously, but I had qualifications and several years of experience writing real production software, so what kind of idiot did they think I was and how was writing fizz-buzz going to demonstrate what I could do?!
A few years later, having more often sat on the other side of the interview table, I had learned that the number of people who have somehow achieved impressive looking qualifications from reputable institutions, gained several years of professional experience, and yet really can't write fizz-buzz, is astonishing.
Trivial programming exercises aren't there to determine a good programmer's level of skill, they're there to stop the interviewer wasting several hours on a no-chance candidate who slipped past the screening process and accidentally wound up face-to-face. You get to the interesting stuff that actually tells you something about the candidate after that, and if they're any good at all, your trivial challenge will be a two minute diversion that they solve while probably having a friendly chat with you about something else at the same time.
It's a little surprising to me that someone with as much experience as the author describes here hasn't realised this yet. It was one of the very first lessons I learned as soon as I started helping with interviewing candidates.
Bing-m'f'ing-O, and you summarize better than I. If one has not only been around the block, but has worn ruts in the sidewalk, then you know exactly why you're being asked to write FizzBuzz. I was actually once asked to reverse a string. "Optimized for memory or speed?" was my response, not a feeling of insult. I guess when I think about it, thanks to your prompting, that's my actual complaint with the article.
I heartily agree, but off-topic. It sucks for everyone, young or old. Maybe, just maybe, as the oldsters roll of to management that'll change, but meet the new boss...
Ha. I'm 42 and currently working on an online version for the card game Dominion. Paid. So it's not a game I invented, but still pretty cool, and very different from the work for banks I've done the past couple of years.
On the other hand it's going to be harder to land them. My sister, who looks younger than her mid-30s, was at a job interview wherein the founders told her they didn't want any "old people", meaning people over 30.
Any company so dense that they make statements during an interview that open them to legal liability is truly a company you don't want to work for. Because I guarantee there's a whole host of other stuff they aren't supposed to do as employer and aren't aware of it. Little stuff like, I dunno, "no, you can't put that in an employment contract and ask people sign it" or "actually, that's not how payroll works in this state".
Specific to your sister, if they don't like old people, I'll bet they wouldn't be fond of having girlz in their frat house, either. Unless she's cute, of course.
You have to constantly grow the breadth _and_ depth of your skill set.
Depth because, from a theoretical perspective, change in computer science is exceptionally slow and incremental. The basic theories and algorithms in the latest machine learning craze, for example, are not much different from those of 30 years ago. If you understood the 30-year-old theory, grasping the modern stuff is much easier. The big enabler has principally been from new hardware.
Breadth because what passes for "skill" today (just like it did yesterday) is effectively familiarity with tooling and buzzwords. You have to pay attention to how tooling and best practices evolve. The tools may be inferior and the best practices not very effective, but the productivity of teams and companies depends on everybody being on the same page. And even if the tooling and practices are worse, it won't that bad. (See depth, above; change is slow and incremental.)
Personally, I took a mid-career break for law school. One of my varied reasons was because the law is perhaps the last professional domain where age and experience is still highly valued. Even a 21-year-old hot shot millionaire would rightly think twice before choosing as his counsel a young top-of-his-class Stanford graduate over a 70-year-old attorney with 50 years of experience in battle.
Philosopher-lawyers from Harvard and Stanford don't have particularly good track records in winning cases. Another reason for my choosing to go to law school was my confusion about Lawrence Lessig losing his case at SCOTUS challenging copyright extension. That's when I began to realize that maybe I (and others, like Lessig) was living in a bubble regarding my understanding not only of the law effecting my professional life, but the law more generally.
Plus, I did some of my best coding while going to law school. Nothing feeds your desire to hack like an extended absence from the grind of programming for a living. And being immersed in an unrelated body of knowledge seems to enhance creativity when programming. I immediately returned to San Francisco after graduating and went back to coding (pay was better, anyhow), but every penny spent was well worth it. The stress, however, probably shaved years off my life. Law school is like bootcamp for the mind, but even more harsh and unsympathetic. My first year was pretty darned close to Paper Chase, including scenes where the professor chastises students in front of the class, tells them to get out of his class, etc. If only undergraduate school were like that. To see some students flunk out their first year only to return to try again was unexpectedly humbling and inspiring, more so than the sheer terror of being one of those to flunk out.
Maybe not when you're young, but you can coast just fine as an older software dev. I'm doing it right now. Now, it might not look like coasting. Sure, I get pulled in to build test infrastructure from the ground up, prop a build server to fit the source control flow that a particular team has chosen, can walk a dev through writing unit test and integrating them into their flow. Hire some testers and dev with a high percentage of "good fits". Hell, manage a team if you need me to. Deal with the client in a professional manner instead of coming across as some basement dweller? All of that before my first cup of coffee without breaking stride. But only because of years of experience does it become second nature.
The tech stack? Meh, you've learned a dozen, you've learned them all. That's the easy part, and when it's not easy I'll go read up. But to me, the truly hard stuff gets easy after enough years and one can cruise through the non-tech parts that (to me) are the hardest part of the job. The only thing I still struggle with is putting up with bullshit in a tactful manner. That gets harder with each passing year, probably because experience makes it more obvious and harder to ignore.
But I can't really tell whether it is objectively increasing, or if I am just getting better at recognizing it.
My financial advisor says the average cost of a 4-year private education will be well over $350,000 in less than 20 years. (It'll be that in just a couple years for the elite private schools, including non-Ivy League elites where most students don't get much aid.) Now, I don't plan on paying for my son to attend a private university if we can help it (public undergrad is fine by me), even though we might be able to swing it without too much damage, but that number serves to really drive home the cost of keeping your family securely middle-class.
Also, yes, middle management is always an escape. OTOH, middle managers are always the first to get the axe during layoffs. I probably misinterpreted the original question, but moving to middle management is not something I aspire to. I respect it, but I'm not a people person and I don't like managing people. I've been fortunate that the few people I have managed I was able to hire myself, people who I felt were much more self-motivated and self-directed than the average engineer.
If I can't continue hacking for an income, I'll probably return to the law.
I left it unsaid, but IMHO ageism is rife in the software industry. There'a ageism in almost every industry (including the law, it's just reversed ;) but IME it's comparatively greater in the software industry. Many people won't bother even denying it, and aren't afraid to excuse it.
I saw ageism even when I was in my early-20s, working with an original Amiga veteran (a bone fide historical figure in the Silicon Valley) whom other young engineers would constantly deride, arguing he was too "behind the times" and just "didn't get it". It was all bollocks of course, and I understood that. (Though I never completely understood why he chose to stay in the trenches, and continues to do so AFAIK, despite the fact he could probably join a VC firm.) Now that I'm older and approaching grey beard status (an age which decreases every year), I won't let myself forget the mentality among the junior engineers, as well as the bean counters, recruiters, and other managers who not only tolerated it, but enabled it.
In light of the ageism, if you want to continue hacking, and you want to minimize your risk of income volatility later in your career, you have to constantly dedicate yourself to improving the depth and breadth of your knowledge. That's a good idea in any industry, but especially in software. And that's why I don't see coasting as a viable option.
But people's situations and preferences vary, of course. Coasting can make more or less sense, depending on context.