What Happens to Older Developers?
christfollower.me
christfollower.me
I've created a Linux distro of my own. Original and not a fork.
See articles on website. Geared towards CLI engineers.
Patched and built about 1,800 packages myself. Supported
and customized standard distros as well.
Double Bachelors in Math and Computer Science from U.C. Berkeley.
High Honors and Honors. Worked with Open Source
since the 1980s. Led small teams in startup and similar environments.
Considered to be good at writing and analysis of problems.
Experience includes: Agile, Assembly, Back-End, BSD, C, CSS, Debian,
FOSS, GIMP, HTTP, Java, Linux, Mathematics, Mint,
MySQL, Octave (similar to Matlab), Open Source, Parser, Perl, PHP5,
Python, Recruiting, Regex, Shell, SQLite3, Support,
TCP/IP, Ubuntu, UNIX, Tcl/Tk, Teaching, Training, Transcoding,
VPS, Writing, XML, XSLT
What is wrong with Silicon Valley today that a person like him can't get a reliable job, and therefore is unable to live with medical healthcare, a reasonable place of residence, etc.?edit: on the bright side, now that this post is on HN frontpage, I hope someone seeks this guy out and gives him a job. From what I can grasp, the quality of his code is pretty damn good.
I'd expand my options, both tech and non-tech, if I took the right courses and obtained certifications. I'm seriously considering doing something like this.
For example, the person who did my LiveScan recently (it was a background check for a tutoring job) teaches an EKG Technician class and said that it might work out for me.
A police detective who I phoned by mistake one night told me that I should consider getting a Digital Forensics certificate. He seemed to feel that I might be a match for that. Note: The story of the call is on the same weblog as tonight's post.
The medical care issue may be looking up. I had to go to the Emergency Room the other day. Didn't wish to, but no choice. I learned that the laws changed in January and that I might qualify for assistance after 10 years without care.
I've been mistaken for an attorney repeatedly over the past few decades. At least twice, people have thought that I was a government official of some type.
If the confidence isn't there, I do poorly. And I haven't felt confident in interviews because of the types of questions that you're referring to.
I don't memorize data structures and algorithms. I start with projects and learn what's needed in each case.
Coding tests are another problem for me. If you review my GitHub repos or technical site (oldcoder.org) you'll see that my code is reasonably good. But it involves flow. If I drop into flow, I can do anything. But it's difficult to reach that state while somebody is waiting.
I understand, of course, that companies have their processes, and that I need to be the one to adapt as opposed to the other way around.
Funny thing is, I've enjoyed doing things like Project Euler just for fun, and I can usually work out an algorithm given a little time and the ability to work on my own in an environment I'm comfortable in.
But put me in front of a white board, or phone interview, with one or more impatient interviewers in front of me? I'm toast. Many of these interviewers were studying these algorithms in depth in school only 4 or 5 years ago.
Anyway, I've resigned myself to the fact that I have to earn my own living by freelancing and side projects. I'm doing OK with that, and I hope that an upcoming side project will provide even more financial stability.
Have you considered starting your own company? These days, you don't need much.
Also a good resume builder, shows you have still been coding since your last job in 2009.
What's the difference?
In the latter case, what they call algorithms usually tend to be similar to the kind of "brain twister" problems that Microsoft was famous for.
In the former case (academics), data structures include things like stacks, queues, deques, linked lists, and on to graphs and trees. Whereas algorithms are specific procedures carried out with data structures, like sorting and searching, and dynamic algorithms. And then on to much harder stuff, like FFT.
My point is simply that I feel comfortable creating stacks, queues, linked lists, graphs, trees, etc., whereas when someone asked an open-ended algorithmic question to be solved on the white board or phone, I struggle under the pressure and gazing eyes of multiple interviewers to solve these problems (whereas I do fine in my own environment with only the pressure of finishing a job).
> My point is simply that I feel comfortable creating stacks, queues, linked lists, graphs, trees, etc., whereas when someone asked an open-ended algorithmic question to be solved on the white board or phone, I struggle under the pressure and gazing eyes of multiple interviewers to solve these problems (whereas I do fine in my own environment with only the pressure of finishing a job).
I actually do way better in the interview than when I just have to convince the computer (or myself). Enough confidence often persuades interviewers to accept handwaving.
That advantage is unfair, and makes the interview less predictable of success on the job; but I won't complain. For you, I can only recommend practice, or looking for companies with different hiring procedures.
From the post it doesn't sound like he's picky.
Apart from the stereotype of the jaded guy that has seen too much shit, there is the power balance between a youngish manager and a very experienced programmer. Sometimes the programmer will see a flurry of incoming problems very soon and flood the manager with them, and the latter won't know how to deal with this kind of situation. He'll be relying a lot on the more experienced person, but the power balance is reversed and the responsibilities as well, and it takes a lot of tippy-toeing and ego swallowing to sail smoothly. It's tricky on both sides, and company would prefer to avoid that kind of situation.
In my early 30's I had the the privilege of being able to recruit 50+ developers onto two separate teams at a startup. These were people who's experience vastly outweighed my own. I was still responsible for guiding my teams to meet the business needs, but what I learned from these people literally changed my life.
It was a really nice experience, but more an exception than the rule. I never got to work in another place where people wouldn't focus on the titles as a hierarchy thing, but just as different roles in a projet.
Keeping up with the market is a big thing though; as someone who was in the dotcom boom and who did backends at the time, I only noticed that everything changed years 'too late'. It wasn't really too late, but my eye wasn't on the ball for sure as I had a cushy position anyway I didn't need to, but when I sold my stock and went looking for the next interesting thing to do I noticed that the world changed significantly.
What I would add is to focus on your health. I don't know what problems you have but if you can work on the diet, work on the fitness, get on some kind of weight training program. The better you feel, the more energy you have will make you more effective everywhere else.
I've been to the Emergency Room twice since Sunday. And I had a fever of 102 degrees just a few hours ago. But I'm feeling O.K. and I'm scheduled to go back in a few hours to nail down what's happening physically.
Due to recent changes in U.S. laws, I might be able to qualify for medical care now. If it works out, this will be a big help.
I'm purposefully making a distinction between "a random set of contacts" and a more targeted group of people who you have worked with, know your strengths, and want to work with you again.
I expect to get up to speed more on native apps and/or web apps. So I've got a shot at this side.
I've done basic webdev. I might be able to make a go of small sites. But I don't know much about building a client base. Note: I've held onto an octocore server with 32GB RAM, so I could probably combine webdev and hosting.
You don't give resumes like this, you tailor your pitch to the company which is hiring.
If you are applying to a PHP job, then remove all the fluff and tell the employer that you are a PHP developer. Generalists dont' get hired, then don't be a generalist. Touching up your PHP skills should take a couple of weeks. ;)
IMO this is stupid, self-destructive for companies and likely the result of cargo cult management.
My "generalist" palette is exactly what got me hired at each one of my previous jobs. I learned programming as a hobby long before going to university, and I got a degree in Instrumentation Engineering with what essentially amounts to a minor in Power Electronics. During the last two of my undergrad years I worked in a research team at my university and did a fairly good job (papers and all) in a third field, computational electromagnetism, mainly with applications in microelectronics.
This means, on one hand, that I can be very helpful to anyone in my team. I can help those of my colleagues who lean more towards software than hardware troubleshoot their instruments and development boards, and I can serve as a buffer between the hardware designers and the programmers. I can make good trade-offs between circuit-level design and high-level programming abstractions and I can design applications for low-power operation instead of writing something and tweaking it until it has decent battery life.
What this also means, though, is that people in management are ecstatic about how they can give me pretty much anything to work on, and I'll munch it, or stick me in the same room with people who think JS is the best thing and people who think computers are evil and still understand what each of them says. This enthusiasm comes from precisely the same people who whine about candidates who are "miles wide, inches deep", and I know of at least one instance when the lead developer who interviewed me had to kick and scream to get me hired because my CV painted me "undecided" and "not having a good career discipline". It's even more ironic considering that the people who whine about it are typically millimeters wide and deep.
I often hear this kind of discussion in the middle management circles. Our people are way too specialized and it makes communication and collaboration difficult; we could use people with a more diverse range of skills; we depend too much on one or two people doing this thing, but they're the only ones in the team who can do it. This is especially problematic in teams of people who have been in the company since they were juniors. Well no shit it is, since they just spent four out of the six years of their careers doing precisely the same thing.
And no, "side projects" are not a good solution to this, and I've walked out of interviews because of HR folks strongly implying that my side projects are for learning skills the company needs. Fuck off. Thinking and learning aren't free. You want it, you pay me.
I've walked out of interviews because of HR folks strongly implying that my side projects are for learning skills the company needs.
Could you explain what you mean here a little more? Did a company, at the interview phase, tell you they wanted you to work on side projects for free?
What they told me is that it's a good thing that I am familiar with so many technologies, since that probably indicates that I spend a lot of my own time perfecting my skills. Which is actually true. But then they began to rant about how that's a good thing because this is a competitive field and it's really hard to keep up with all the new technologies popping up, so I might have to put up some of my own time to learn the technologies we'll use.
I actually raised an eyebrow and said that no, I'm not willing to do that. This opened up a discussion about dedication and loving one's job beyond the matters of workhours and payment, which are true signs of a professional programmer, at which point I really just told them I'm not interested in their offer anymore and left.
At that point, I'd have left even if they'd have sworn I wouldn't have to do that and that they were just checking. It's really impolite. I don't presumptuously boast about how I know what really makes the difference between a professional medic and one who just has a license to practice. It's also manipulative in a really poor way, implying that if you don't do all that stuff, you're "just" a programmer, rather than a "professional" programmer. Yeah, no shit I'm a "professional programmer" -- I don't have kids, I live close to work, my girlfriend works from home so her schedule is more flexible than mine, everyone in my family is in good health and back in college I fucked up my sleep schedule so hard that the occasional all-nighter doesn't do much damage anymore. But I'm exactly as professional as the dude who comes in at 9 and leaves at 5 because his kids want their father, not his toys.
Companies use barely-functional pattern matching algorithms to automatically toss your resume into the garbage. It is very likely that any effort you spend hand-tailoring your self-advertisement will be wasted anyway. But let's assume that you're doing it to pass the bozo filter and talk to a real person.
If you have to feign specialization to get past the auto-rejector, it is safe to assume that the company sees fewer qualified candidates. Supply is lower. As long as the posting remains open, demand remains the same. Therefore, the more specialized the role, the higher your expected remuneration should be. It's fine that companies are picky, but not both picky and cheap.
My advice is to use a general, unmodified resume for all your initial applications, and only to tailor your resume if the company does not respond in person after the first 2 weeks. If that generates a response, remember to ask for a higher salary if you reach the negotiation phase.
Of course this, like most other advice, should be taken with skepticism, because it is based on my experiences, not yours.
Honestly, I don't spend much time customizing a resume, because I already have a job, even if I don't like it, and a lot of the postings that I see are just as flavorless and uninspired as an untailored resume. My primary criteria for applying are whether the job itself seems like it could be interesting after you subtract the HR boilerplate and whether the company makes it easy for people to submit themselves for consideration.
If applying is as easy as writing an e-mail with a resume attachment, I will take the time to write an original cover letter. If I have to jump through 8 pages of hoops where I have to re-enter my entire resume into a series of tiny text boxes, I will not customize anything. And on the 8th page, where I am asked to list 3 of my weaknesses in an HTML form, just above a request for my entire salary history, I will almost invariably list "I get snarky when confronted by foolish or wasteful hiring practices." At that point, I have already invested that much time on an application that I know will not yield fruit, so I can't help but feel bitter about the utter waste of it.
Software developer since the 1970s.
First of all, any development experience from the 70s is at best meaningless and at worst detrimental. Try teaching a Cobol programmer OOP and you'll find that they learn it slower than someone without that procedural coding experience. Second of all, the first line of your resume should not be to announce what protected class(es) you are in. Your resume shouldn't have "senior citizen" on it anymore than it should have your race, creed, religion or any other irrelevant facts on it.
Linux work started with the first kernel releases and continued through Slackware
So what? I used Slackware extensively in 1996 but the experience is meaningless. If I had that on my resume now it would tell anyone reading it that I'm probably resting on my laurels and probably have for decades.
Experience includes: Agile, Assembly, Back-End, BSD, C, CSS, Debian, FOSS, GIMP, HTTP, Java, Linux, Mathematics, Mint, MySQL, Octave (similar to Matlab), Open Source, Parser, Perl, PHP5, Python, Recruiting, Regex, Shell, SQLite3, Support, TCP/IP, Ubuntu, UNIX, Tcl/Tk, Teaching, Training, Transcoding, VPS, Writing, XML, XSLT
I've seen dozens of resumes that list dozens of technologies like this. Not even so much as a bold font weight to say the things they are masters of as opposed to "experience with". Early in my management career I hired a developer that had TCP/IP programming listed as a skill on her resume. After hiring her, I gave her the IP address of the server to do some TCP/IP programming. She asked, "What is IP address?"
As someone who is in their 40s, my advice to to someone without a job later in life is to drop all the extraneous things and focus on what you've done lately. Lose the moniker "old coder". Lose any technologies older than a decade from your resume. Lose any references to "35 years of experience with...". Take off your hobbies. Take off your reasons for leaving your past employment. There are too many other fixes needed to go into.
Hints: make it simple, objective, no complex sentence structures, just information to the job and assignment. Use nice fonts and do not clutter the information, structure it with max 2 headings.
A resume is about the person presenting him/herself, isn't it?
This is why it's important for hiring companies to have an open mind, for both their sake and the candidate's. Yes, a resume should be well-written, to the point, and free of errors, but realizing that everyone has their own idiosyncrasies will go a long way.
Breaking conventions in your résumé can elicit positive reactions, or catch someone's attention. But it will often elicit such a strong negative reaction that your reader even look at the content. This thread alone contains examples of this.
For instance, saying "I" in the resume is breaking a convention. Nobody will reject you for not writing "I". But some will reject you for being cocky or narcissistic, or whatever. Same for your recommendation citation. It is not expected in the résumé, it is expected in a separate reference. (Edit: that last one may be an obviously good surprise, though.)
Try making a boring, conventional résumé. It should give you a second point of reference, and may help you out of a local maximum.
This particular resume is based on a template that people in a channel liked. I've received a number of compliments IRL regarding both the layout and the content.
The only thing that people IRL seem to agree should go is the part about reasons for leaving.
The resume does need a new release. For example, I should start to fill in the years after 2009. But it isn't the resume that's the primary issue here. It's the fact that the market has shifted away from generalists, combined with mistakes that I've made.
At the same time, it does highlight my skills at the top of each area of experience, so some developers reading my resume may skim over the narrative part, focusing on the listed skills. So it works for them too.
It's also quite honest in a few areas that may turn off some people, but to me, it turns off the right people (those I don't want to work for).
[1] Check it out in my profile if you're interested.
And what are those mistakes you keep alluding to?
My 'C' experience dates back to 1976 and is probably still relevant. FWIW I never did much COBOL though my firm did have a COBOL-Lint.
I don't think that your 20 years of Linux experience, or mine, is "meaningless". Not if the experience has been continuous. And, in my case, I've not only used Linux almost daily since before Slackware existed, I've developed my own distro, I maintain copies of nearly 2,000 packages, and many of my copies have patches of my own design.
Regarding the "masters of" issue, I may not have made the "generalist" point in the post clear enough. I'm only a "master of" a few things. But I'm very good at getting back up to speed on the things that I've had "experience with".
This is what a generalist does.
I agree with the "Take off your reasons" point. I'm going to keep most of the rest. The difficulties that I'm facing are partly due to my own foolish mistakes. But they aren't about the fact that I've listed hobbies on my resume or that I have a nick that implies age.
I'm not going to pretend to be a twenty-something specialist. It isn't what I am. I'm a highly experienced generalist. In this context, the decades that you feel that I ought to hide are relevant.
I'm only now learning the ropes as far as some things go. I haven't sought out firms of that type yet and advice would be appreciated.
Highlight the things you are actually very good at, put the rest as experience. It looks like you've written a lot of Perl, so you're highlight that. Highlight Linux package management. Despite what you think, these are specializations.
You're also correct about the fact that I do have a few specialties, including Linux and Perl. I'm pretty good at a number of languages, but Perl has been a favorite for 20 years.
Perl is friendly and fierce Perl all problems shall pierce Perl is the duct tape That holds together all things Of Perl we sings
Perl is all things beautiful and bright Perl is a magical sight Perl each day and each night
:P
For devs, it's important to have a github or similar because that's your real tech resume.
Btw I use Perl 7 (Ruby)
While some companies want generalists, this isn't tailored for that either. You indicate projects you've been on, but not what your specific responsibilities were. Describing the project's language, DB, and how the project is pipelined is not useful. What did -you- do? What experience do -you- now have that could translate to other projects? "Core was a Perl server that collected binary data from upstream devices, stored data using SQL, and relayed it to clients as XML over HTTP." tells me about the project, but not what -you- did, not what experiences -you- now have. Even better if you can highlight keywords for me. The whole 'typical projects' section is kind of a waste; it's project names that have no meaning to me, or which may, but tell me nothing about what technology you know. 'Email client programs'; does that mean you have familiarity with the various email protocols? TCP/IP? GUI development? Nothing anywhere else tells me what it is you know.
Most companies want to fill a niche. Highlight what niche you can fill (yes, preferably tailored for the company), and make that -obvious- in your resume.
In general, take this approach - assume a recruiter, HR person, etc, will spend 3 seconds looking at your resume before deciding whether to bin it, or continue reading it. They are looking to match a certain set of relevant keywords/terms. What message do you want to send to someone in three seconds/what words/terms do you want to be matched against? That should be what I as a reader get from the first sentence, the first item in your experience, and the first item in your skills.
The message you're currently sending is "Old coder, part of a large team that did...some stuff that isn't spelled out clearly, and generalist with a whole lot of bullet points". Not interested. But tell me "Perl, C, and Linux expert, extensive application development experience, double CS/Math major", and suddenly if I have a Perl or C codebase I'm interested. Right now I have to do too much reading and thinking to get that information out, and no recruiter will do that.
Also, in general, you are correct that there is a bias against age. You're making it so the first thing I notice is your age. Make it so the first thing I notice is your experience; make it clear that you fill the niche I have, that you may well be the ideal candidate for my needs, BEFORE I notice your age.
You're essentially saying that companies use checkbox filters to sift through applicants looking for specialists. Exactly what I was trying to say myself.
The solution that you propose is to create a targeted resume.
But I've worked on hundreds of projects. Many of which used technologies that are no longer relevant Is it possible for me to produce a tailored resume based on perhaps one project from 20 years ago that matches a specific niche?
It doesn't seem likely. So most firms are going to be out of reach. I'll need to acquire more specialties. Or identify firms that are interested in generalists.
When a developer starts out its easy to find and beat a tribal drum of specializing in a few things.
This is often due to only having one or two cycles of learning and experiencing "a few years specializing in x". Add to the mix the veiled glorification of the twenties as a magical time to go hard (where ultimately everyone goes home), it can become an incredibly distracting echo chamber that one has arrived.
Something happens every few years though on the path of being a specialist, you get deep enough into one skill that it overlaps into another skill. The specific few skills collected in the first few years, become a specific 5-10 with equal depth.
Take someone who has developed 15 to 40 years and imagine how many cycles of learning they have been through to implement similar algorithms in multiple syntaxes.
That's someone I want to learn from when I shape my aporoaches, instead of having to feed my own snowflake quotient to relearn the same lessons before me.
As a polyglot, I've been programing for 20 years and am only in my mid-30's. Most developers will end up the same. way I've ended up with enough web, desktop and mobile development, along with the hardware and networking experience that building these solutions once required in addition to programming alone. It's full stack across hardware and software and networking, not the full-stack of frontend and backend dev that specialists espouse as full stack. I sure as hell didn't plan on this path, maybe it's the path of a lifelong problem solver.
One thing that some twenty something specialists may not yet have noticed is that programming is a separate skill from the syntax of any given language. The experience of figuring out how to do what you already know in a new syntax. It seems there can be more fascination in recreating libraries that have existed for decades, but not what the next leap is.
There's a fundamental mistake most recruiters are making too. They aren't qualified or trained to hire for technical positions. In the hiring I do and references I give, recruiters are generally clueless without their checklist. Programming isn't a skill like knowing how to drive a forklift. It's much deeper, and with the correct type of polyglot developer much more transferable between languages.
I'm inclined to work with an experienced generalist more often than not because I prefer to work with others who not only keep up, but help lead the strategic charge. Depending on the problem, younger specialists often go through relearning what experience has already taught. Both skillsets are valuable and necessary on any team, but I have my preference.
My advice, is to consider focus on a highly fluid and evolving area of technology that is in high demand, pays well, and you can effortlessly pick up. It's where you're talents shine. One area is mobile development. Build some projects and spin current skills into the next area. It will better highlight your ability to integrate everything from top to bottom.
I admire and am in respect of your experience and journey through creating so many solutions. If there's an interest to connect offline I'd love to learn more about your story to see if I may be able to help and if I may be able to learn more from your experience.
Will anyone who is half good at what they do will end up in any different situation than this in 20 years? Our creators need to keep creating. Maybe there is an evolution and growth needed in our field for the highly experienced.
What I do have is a relevant resume, both buzzword compliant and impressive to humans who actually know their ass from a hole in the ground. It's carefully honed not to present me as a "generalist" (or some other self-perception), but to get me to the top of that pile for interviews.
Look at your resume as a piece of software. No matter how aesthetically pleasing and warmfuzzy your resume feels to you, if it isn't working, then it's buggy and needs fixed.
For example, with my current position one of the reasons I got the job was that I claimed to be an expert with C++. Before jumping into this role it had been 5+ years since I had done any real work in C++. Shortly after joining I was asked to assist on a project written primarily in C++. Any time you join a new project there is some onboarding to learn how things are done in that project. I was able to get back to speed with the language and ecosystem within the period expected for onboarding. I was complimented on my expertise of C++.
I believe I am a seasoned software developer who has attained a fairly high level of mastery in the core skills required to build highly-complex software systems. Yet if I were to compare myself to some of my coworkers in the past I would be hesitant to call myself an expert on a particular subject like embedded programming (for example). However I claim to have this expertise on my resume as I have done quite a bit of embedded work in the past and I am familiar enough with that type of development to ramp up quickly again.
So even though I perceive myself as a generalist, many times my resume looks like that of a specialist. I am comfortable making these claims because I know I can deliver on them. You have to separate your self-evaluation (in which I tend to take a humble view of my abilities: that which I do not know vastly outweighs that which I do) from your self-presentation (in which I will make the boldest claim I believe I can support). Long years of experience are extremely relevant, but you have to connect the dots on your resume, you can't rely on the recruiter or hiring manager to see the intrinsic benefit of your experience.
Think about it this way: would you rather have a fresh out of school or a veteran mechanic work on your car?
30 years ago I was coding in BASIC and 6502 Assembly on my Commodore 64. That's also around the time I got my first modem - a Mitey Mo 300 bps modem on my Commodore 64. It was before the Hayes Compatible days of modems so you had to POKE and PEEK registers to control it or get data from it.
To answer your question, that experience is totally irrelevant. Drop the me of 30 years ago into the technology environment of today and I would be completely lost.
I've been in IT professionally since I was 17 years old. The hardest lesson I had to learn was to let go of the past. Almost every major mistake I've made in my career was caused by me wanting to stay in the comfort zone of already known technologies. My years of installing Novell Netware 2.15 off 360k floppies just aren't relevant to the MVC web coding I do today. I was a Certified Netware Engineer (CNE) in 1990. It was the hottest technical certification on the planet back then. Should I put that on my resume today? Of course not, it's totally irrelevant.
The years I spent with Borland Turbo-C, Borland C++, Turbo-PASCAL, etc. just aren't relevant either. In fact, my opinion is that knowing those languages made it harder to learn newer languages. One could argue that listing 100 languages shows the skill to learn new languages but nothing shows that better than being an expert at a modern language. There's no better thing for an old coder than to really master a modern language and framework and to present that succinctly on their resume.
Think about it this way: would you rather have a fresh out of school or a veteran mechanic work on your car?
This is actually a good analogy, but says the opposite of what you think it does. If I had an old out of date car, I'd want the veteran mechanic to work on it. If I had a modern car run by computer chips, I'd want the guy fresh out of school.
Later I got into Linux and FreeBSD. While I have never worked with any BSD professionally (other than OS X, but that doesn't count), I do think that knowing how FreeBSD works makes me a better Linux user/admin/developer. Certain ideas (kqueue, core system vs packages, etc.) are good concepts to keep in mind when developing for a platform that does not have them.
I also learned Turbo-PASCAL and used Delphi for a spell. While not directly relevant, they did have quite an influence on today's languages and development environments. NetBeans which I did use professionally for a bit was a far cry form Deplhi but knowing both made NetBeans easier to use.
But all that aside, the point of having years of experience is not about enhancing your current knowledge. It's about enhancing the process of acquiring knowledge, organizing it, and using it. Someone that knows JavaScript is going to get coded under the table by someone who knows JavaScript, C, Haskell, Erlang, Lisp, Python, etc. In fact I would wager that someone who knew C, Haskell, Erlang, Lisp, and Python but not JavaScript would in the long run beat out a JavaScript expert simply because the penalty to learn a new paradigm is much smaller than perceived, while the benefit of being able to think in a multi-paradigm fashion is a huge benefit.
Finally, the mechanic thing: I am comparing a veteran mechanic, with say 20 years experience, including current experience with latest cars vs a mechanic with 1 year experience with just modern cars. I listen to CarTalk, the NPR program, and they had a few very interesting stories on there. For example, there was a woman who called and said that whenever she turned on the fans in her car it smelled like gasoline and it very often happened after she got her car worked on at the dealership. The suggested reason was that when the mechanic worked on it, he put dirty parts on the cowl of the car where the air intake is and some gasoline and oil dripped into it. This is something experience teaches you and it has nothing to do with the modern chips.
The deep and abiding irony of your post is that MVC was invented in the 1970's for Smalltalk.
> One could argue that listing 100 languages shows the skill to learn new languages but nothing shows that better than being an expert at a modern language.
Unless by "modern language" you mean Idris or Agda or the like, you're barking up the wrong tree.
> This is actually a good analogy, but says the opposite of what you think it does. If I had an old out of date car, I'd want the veteran mechanic to work on it. If I had a modern car run by computer chips, I'd want the guy fresh out of school.
The more appropriate analogy in reference to Ruby/Python/JS/etc is that you bring a 1980's Chevette into the shop on top of which you've glued the sheetmetal from a late-model Aveo.
I think it's important to show both breadth and depth, and to be up front about how much you have of each. I don't list every language I've ever touched, but those I've used at least recently enough to be able to brush up on quickly I group into three categories ("fluent", "conversant", "familiar").
Drop me of 25 years ago into today's coding environment, everything is just a lot easier. Java is intentionally designed to be as close to C syntax as possible, but much easier to get right (garbage collection!). For a class project, we implemented an object system in Scheme, so I understood OO concepts, again much easier today when it's already baked into a language. Ruby, Python and Javascript don't have much beyond what was in Scheme and CL back then in terms of concepts, just maps the same concepts to an Algol syntax. Prolog concepts show up in various languages from time to time (pattern matching in functional languages seems to match the part of my brain I remember using when writing Prolog).
Source code management, IDEs, continuous integration, all things that just make a developer's life easier than back then.
So, no, frankly, I honestly don't think the me of 25 years ago would have much trouble getting up to speed and being productive writing code today. What the me of today offers over the me of 25 years ago is skills for thinking about big picture design and architecture, building software as part of a team, understanding requirements, estimation and planning. The technology part, though, certainly isn't harder to understand today than it was back then.
Actually, my experience with Turbo Pascal helped a great deal when I moved on to Java. And I still believe that Turbo Pascal, in particular, would have been a tremendous help if I opted to pick up C#, because one of the leads of TP is one of the designers of C#.
If a developer has source code/projects available, why only look at his resume? Look at what he's DONE, and take your judgment from there.
Have you any evidence to back this up, as it sound like rubbish to me. I learned Java as my first language, and basically used it as a procedural language, until the OOP parts started to make sense. I don't see how knowing COBOL will make you slower at learning an OOP language.
what a lot of employers don't want to do is to pay somebody to learn on the job. It sucks, because such an employer is a good one, but to people who don't care, and is in need of a job getting done, they just see it as extra cost and lost productivity. Why hire somebody smart who can learn fast (and thus can adapt to new roles as they come), when you can pay someone with the _exact_ experience at solving your current problem!
In my past maintenance programming jobs, I would say it took 6 months to get up to speed. I would put less than two months of that down to new languages. Most of it is getting to know the code that is already written (and usually poorly documented) and some of it is gaining domain knowledge.
"but the experience is meaningless"
Taking that approach, almost all experiences are 'meaningless' in the context of "i need someone to do these exact steps XYZ". But, as someone who was programming (hobby) in the 80s, I think there's some value here (and of course I don't think it's purely defensive and me-focused, but maybe it is).
You mentioned elsewhere "Drop the me of 30 years ago into the technology environment of today and I would be completely lost." Perhaps, but many people today are completely lost too. The "you" of 30 years ago had characteristics - curiosity, problem-solving, etc - that informed the experiences. Over time, perseverance was demonstrated with an accumulation of related experiences.
The specific experiences of programming in 1985 are not relevant to most problems of today, but a demonstrated history of successful logical thinking applied to a variety of computers/data/projects is not irrelevant nor meaningless.
EDIT: Rereading the second half of your post, I agree with you on the second half - drop hobbies, drop older tech references, etc - lose the extraneous stuff in general from general purpose resumes. Lose date references in general, I think (graduation dates, etc). Focus on things that are relevant to modern work practices/tools.
Perhaps you were meaning all that older stuff is meaningless in terms of a resume? I agree. It's the sort of stuff that might come out in an interview or two, depending on who you're talking with. Telling a 24 year old about doing C64 assembly programming does no good, and wastes time - that is essentially meaningless in terms of general tech job hunting. There are rooms for these nuggets, but you need to be selective.
As I said in that other comment, I see the basis of your argument. Having learned many languages over a 30 year time frame shows you probably are a hard worker that keeps their skills up to date.
You know what shows that with almost no doubt though? When you submit a resume to an employer in 2014 and you show a mastery of commonly used 2014 technologies. That literally is the only thing that matters to most employers.
So yeah, if one (not speaking of OP) does not have experience with modern languages or frameworks for whatever reason, you can make an argument that your previous experience might hint that you possess desirable traits. But unless you're looking for maintenance job on some old Cobol or C code, there's nothing betting than keeping your skills up to date continuously which proves you have those desirable traits.
But your bigger point - yes - have modern skills, and being able to show those with relatively current tech is the best way to go. Personally, I'd take someone who is older but within a few years of current tech vs less experiences with only modern tech. 8 years of Java and Ruby with experience up to Rails 3 vs 1 year of Rails 4 only? Should be a no brainer for most situations, unless the job is "writing Rails 4 tutorials" ;)
There's a huge spectrum of middle ground there, and good companies/recruiters should be able to divine that. ("should" being the operative word).
a) The bit where some recruiter is looking through CV's. b) The bit when you talk to the gaffer.
I agree with the 'drop everything off a cv' line. Most recruiters have at best a basic understanding of IT buzzwords and next to no IQ. Keep it simple, sell yourself as the answer to the problem and save the interesting chat about what you did in 1987 for more important people.
You have dBase II experience? Not relevant.
You have experience building database-backed interactive applications in resource-constrained environments? Could be quite relevant, with the rise of mobile.
So: go through the list of products and cull the old ones, but as you do so, ask yourself what you learned from using each.
And in that process lose any traits that might command a premium? Do senior developers not deserve to be compensated according to their experience?
"Hmm, this Brian Kernighan fellow is going in the reject pile, since he worked with this 'UNIX' and this 'C' in the 1970's, and clearly his experience is at best meaningless and at worst detrimental. And this Vint Cerf character... we don't want to hire someone who didn't grow up using the internet!"
This sort of thinking is toxic to the industry, and prevents software development from becoming a proper engineering field. It prevents the development of institutional knowledge and stagnates forward progress. It's why the industry keeps rehashing the same memes in new fashions. It's why everyone thinks the latest JS shit is cutting edge, when it's just a warmed over re-skinning of fundamentally 1980's technology: http://en.wikipedia.org/wiki/Self_%28programming_language%29.
We have 4th generation languages today that are really just front-ends to c; created to make it easier for the masses to write code. Which is a good thing, cause I'm 50, and I remember the days working in the cold, dark basement walled off from the rest of the company.
I find it funny listening to the "youngsters" talking about the great new thing of today; be it agile, the cloud, or whatever. But I remember I was saying the same type of bs when I was 25.
Over-engineered, massive codebases: job security.
so, experience will get you so far.
Help your candidates do the best they can. Don't set them up to fail at a task they weren't expecting.
And that sets off all kinds of alarm bells, be it on a resume or on a job description.
If I get a resume like that, I'm assuming the applicant doesn't really want to work with us, they just want any job, and other than a paycheck they don't give a fuck about what we're offering.
And taking 2 minutes to actually look up the references is obviously too much work for a very hard working and responsible HR specialist.
It's triage. If you're in the stack, make sure you obviously belong in the next, smaller, stack. Repeat until you get an interview.
If you want to learn more about this topic, begin reading about statistics - especially type I errors and type II errors, since this is the mathematical formulation of the topic I was talking about in the previous paragraph.
I applied for a position at a company a year ago and was a great fit (both from my perspective and a company rep) but my salary expectation was higher than their budget. That position remained open on their website until about a week ago. What happened a week ago? They sent an email to my almamater highlighting the position and included their current salary range. Guess what - the salary I was asking for last year fell smack in the middle of that range and they were inundated with applications!
edit: silly typos!
This specific point is very important. Design your resume to save time for the recruiter. The recruiter has hundreds of resumes to parse. If you make the case you are a great match for the job opening in the first paragraph your chances of being noticed increase enormously. You are not telling who you are - you are selling a solution to a specific problem.
> If you are applying to a PHP job
There is little point in mentioning you wrote key parts of MVS/370 because the recruiter will have no idea what it is. If the company uses Ruby on Rails a demonstration of your expertise with JBOSS will be (correctly) treated as noise.
I think knowing C makes me a better Python programmer, but unless the job asks for it, I wouldn't mention it before the first technical interview with someone who agrees knowing C makes someone a better programmer.
Tip: using a spreadsheet to keep CV parts saves a ton of time.
Tip 2: find out who the recruiter is. If you can understand more about the person and his/her expectations and background, you may fine tune your CV even more perfectly.
Since you don't know which one, the letter or the CV, will be read first, you should optimize both.
I wrote an article a few weeks ago on the same topic which is relevant (http://lifehacker.com/tips-from-a-recruiter-dont-make-me-rea...)
Why do some companies not accept cover letters? For one, nobody wants to read them. Keep in mind, nobody wants to read cover letters OR resumes. They want to have a conversation, and they want to be able to determine as quickly and accurately as possible whether or not that conversation is worth having. This can be quite prone to bias.
Most cover letters simply reiterate what the resume says, but in a condensed format, along with some fluff about how hard they work and how strong their soft skills are. It's usually fairly pointless, and some companies ask for them as a bit of a test of your interest. Companies that don't ask for them likely don't feel they are useful, and would rather have their recruiters looking at resumes (and hopefully actually having conversations) than reading traditional formatted letters.
I usually keep it all in one LaTeX file, and abuse that as my macro processor (to include / exclude sections). Text files work well with version control.
So I'd tell him to lie to get that PHP job. It sucks for lots of reasons, but so many employers in the PHP space all have their heads up their garbage collectors.
1. a new graduate, in which case we need to be having a different sort of conversation than with an experienced hire, or;
2. a graybeard who hasn't looked for a while and doesn't realize how many more layers there are now between his initial resume and the hiring manager.
In the former case, the resume is going to be useless and I'd really rather there were a common format specifically for someone with very little work experience. And no, a transcript isn't useful, either, although it has strengths that a standard resume format doesn't.
In the latter case, these guys (and at 42, this is my cohort now) need to learn about the volume of incoming data, and how useless for decision purposes a 30 year large pile of acronyms is.
To nitpick one example, I've always felt that after your first job you should drastically cut down the importance of your degree on your resume. As far as I'm concerned your degree/major/whatever is a poor indicator of the kind of developer you're going to be, to be used only as a last resort when you are young and haven't had the chance to demonstrate yourself in the workforce. After that, your previous job titles/accomplishments are way more telling.
This guy is in his 50s and he's still got individual line items for honors and high honors. I don't care. I don't even know what that means back when he got his degree. He points out he has a double major. Then tells me his majors individually. Then tells me how he did in each major separately. This after the fact that he's already told me all this in his overview. This reads like a recent grad's section (look at me, I graduated!!!!). I half expected him to list projects he did in school (hell, maybe some of those projects at the bottom WERE school projects -- that's the mindset I'm put in by the schooling section).
Then he tells me his hobbies. This isn't as bad as telling me he likes to ride his bike or something, but "working on a couple of books" sounds so "I've been working on that big idea in my spare time for 10 years..." It conveys zero useful information to me. Clearly he has no finished books (because then he would have listed them, but somehow he is working on more than one at once). The ONLY thing interesting to me here is "Open Source projects". But thats lost in a bunch of stuff I don't care about. This should be ONE LINE which has specific github projects where I can go check out what he's done.
"MS-DOS, Win 3.1 through 7" Ugh. Unless your goal is to maintain old systems or something this just seems ridiculous.
Then you've got gems like "Voting Software; 50% of U.S. market" LOST in the stockpile of buzz words. Something like that should be a bullet point under the employer you did it under in the top section.
People go through hundreds of these things. This thing is visually exhausting. It doesn't read like a list, its jam-packed with information in different styles: top looks like an essay, then a list of short answers, then "how can I maximize information per square inch" at the bottom. I'm intimidated to read it.
Your overview should MAYBE be 3 sentences. Then immediately drop into the jobs you've had, with bullet points about interesting standout things done in them. Then ONE LINE with your degree to prove you have one, then maybe "skills" or whatever to fill out the bottom. If you've done your job right no one will be reading by then, you'll already have been placed in the "follow up" pile.
"Bug fixes, manuals, mock-ups for investors, ..., IT, web and FTP sites (both servers and content), support calls, sales calls, marketing"
and at that point you are thinking was this really the best use they could make of this guy? IMO even if you did this stuff, just remove it, unless you want to be doing more of it. Make more of the "GUI and Internet layers for old products, design of new products" bit.
Also, maybe because I'm British, I think the tone of some of the stuff is a bit off. I would remove all the "Reason for leaving bits"
And maybe you should make a call as to whether you want to do software development or system administration, and trim or include the "my own distro" bits as appropriate, and put in more about software you have built.
I think you're right about the "Reason for leaving bits"
The "my own distro" part is about more than sysadmin. I'm fairly proud of it and recruiters have sometimes contacted me specifically because of the project.
The "my own distro" part is about more than sysadmin.
I'm fairly proud of it and recruiters have sometimes
contacted me specifically because of the project.
Yeah, I agree that this is really impressive. Everybody's advising you to trim older things off of your resume and perhaps that's good advice but starting/maintaining your own distro seems like something to leave on. One question: why not name the distro on your resume so people can check it out and verify and/or be impressed by it?I would suggest applying for university IT jobs. Their salaries will pale compared to what SV pays, but you will be able to live, the hours are sane, the work environment tends to be decent, the benefits tend to be excellent, and if you are at least moderately competent and ethical you're unlikely to get fired.
LACLIN will be 10 years old, in its current incarnation, on Christmas Eve 2014. I use it for all of my work. But I haven't created a public release yet.
I'd hoped to create a public release this year but I needed to suspend development in 2012 due to unforeseen circumstances. Work will resume if things stabilize.
I don't mean to myopically focus on your distro but since you said you're quite proud of it (and you should be!) ...perhaps mentioning the distro by name on your resume, and also by name on your site, could make it much easier for people to make the leap from your resume to finding out about it on your site.
Best of luck to you!!
But really all that aside. I think hiring managers probably just Google your name and get scared off by the legal drama. I know you can't help that, but there it is.
Take the first item:
I've created a Linux distro of my own. Original and
not a fork. See articles on website.
How did this help anybody? Did it save the company time? Give them a competitive advantage? Did it increase server uptime, increase developer productivity, increase the price of the packaged product? SHOW ME THE MONEY.However, if I tried to add this level of detail to everything on the resume at once, I'd end up with dozens of pages. Remember that I've done hundreds of projects.
In the 1990s, I tried to produce a complete resume. The result was a short novel :P I'm kidding, but it did take me years to get the thing down to a single page.
Applying to a Java shop? Same deal, highlight your Java capabilites and projects. Instead, you are highlighting nothing.
Another issue is that you have been out of work for a long time. I can't find a reference right now, but being out of work reflects poorly on you.
Perhaps you could fill that period in with "Freelancing?"
> However, if I tried to add this level of detail to
> everything on the resume at once, I'd end up with dozens
> of pages...
If we saw a function in a program that was twelve pages long, we'd think there was a problem: The code is trying to do too many things at once.Resumes are a bit trickier because they have several purposes these days:
1. It lets the hiring manager *quickly* scan the resume
to see if it's a good fit for
an *already open* position.
2. It lets the recruiter/HR database index all of
the keywords for future candidate searches.
3. It lets hiring manager use it as a template
for *creating* a job description to give to the
HR manager that they've already selected
the candidate to fill.
Note that (1) and (2) presume that you're applying for a job the traditional, ineffective way. (3) presumes that you've actually had a face-to-face conversation with the hiring manager, have convinced them that you can help out, and left them with a copy of your resume as a courtesy. You definitely want to be doing (3). (There are many, many books and articles on how to tap into the "hidden" job market that will help you with (3).)Maybe this is the difference between applying for an open position, and cold-pitching yourself to a company?
It's always about making money for the company. (Or making your hiring manager's life easier.) Filling a role is just a means to the end of making money.
Age discrimination is a real thing, I have seen it happen, and this resume implies 'probably expensive and not quite up to date'.
It's a little unsettling, because I'm probably not that much younger. It could have been me.
Maybe one of those recruiters can help you prune out a bit of the fluff, and expand on things that are relevant.
Also, since the CV clearly implies you're coming back from retirement, you should probably mention it explicitly and make what you have been doing the past 5 years sound good. I don't know how to do that, but those recruiters probably do.
If you include those, the list would be pretty long.
Anyway, what I wanted to say is not that it's a bad skill set, but that it's a bad CV.
Maybe one of those recruiters can help him polish it
And who claims recruiting as a skill when seeking a coding job?
1. Lack of persistence (hustle) on the candidate's part.
2. May or may not have personality or skills issues.
That's the price to pay for not having an industry anymore and keeping people that took a 90k$ loans employed. Old programmers are a pain: they have knowledge. Sack them all.
Recent specific accomplishments that furthered tech or business plz. What makes you uniquely relevant to the role?
You get noticed by appealing to what your prospective employer is looking for. In this context, everything on your resume either helps get you noticed, or it's a nice-to-have, or it's a negative.
Extraneous technical experience and a great college background are pretty much always nice-to-haves. Recent, relevant experience and accomplishments are generally the real things that get you noticed.
Once you're in the door, you close the deal by demonstrating that you can kick butt on whatever your prospective employer needs to get done, and fit in well with the team while doing so. It's true that different people want different things, but if you can show you're an expert at what your employer needs, and if you are pleasant to be around and work with, your odds of getting an offer go up tremendously.
The OP is right that if you fall off the job ladder, it's much harder. Your first priority should be to get some kind of job doing what you want to do, at the best salary you can negotiate. But, you're negotiating from a position of weakness, and that probably means you won't initially make as much money as you want. I don't have a magic bullet here. You have to get back on the horse, put in your time, build your resume, and from there you have much better prospects in future job negotiations.
Note that all these things are true regardless of your age. No doubt, age is a factor sometimes (just like, say, ethnicity is a factor sometimes). But if you sell yourself right, and if you can really do the work in an awesome way, ultimately that will carry the day, regardless of age.
Too much volume of things is negative in itself, even if all of them would be nice to have by themselves.
Here are the reasons I would circular file this resume
1) Fix your website. Leading (or including at all) the story about your family squabble makes me think you're a nutter.
2) Overview section is useless. I don't care about your Linux distro: I care about how your skills help my company. In the modern world, that means you should talk about the server code you've built, or the clients (web or native) you've developed. If you're truly a generalist, you've done these things.
3) Pare down experience/key points. I don't care if you used DOS or AIX. Only list things that matter now, and only list things you know well. When I see lists this long, I assume you've just written every keyword you can think of. Also, get rid of nontechnical crap. I know you can write, I'm reading something you wrote.
4) No one measures code in pages, which makes me think you have no idea what you're talking about.
5) Give me more information about what you did at more jobs. I don't care about what the product did, I care about what you contributed. For example, the Grumman job has a lot of fluff. I hate fluff. Distill it down to what you really did: "wrote a Perl simulator of the CRM-114 for automated testing" would be much more interesting then the paragraph you've written.
Fix up your resume, and cleanup or hide your web presence, and you'll have a better chance.
You want to tailor a resume like this. Indeed don't mention essentially obsolete things like DOS or AIX unless they help you get the job you're applying for. I don't mention that stuff at all now.
"Reason for leaving" isn't necessary.
I also like to see metrics. "I did X, Y and Z and we got Q fewer support calls" or something like that.
I'd also like to see some evidence of teamwork ("worked with Frobozz group and got Z shipped with important feature F").
DOS and AIX are included to illustrate breadth as opposed to depth. Not because I expect anybody to be impressed by 20-year-old work in these two OSes.
Metrics are an interesting point; I'll need to look further at this.
Regarding teamwork, the resume mentions that I was considered a "mentor". Does this count?
I don't mention that I used to frob PDP-11s, nor DOS, nor anything else. There are hints in my resume that I know that stuff, but I don't explicitly say it.
I think that mentioning dead technology creates a kind of taint. Sucks, but there you go.
I don't feel that I'm in a unique situation where I have worked in groups on projects. The work is divvied up but often multiple people have at least some amount of hands on many things. I feel like there is very little (perhaps nothing) that I can say that I and I alone have done which led to some interesting metric.
Perhaps I'm being overly cautious/team player here? Or do people really mean that they singlehandedly did X, Y and Z to resolve Q? Because to me the latter doesn't sound realistic, at least not at the places where I've worked.
With you, the resume would be a problem. But this might be a good thing.
As I've said elsewhere, I'd be pleased to obtain a junior tech position if it was a good match. But you're looking for specialists, aren't you?
I might be mistaken, but perhaps you're not familiar with how generalists operate. If this is the case, I'd prefer that you proceed to "circular file" my resume. It will save my time as well as yours.
Regarding the points that you've raised:
1) The website you've looked at isn't my professional site. The post went there, but the professional site is located at:
Yes, I know that the professional site is sorely lacking in polish. I'll Twitter Bootstrap it sometime. :P
2) If somebody does not understand what it means to build a Linux distro from scratch, and feels that this is irrelevant to their firm, they are not looking for a generalist. Accordingly, I'm not a match for them and they're not a match for me.
As a side note, yes, over the past two decades, I've written literally hundreds of small servers and clients from scratch, plus a number of large ones.
Should all of the different servers and clients be listed on the resume? If so, would you look through the list, searching for some past project that matched some current need?
Do you understand what a generalist does?
3) I feel that this point is incorrect. You're thinking like a specialist here.
Nobody is going to hire me to work on DOS or AIX. Well, not AIX anyway; there is still some DOS work going on. But it's the range of things that I wish to convey here. Not the specialties.
If somebody such as yourself looks at my resume hoping to find a specialist, and dismisses the parts that illustrate a generalist background, it's best for all concerned, including me. that they toss the resume.
4) No idea what I'm talking about? :-) Heh. I maintain a fork of "sloccount".
First, it's about both code and documentation, not simply code. Or did I forget to note that? Regardless, I had a specific reason for mentioning the page count originally.
However, due to ongoing revisions, it may no longer make sense to include it. You may be correct about this point.
5) This point is confusing. You asked for more details but criticized the details for the Grumman job as "fluff".
The project included a Java GUI, Perl database code, network protocols implemented using multiple languages, a large OO Perl framework, the simulator that you mentioned, and numerous other components.
Which part is "fluff" ?
What I "did" was to design each component from scratch and implement it, except for the ones that I based on FOSS (which I then modified or extended).
Regarding the closing point, "Fix up your resume, and cleanup or hide your web presence, and you'll have a better chance":
It doesn't seem as though you've read much of the original post. You've commented on the resume and on the website where the post appears. You are not fond of either. It is your right to feel this way.
However, these two things are not presently the key issues. Nor were they the subject of the original post.
You don't have to go that far. Replace the water background and the top pattern with interesting solid colors, with a little white noise pattern if you're feeling froggy, change the menu bar color to fit, find a couple of nice-looking free fonts, and spend a little time on your table styling and your website would look plenty spiffy.
To feel 'froggy' is to be ready to jump into something new at a moments notice for no real reason other than to feel good going the extra distance. One of the more useful idioms I've picked up.
You look like a very talented and productive coder, and I don't think your skillsets are out of date, as some people seem to imply. If you know both Java and Unix well, then you're employable in spades.
Are you actually looking for work now? What happens when you apply for jobs? Are you stumped by algorithmic questions (i.e. textbook style questions)?
I have a lot of "creative" friends. I suspect you may be like them. I have to tell them: Your resume gets you in the door. It's not about being original. It's like the gas in your car that gets you to an interview. The individuality will start to come out in the cover letter (but not too far!) and then fully in person.
I have no doubt that you're a skilled person, but if you don't choose to comply with the simple standard of resume-writing, then how can an employer count on you to follow other conventions and rules?
Now if you'll graciously accept my critiques, you'll find you'll get a lot more impressed reactions than bewildered reactions:
That resume is very non-standard. The PDF version isn't congruent with the web version.
Overview is too long.
Bolded first letters are weird and non-pleasing. Too much space between heading letters: same.
You have a mixture of phrases, sentences with omitted subjects and full sentences. Swapping between those is uncomfortable. Pick one style a stick with it.
Reasons for leaving not useful on resumes.
Key Points has good info. C for 30 years, but no C++? Why not?
Linux distro: what's it called? You've listed custom distros about 4 times on your resume. It's worth one mention.
Your education is listed twice. Only list it once.
Overview should not have specifics such as the census and Adobe projects.
Languages are listed twice, no three times. Only needed once.
Good luck and I think if you make my suggested changes, your responses will be much higher quality! As I said, I think you have a lot of great experience and would improve many work situations!
As a female coder in her late 40's working at <Big Famous Software Company>, my advice to you is -- please, please pick up your algorithms book, and just study! I just helped a guy aged 60 ace the famously difficult interview at my company -- he's now working as a dev there. Basically, my role was to relentlessly tell him to study algorithms, and write code on a white board. Algorithms do NOT discriminate by age.
It seems to me that your biggest problem is that you want these guys to take all your experience into account, and they just want to know if you can code and do algorithms. There is no reason older coders can't do algorithms -- just study!
When I got the job at <my big company>, in my early 40's, I took three months off and pounded CLRS, even read a bit of Knuth on hash tables, and wrote code on white boards. These interviewers don't want to discriminate -- they're going to be old, too! You just need to give them what they are looking for. And you can do it!
Bottom line, you have to learn how to hustle. You find a way, or you don't.
If you can't get employment as developer, then create your own job. Or don't.
As a freelancer, nobody knows my age. They don't ask. I work from the Philippines, but as long as I'm reasonably available, people don't care. I have friends doing the same thing who aren't nearly as technical or knowledgeable as I am making a good living in the most expensive cities in the world.
Reid Hoffman is co-author of a book called "The Start-up of You." I haven't read the book, but the title says it all. You have to treat yourself as a start-up and put in the same sorts of blood, sweat and tears that you read about other people doing here. Maybe you have a job that you can coast in and have work-life balance. Maybe you are nearly on the street and one notch above being completely fued. If you are the latter, then you probably need to be doing some serious disaster mode action. Really, what else do you have to do? Being a transient gives you a lot of time to think, but that gets old.
But it's all about people, really. A developer who is just okay at dealing with computers but great at selling to people is probably in a better position than someone who is the opposite.
I agree with your overall point: increasingly it's not going to matter how old you are, what nationality you are, or where you live. It's just down to "can you get the job done?"
However, there are also plenty who have kept their skills current along the way, and wind up coding on cool projects well into their 60's. They generally work for large companies rather than start-ups, and that entire world is a blind spot for most people on HN.
I'm going to go way out on a limb and assume that the original poster's REAL problems are:
* His resume looks terrible. It's a one-page bucket of random meaningless buzzwords (e.g. skills include "open source", "parser", "VPS"... wtf?!?). He puts more energy into highlighting his age than he does his relevant skills. If he wasn't constantly reminding me that he's near-60, I would assume at first glance that this was a junior-level recent grad's resume.
* His email, website, GitHub account, etc are build around his "brand name" of "OldCoder". That's a pretty horrible brand.
* He's blogging from the domain name "christfollower.me". Nothing against anyone's religion... but politics, religion, etc do not mix with professional career-related writing. Even if it is religion or politics that match my own, it's still a turn-off to see someone wearing it on their sleeve during the recruiting/interviewing process.
Nationwide, the United States has a NEGATIVE unemployment rate for computer programmers. Almost every large company is filled with middle-age and older developers. I'm not saying that ageism doesn't exist, but if you are a "near homeless" computer programmer then you are doing something very wrong. You might have a bad resume, or be a bad interviewee. You might live in a small market, and be unwilling to move to where the jobs actually are. Your salary expectations may be out of whack with your current market value, and you're not willing to hear that. Etc.
I hope you realize that this is a bigoted attitude as some religions require their practitioners to literally wear their religions, though perhaps on their heads or faces instead of their sleeves.
Likewise, prejudice against "old" people is also a bad thing.
That being said, your conjecture that some sort of -ism might be at fault here is apt. And a reasonable person could believe that someone should hide his identity in the service of getting a job. However, if it's a tragedy that Jew or homosexual has to hide their identity and lifestyle to get by in the world, why would you want to force a middle-aged Christian into the closet?
Besides, I didn't say that you have to "hide" your identity or opinions on the job. Just that it's dumb to mix your personal identity with your professional identity in materials that fall solely in the latter realm (e.g. resumes, TECHNICAL blogs, etc).
A significant portion of my colleagues over the years have been Sikh, and another significant portion have been non-heterosexual. Who cares? We work in one of the most diverse fields on the planet. However, if your blog about Node.js is hosted on "sikh-time.com", or if you list "homosexual" as the mission statement on your LinkedIn profile, then you are not "refusing to hide". You're just being flaky. It's not the identity that's the issue, is the signal you're sending about boundaries and judgement.
EDIT: Hmm... reading your comment more carefully, you may have had the impression that I'm turned off by seeing outward appearances of religion during a face-to-face interview. That could be an issue for certain religions, such as Sikhs or Hasidic Jews, where outward appearance is a part of it. However, to clarify... I was not talking about a face-to-face interview, but rather the faceless materials such as resumes and technical blogs that are seen prior to that stage. Again, the issue is not so much the identity as it is the judgment. Moreover, if you share your politics or sexual orientation during a face-to-face interview, then you're definitely doing it wrong.
To sum up, if the author is having a lot of trouble finding work, I think he may want to look at the copious amount of documentation he has posted online, much of it explicitly claiming that he is suffering from profound mental illness.
Quote:
It seemed possible that my attorney John Perrott was colluding with Opposing Counsel Michael Bonetto. It was clear regardless that John wasn't focused on my interests. He'd missed deadlines for filing paperwork and had told me things that weren't true.
Note: No offense towards John is intended here despite the implications. It's my hope John remembers I'm working towards goals that he approves of. I've tried to do what's right from the start. This isn't a claim that most of the people involved in this situation can make.Anyway, the thing is, everyone has family or relationship problems here and there (Github's co-founder's wife story this week?), everyone says pretty screwey shit one time or another (Zuck calling his users dumbfucks for trusting him with their data) -- it's a hard one to deal with. What is one supposed to do when this stuff surfaces? There's really not much that one can do.
Indeed, according to the current version of social code, you're supposed to keep it hidden and distant - or make some effort to keep it hidden. This guy isn't doing that too well. He probably should. Just don't air your dirty laundry. No-one (besides your close friends or whatever) needs to know the minute details of your family problems.
I hate every system which allows that to happen to people. It's disgusting that there are societies which allow it and can't see how this is the first thing that should be changed, pronto.
That's basically the only reason why I'm not a complete mess body-wise.
Old age and ill health can happen to anyone. Even crack developers.
It won't happen soon in the UK. It's just your and your fellow country folks' nature to think that.
Meanwhile, my family has had excellent experiences with the NHS recently, I live and work in the center of a fantastic city (Edinburgh), I know plenty of excellent hotels and restaurants, I don't drink expensive coffee, I know plenty of good beers and outside the sky is blue...
[Amused to see the other comment mentioning the Daily Mail - it really is poison.]
http://www.qwghlm.co.uk/toys/dailymail/
"WILL TEENAGE SEX DEFRAUD HOMEOWNERS?"
"WILL THE FRENCH BURGLE YOUR CHILDREN?"
"HAS THE HOUSE PRICE CRASH KILLED BRITISH SOVEREIGNTY?"
"ARE TEACHERS DEVALUING PROPERTY PRICES?"
The main themes in the Daily Mail headlines being: cancer, property prices, immigrants and celebrities...
"HAVE LESBIANS STOLEN FROM YOUR PETS?"
While you do have a point about the temperament of people in the UK. And even leaving out the Daily Mail - I don't go near it and friends don't let friends ... etc.
But. The NHS is changing a lot under the current administration. There is a lot of privatisation. That is fact. There are fairly good reasons to believe that it may be a "protect it or lose it" situation, especially if the Conservative party continues in power after the 2015 elections http://www.independent.co.uk/voices/farewell-to-the-nhs-1948...
And complaining about losing it is a start to protecting it.
TL;DR : it is "Argument from fallacy" to say that "your nature is to think that everything is going to go wrong, therefore this will not go wrong" http://en.wikipedia.org/wiki/Argument_from_fallacy
Benefits tourists from any foreign country are invited to set up shop in the UK for free welfare, medical care, dental care, and a black cab to the welfare office where you can pick up your free money.
Gypsy and Muslim families with 15 children are particularly welcome. Criminal record in your home country optional.
(OK, did I do the Daily Mail right?)
This reality in fact highlights another reality - our economic models based on scarcity don't work anymore and we need to either transcend it, maybe with technological improvements that drops the price of basic necessities, like food, energy and medical healthcare, or we're fucked.
Wait, isn't the premise of your comment that healthcare is too scarce?
The best job hunting advice I ever read was from Nick Corcodilos' book Ask the Headhunter: Reinventing the Interview to Win the Job. The takeaway is that companies are trying to make money, and if you can demonstrate how you'll contribute to the bottom line, they'll have no choice to hire you. If the interview or recruiting process isn't giving you a chance to demonstrate that, then you need to restructure the interaction.
(Oldish coder.)
It's their own choosing, they have three major political parties that are all right wing (reps, dems, libs).
If a political leader even hints at raising taxes the only valid excuse for it would be to go to war.
They despise caring for your citizens so much, they made a slur out of the word 'social'.
I'm sorry for making such harsh generalisations about the U.S. folk, but from a European standpoint U.S. anti-social culture is just so outlandish.
Our democratic system is flawed and invariably leads to just two major parties.
Just assuming a more social system wouldn't work just because the U.S. is larger seems rather speculative to me. Have they tried, and did they fail?
I am also not swedish :P
True, but not are as populous as a Scandinavian country. Additionally, it would take a massive (massive!) restructuring of the tax code across the federal, state, and local levels to allow the states to increases taxes enough to provide sufficient services on their own. The federal government would also need to cede a fair of power to the states (think education, health care, social services).
I'm not necessarily suggesting this is a bad idea--there are just considerable obstacles to implement such a policy shift.
Each war and crisis has ratcheted up centralized power, typically by way of granting war time powers that never seem to completely fade away.
To help illustrate, money is an important proxy to government power, and the federal government spends roughly twice that of all state governments combined ($3.8T vs $2T).
> Have they tried, and did they fail?
The federal government has welfare programs that can be augmented by the states. California, for example, does this with food stamps (SNAP to CalFresh), health care for the poor (Medicaid to MediCal), and welfare for families (TANF to CalWORKS). To fund these, among other services (e.g., the University of California system), California has the highest state income tax in the nation (topping out at 13.3% for those earning over $1M).
I imagine that some states do not go much beyond the minimal federal programs.
For example, starting in 2014, Medicaid (health care for the poor) was expanded to cover those earning under 138% of the poverty line (a perfect example of the confusing way in which assistance is determined). Many states chose not to expand Medicaid, so they will not receive additional federal funding for the program. States that did, however, will.
On the health care front, some states have attempted to introduce universal health care. California successfully passed a bill, only to be vetoed by Arnold Schwarzenegger. Only two successful instances come to mind: Vermont and Massachusetts.
Vermont passed a single-payer universal health care system in 2011. Unfortunately, I am ignorant of details on its implementation.
Massachusetts has "RomneyCare," which has since been augmented to strongly resemble (in my eyes) the Swiss health care scheme. Insurance is mandatory, but coverage cannot be denied. Private insurance is subsidized by government. Health care costs are heavily regulated.
It's worth noting that the law as written, did not leave much of an option for the states to not expand Medicare. However, the law was gutted by the court system, so most of the right-leaning states chose not to expand it.
I see this stated all the time, but I've never seen a good explanation of why that is.
You could also make all kinds of claims about why a small and sparsely populated country like Norway or Sweden could never be prosperous - they don't have the economies of scale to attract investment, they speak languages that not many people outside of those countries know, etc. But they seem to have figured it out.
Rather than just giving up and saying that we cannot replicate their success, maybe we should be looking for novel ways of implementing such a system (after first confirming that what they're doing actually doesn't work in a much larger country, rather than just taking it as fact).
Would you say in a job interview that you think a problem 30 times larger is just 30 times as hard to solve...? (That is a different class of problem.)
That depends entirely on whether the problem scales linearly, sublinearly, or superlinearly.
Your response is just another example of the defeatist attitude that most Americans have when it comes to comparisons with Scandinavian countries that have solved many of the social problems that plague the US these days. You can give no concrete reason why it would be so difficult to replicate these solutions in the US, instead repeatedly stating that it won't work because there are 30x as many people.
If we had taken the same attitude when it came to building out the interstate highway system after WW2 just because we have significantly more land area than European nations, we would have never been able to connect the whole country. But instead, we came up with workable solutions and successfully implemented them.
I am from Sweden, please check so personal attacks are relevant first!
I try to make this point: The Scandinavian systems do have big problems too, which isn't that publicized. I wouldn't recommend anyone to carbon copy it. Look at e.g. the German implementation instead, larger population and (from the outside) it seems to work less bad than in Sweden.
See my other comments. (And yes, the US health care is uniquely fubar:ed.)
Re scaling:
Nothing I've ever seen says that organising big groups of people in complex endeavours (companies, societies etc) scale [sub]linearily! (Consider network effects of people. And all the differing areas/cultures. And organized crime/gangs in USA.)
But sure, I am certainly no specialist. References welcome?
I think that it's unfair to say that we despise caring for our citizens. We're just really bad at it.
We have old age retirement (Social Security; for workers), disability insurance (SSDI; for workers), welfare (TANF; for families), food stamps (SNAP), universal healthcare for the aged (Medicare; 65+), healthcare for the poor (Medicaid), subsidized housing, unemployment benefits, and so on. Much of the aid is temporary.
All in all, it's a confusing, rickety system with different rules for different localities. Much of our social spending is devised to be "means tested," so it's confusing as hell to determine what kind of help you can expect based on your income, family size, state, city, etc... It's a mess.
Things are improving on the health care front, thankfully. Though, not all states chose to go through with Medicaid expansion.
That said, you have certainly painted some truth with your broad brush.
As I understand it, many European systems are tilted towards higher taxes, lower economic growth, and more social welfare spending. America's system is tilted towards lower taxes, higher economic growth, and lower social welfare spending.
For us, things like social welfare fall by the wayside. From my American perspective, things like economic growth tend to fall by the wayside on your continent (unless you're Norway, blessed with fossil fuels).
Difficult to compare countries, but (unless you've got kids) the tax you pay in the US is pretty average. And if you are a high earner, it seems you'd be better off in Germany or China.
[1]:http://www.bbc.co.uk/news/magazine-26327114
* What's with the tax breaks for having a couple of kids, are the government really keen for Americans to breed?
Anyway I'm just a low level system admin that looks at this stuff and always freaks out. It's ironic because the perceived situation is not unlike how women often feel the need to settle down before their looks go away.
When I'm healthy and I can take a step back (I'm 28), I kind of feel like if you are interested in technology you should be able to find work into old age. Maybe the reality truly is something different but I hope not.
The people I really feel bad for are Indian H1B workers. At least Chinese have a decent shot at getting citizenship, I know quite a few Microsoft employees (I live in Seattle) and the Indians are basically high paid slaves. They all make more than double my salary, but they can build a whole life here and then if they get too old or their performance suffers they get kicked out.
Anyway there are lots of hard things in the world I hope that old IT workers really don't have as much of an issue finding work as seems to be implied on a regular basis by my preferred news outlets
For instance, the health care is a centralised system. Those never work. Doctors don't have time/incentive to diagnose problems unless they are obvious (or you're related to a politician -- yes, like in Soviet). Many Swedes (how many? No one knows) drag easily cured problems around for years and decades.
From my own and friends' experiences -- simple knee problems that stopped favorite exercise, lack of iron/vitamines that gave depressions, hard to recognize allergies that resulted in tiredness, thyroid problems etc.
I am here to tell you Scandinavians that it doesn't have to be like that!
If you go into a health care place in Romania, you are a valued customer they want to make happy. They will screw you over by giving you extra tests, not telling you something (anything) to get you out the door (because they only have minutes with any given client)!
You can't get that for money in Sweden. If you have health care problems, go to East Europe or something for the next vacation. (A recent article on BBC discussed that Polish doctors were working in Britain, because Polish immigrants were spoiled with the health care and the British system seemed similar to Sweden).
Please remember this when you're too chronically tired to make enough fuss so the doctors will try to find your problem to get rid of you.
(I have experience with the Swedish and partly with the Finnish health care systems, e.g. the Norwegian is a bit different but I don't really know enough to have an opinion.)
It aligns everyones incentives when it comes to healthcare funding (as individuals at least). Conversely, while the UK NHS is excellent, the wealthy often "opt out" of depending on the NHS (as well as the state schools), and so have little incentive to support NHS funding (and in fact, the Conservatives were strongly against the NHS until they realised just how popular it had become in just a couple of years after it was introduced).
The Scandinavian model is inferior from the point of view of those who can afford to pay their way to superior care. It is also strongly dependent on a rough consensus on how much health care is worth, as those who believe health care is worth more does not have an easy option for getting more if they're in a minority, and this is certainly a problem.
I'm Norwegian, but I must admit I prefer the UK model - as much as people in the UK complain about the NHS, it's still one of the public services with the highest approval ratings, and so popular it is pretty much untouchable, yet there are "outs" for those who believe they are particularly badly served and it doesn't seem to majorly affect other service allocation in the UK. On the other hand, there are aspects with the UK model that demonstrate exactly what the Scandinavian models tries to prevent: The UK NHS is often accused of a brain drain from Africa and other regions, by hiring large numbers of doctors and nurses away from poor countries.
I also wrote about how people can get real health checkups. (This might drastically improve the life of 0.5% - ?% of the population, no one has examined this afaik.)
A philosophical/political discussion as answer to that -- arguing why it is morally right to have a system that doesn't work (here, even destroy people's lives) -- is very Scandinavian. And very "Animal farm".
Edit: About Britain's NHS and Eastern Europe. tl;dr: NHS sucks, Eastern Europe health care cures people. I.e. same as in Sweden. http://www.economist.com/news/britain/21579018-health-clinic...
I don't know how practical it is to really opt out completely of the NHS - I'm not aware of much private emergency care and if you have an accident you'll almost certainly get taken to an NHS hospital. Also we had an experience where although we have private health insurance (I get it from my job) - when my son had a nasty eye infection we were actually better off going to the specialized NHS eye hospital rather than waiting to see the same consultant at a private hospital a few days later.
Seems to work great for all my relatives in Norway. However, if your statement is more that a centralized system is not perfect I agree.
The single payer system in Norway works generally so well that health-care is something a norwegian does not have to worry about. This is very different from the USA where it has to be on the top of your mind, and a significant portion of the population has no insurance.
> Doctors don't have time/incentive to diagnose problems unless they are obvious (or you're related to a politician -- yes, like in Soviet)
You are still buying in to the cold world propaganda where socialism equals communism, and because soviet was communist then all socialism is bad?
Even america has socialism in all it's confusing array of emergency and social support infrastructure. However, the system here is not well organized and therefore confusing and inefficient.
I think the discussion would be more productive if we focus on if there should be more more socialism in the US, and if that is a good thing. Pretending that socialism does not exists in the US government is not productive.
> From my own and friends' experiences -- simple knee problems that stopped favorite exercise, lack of iron/vitamines that gave depressions, hard to recognize allergies that resulted in tiredness, thyroid problems etc.
I know people that have been diagnosed and treated for all of these and more complex issues in Norway. And no, the people that got treated was normal working-class families with few connections. However, anecdotes are not very useful since I am sure you can find those in any health-care system.
I see a lot of these anecdotes from opponents of single-payer health care, and I am sure you can find plenty of anecdotes in any health care system. However, do you have any study comparing health care systems that supports your claim that a single-payer system can never work?
Evidence seems to suggest otherwise and Dr Danielle Martin answered some of the more common "evidence" given by opponents like e.g Sen. Bernie Sanders:
http://www.huffingtonpost.com/2014/03/13/danielle-martin-richard-burr_n_4958164.html
Also, the wikipedia page on the topic cites plenty of studies that seems to cotradict your conclusion
http://en.wikipedia.org/wiki/Comparison_of_the_health_care_s...First, I explicitly mentioned that I'm not familiar with Norway, but it is similar to Sweden/Finland, where I have lived.
Second, I argue that lots of cases, but hardly a majority, fall between chairs in Sweden/Finland. Diagnosis (access to doctors etc) is bad in Sweden, according to international benchmarking.
No one knows how large these problems are since this is not researched, which is typical for Sweden with the big Ol' Boys networks where media, politicians and big corporations have understandings.
>>However, do you have any study comparing health care systems that supports your claim that a single-payer system can never work?
You are reacting by reflexes on internal US discussions here. See my other comments.
I am arguing something else: Centrally planned systems, like the Swedish/Finnish health care, are inefficient with lots of problems. This is not controversial. And have nothing to do with all possible "single payer systems".
See my other comments for a link to the Economist, re British health care.
While I was certainly willing to take bigger risks then, with no dependents, at no point did things like healthcare or my ability to get food or shelter enter into my considerations, and the extremely low risks for us involved in potential failure made the decision process for deciding to go for it very different on a personal level from the ones I've been involved in later, in the UK and US.
We did live on tiny amounts of money for the following two years - the first year we financed with our student loans, while still notionally studying. But the prospect of the business failing and leaving me destitute and without access to healthcare, for example, were not really possible. My worst case prospect of going on social benefits for a while would in fact quite possibly have raised my living standards above how I was living out of choice to try to get the business off the ground.
In retrospect, it's a fantastic level of freedom to have to never really have to worry about being put in any truly awful situation. I didn't really realise until I moved to the UK - while the healthcare system here measures up well with the Scandinavian systems, most other things are far less generous here (and contrary to what most people think, I don't pay all that much less tax than I did in Norway)
You are only set for life if the political climate in your country remains the same, and your country can afford the current model in the future, and so on. That is a lot to bet on, in my opinion.
Are there any labor unions in Silicon Valley? I know about one in Apple, but it is (was?) formed mainly by the folks working at Apple retail stores, not the devs.
Also, if devs that are older (or women or parents) are undervalued, there is a competitive advantage waiting to be seized by companies that can create business models around that.
In other words, being bigoted is not profitable in a free society. Only companies resting on their laurels (or otherwise abusing people) can afford that sort of nonsense in the long run.
What's the plan for all of us young coders when we become old coders? Be dead or retired by 40, because you won't be employable after that?
STEM jobs are cool for those who can get them, but you need a backup plan to live the rest of your life. Just like you'd tell a kid who thinks he's going to get thru life playing basketball or a guitar.
- helps the successful be financially secure when their careers are over
- encourages quick failure so a dramatic career change isn't as difficult
Also, the existence of unions ends up working against the public's interest. Tell me, what scenario is better for the economy, for taxpayers, for you - (a) company fires 10,000 people and survives, (b) company goes bankrupt, or (c) company receives government bailout and execs go home with fat bonuses.
In the end, it's a harsh world we live in and we have to cope with it. I don't know what I'll do when I'll be 50, but seeing all the morons that do have jobs, I have high hopes that even if I won't be able to do software development anymore, I'll be able to change my line of work - because seriously, software developers are amongst the most adaptable people of all industries - think about how many times you had to go in depth to understand a business model, in order to build some software for it.
Or maybe I'll be fucked. But one thing I did learn in my 10 years of experience is that successful people in general find time to market themselves, to do networking, etc... even if they don't need to do it.
That's a bit like saying "I read the news, and I've come to the conclusion that all corporations are plagued by internecine war and exist to steal money." Unions were formed to protect employees. Yes, some unions have become corrupt and greedy, but that does not mean all unions are corrupt and greedy.
> Or maybe I'll be fucked. But one thing I did learn in my 10 years of experience is that successful people in general find time to market themselves, to do networking, etc... even if they don't need to do it.
The disgusting "anti-poaching" hiring scandal in Silicon Valley that involved almost all of the big companies, e.g. Google, Apple, Adobe, etc. mulcting around 100,000 employees for billions of dollars of wages for several years is good evidence that self-marketing skills are valueless when companies illegally discriminate against you and refuse to hire you because of your employment history. Thousands of talented engineers could not negotiate, switch companies and adapt because the disgusting avarice of the former CEO of Apple prevented them from doing so.
That's not really an experience, is it? Yeah, I heard lot of dark stories about unions as well (corruption, nepotism, violence, dirty politics, mafia connections - usually it's one out of these), and there's a lot to improve but then again: unlike governments and corporations unions don't own powerful media outlets to fix their PR, do they? Also, who says the developers' union has to be like the other unions. After all we are the people who "think different".
Anyway, just take a look how it works in Hollywood. Basically the only profession there which doesn't have its strong union/guild are the special effects people. And while the movie mega-corporations make billions on superhero franchises the FX companies go bust one after another.[1][2] Do you remember the Writers' Strike?[3] The corporations agreed to share their profits with writers only after 12 000 union members were striking for over 3 months.
Another example: the case of Julie Ann Horvath at GitHub. She asked HR to be a mediator between her and the company's founder[4]. She cried during that meeting and HR did nothing. I wouldn't blame them, they too risked their employment there. That's unions job, that what unions are needed for: to protect you from your employer.
In the end, it's a harsh world we live in and we have to cope with it.
So, why don't we make things a bit easier for ourselves? Historically, every major technological advancement (industrial revolution, introduction of cars, and so on) poured vast new wealth into the hands of entrepreneurs and investors, while common workers either lost their jobs or had to work much harder. That's when unions were "invented", that's when eight-hour working day was fought for[5] - basically that's when current shape of the Western society was molded. We have various means that protect the existence of the middle class[6] to this day. Yet, we now observe a new industrial revolution and - that amazes me - the hard-workers that propel this revolution are voluntarily waiving their most valuable rights. Not only that, they (we!) are more eager to defend billion dollar corporations' not paying a cent of taxes than to ask for medical aid for a colleague.
software developers are amongst the most adaptable people of all industries
When you're 40-50, got over 20 years of experience, two kids in high school/college and a mortgage the last thing you ever want is to adapt to a new line of work and start from scratch. This one, I believe, don't need a citation.
1) http://online.wsj.com/news/articles/SB1000142412788732386430...
2) http://www.ibtimes.com/vfx-oscars-march-visual-effects-worke...
3) http://en.wikipedia.org/wiki/2007–08_Writers_Guild_of_Americ...
4) http://techcrunch.com/2014/03/15/julie-ann-horvath-describes...
5) http://en.wikipedia.org/wiki/Eight-hour_day
6) http://www.barnesandnoble.com/w/who-owns-the-future-jaron-la...
When I said news - I'm speaking of mass protests of employees from the public administrative sectors, that blocked the city I live in several times for, tam, tam, political reasons, right before the elections, with their only purpose being to show up on TV - while the people that pay their salaries, the rest of us, didn't have the time to organize protests against them, since we actually have to work for a living. I'm also speaking of teachers in public schools that are paid with dirt and their union doesn't do shit about it, with my old high-school teachers literally worrying about putting food on the table.
> Historically, every major technological advancement (industrial revolution, introduction of cars, and so on) poured vast new wealth into the hands of entrepreneurs and investors, while common workers either lost their jobs or had to work much harder.
I totally agree that this sucks. I'm not convinced about unions as the solution. Maybe you're right.
I don't know much about autism, but if it tends to affect careers, it may be a relevant difference between OldCoder's career and that of a typical programmer.
Please note that I'm not making any judgements or claims here -- I'm too uneducated on these topics to do that -- I'm just pointing out a conceivably-relevant factor.
However, in recent months, I've done better. Four random strangers that I've talked to this year, in a bar, a photo processing shop, a LiveScan facility, and a phone store, all talked about doing business with me. Whether or not anything comes of it, this is encouraging.
It had to do with coming across as confident and relaxed. If you Google (tm) the article "Topological Theory of Autism", you'll read about something called compensating. I think that, as I speak with more people, I'm improving at that.
You may like to read some of Thich Nhat Hanh's books. He teaches people how to transform their suffering into peace and joy.
Long ago, when I was a hiring manager, we routinely searched for online presences of candidates and I would guess this ultra-common practice still today. As a result, we turned up some fairly odd material on a number of candidates and as a result we declined them.
Whether that is right or wrong you can't expect people NOT to make judgements based on information that they may find about you online. Indeed the recruitment process is difficult because there are a lot of candidates and only a limited amount of information on each of them.
My advice would be take the site offline during the hiring process. This might concentrate the hirer on the resume rather than the ancillary information.
I should also point out that were most likely wrong in our assessment of the individual because they ended up becoming pretty successful at what they do! But it certainly didn't help that person get our job ...
But even though he probably has plenty of skills that could be useful I doubt I'd seriously consider this guy at my present employer. Why? Because his whole signal to noise ratio is way too low. He's got a ton of red flags and "resume smells":
* Freelancer for 11 years
* No mention of employers or marketable projects in last 5 years.
* Laundry list of antiquated technologies (some listed multiple times)
* Lots of irrelevent stuff (reasons for leaving, college honors from distant past)
* Random WTFs thrown in for good measure (oldcoder.org? christfollower.me?)
* No clear mention of goal, purpose, motivation or passion.
* Comments showing pride about being a "generalist"
You never get a second chance to make a first impression and unless you're introduced by a trusted third party the impression your resume makes will be the first. Each and every word should help a potential employer want to talk with you. Your content should be informative and relevent. Writing it may not be easy but remember what is written without effort is, in general, read without pleasure.Don't mean to be harsh but I can definitely see why your having a hard time. I think it sucks not to be able to get a job in something you obviously have a lot of ability in
GIMP? Why even list that? Why would I (or anyone really) care if he likes GIMP or Photoshop? Regex? XML? What does that mean? That he knows what a regex is (which I'd expect anyone to know) or has he written an RE parser? XML - same thing.
Mint, Debian, Ubuntu - just linux distros - again - shouldn't matter. Just put "Comfortable in a UNIX environment", I'd know you meant 10-12 distress plus Free/Open/NetBSD, no need to list them all...or if he does list them, put them next to each other.
Back-End - ? Assembly - which kind? x86, MIPS, ARM? Parser - definitely interesting "Transcoding" - buzz word Writing - ummm....not a good skill actually, don't put it there Recruiting...?
CSS/HTML/HTTP/TCP/IP - list them next to each other maybe?
Here's what I'd do if I were him.
1. Drop the buzz words and irrelevant info like "Writing" and "Transcoding" 2. Don't list every single Linux distro you've played with - I've probably used over a dozen and nobody cares as long as I don't panic at the sight of a bash prompt 3. Group things better. Web stuff, Database stuff, language stuff, etc 4. List the things that are relevant to the company you're applying to first. Don't just mash them up wight the rest. They're actually not equally important.
He's probably a very smart guy. But this resume sucks. To me, it reeks of typical "old coder" syndrome - a guy looked up the latest 20 buzzwords and dropped them in there then lectures me on how I need to write all my business logic in PL/SQL.
This wouldn't be good for a mature, conservative company, but for Silicon Valley, which is a culture that worships 20-something Rubyists who write templating engines for fun, it's basically career suicide.
Which is the most brain-screamingly stupid reason to not hire someone, but the only rational way for a job-seeker to respond is to put nonsense like "XML" on the resume.
On the other hand, non-technical managers, have much more of a need for experienced leads they can trust that can manage the technical aspects and offer advice so that they don't appear clueless to the rank & file and management. Non-technical managers are also unlikely to be able to have the ability to sort through resumes of inexperienced college graduates and distinguish between good programmers and bad programmers.
Furthermore, at most non-software companies is that the further you go in your career, the less likely that you will report to a technical manager because experienced technical people are expected to able to deliver business value directly, without having to go through a chain of technical management. All of this means the older and more experienced you get, the more your resume has to make sense to non-technical people. This is doubly true if you're not a technical specialist that can solve difficult problems other technical people encounter.
As it stands, the resume looks like an extrapolation of the kind of stuff that people like to see when they hire a junior programmer out of school or otherwise young programmers. This is why a lot of people here have a visceral positive reaction. It looks good, but it's gone too far and it's a bit out of character. We like to see hardcore technical stuff in young people's resumes to distinguish contenders from pretenders but people who are hiring older engineers usually don't care about that. It's also clear that he qualifies as a specialist in some of the things he's done, but we don't know what they are, because they are lost in the noise of everything he's ever done.
With your resume -
- Link to your distro's webpage. Even if it's just a blogspot dedicated to it.
- Dont' do the technology wordlist. More than 6-10 technologies and I figure you're just spamming acronyms (fair or unfair). I consider any tech listed on a resume fair game for "okay, let's grill about it".
- Drop the reasons for leaving. You left, I don't care why. Particularly if it's a freelance job, you're just gonna be leaving places.
- Your typical projects page is just not detailed enough. Nor are the positions projects. Rather than just name them, throw down a link to a github or your website where you remark on them a bit more.
- Your nick advertises your age. That's a marketing diminishing move. You're not old, you're experienced. It's a marketing game to get the hiring manager on the phone.
-----
I would suggest StackOverflow Careers, some good leads come out of there, and use that as a "resume 2.0" format.
I'm looking for something fairly specific in my evaluations of sw devs:
- What you did, in some level of detail. Key projects and technologies should be called out. Soft skills shold be called out.
- What was the business goal accomplished?
This allows me to evaluate what you've done in a concise fashion.
------
Fundamentally, I look for resumes that demonstrate acuity in the field. All the information I look for is geared towards demonstrating that.
SV has a bad rep for being ageist. I'd look into getting a job elsewhere in middle America where age has less disrespect.
Someone gets an interview because they tweak their resume? Someone gets a job offer because they jump through certain hoops at interview?
It's nonsense. There's zero evidence to support current recruitment practices and lots to show that interviews are a lousy way to select people.
Google and FB and Apple and MS have lots of recruitment happening and lots of smart people to analyse the results, so I'd hope to see improvements there that trickle out over the years. Sadly, it is in their interest not to disclose better methods so their competitors continue using broken methods.
Note: I agree that with the current broken system it is important to learn how to tailor a CV and how to jump through interview hoops. But the system is bafflingly bad.
Companies stick with current processes because:
1) they need to demonstrate compliamce with anti-discrimination law
2) they're not brave enough to try any other process.
Current process is chock full of biases and possible discrimination. This could easily be causing employers to hire worse people than other better systems.
This doesn't mean that those worse hires are destroying the company. They're good enough.
I just wish there was a bit more honesty. "This process is good enough at screening out people who will destroy our company, but we make no pretence that the people we hire are the best for the job nor that some of the people we reject were rejected weongly because the system sucks".
I think there is some fear of anti-discrimination law, but I don't think that has a significant impact on process (at least within my clients over 15 years). I never got the impression any candidate was hired in order to fill in some sort of diversity hire check box.
What other processes would you suggest companies are not brave enough to try?
There are undeniable biases in the system, but I think it's not bravery or fear that are the problem. What methods are there to remove all biases? Any examples to perfect the hiring process are likely adding significant cost (time and money) to the process that most companies would deem unnecessary.
I think most companies would admit they don't always hire the best candidate, and may have rejected some good ones. Dealing with a finite applicant pool, some of these decisions (regarding best available) are not so difficult.
First off, it gives no sense of the importance to the business of anything you've done. You could produce the best-engineered code in the world, but if it's not fit for purpose or it doesn't help us achieve definable and verifiable goals it's junk. You need to show that you understand that. The best way to do that is to include accomplishments like "Wrote a Perl simulator that improved test throughput by X% and saved Y hours of development time." Even better are ones that include "made $Z million dollars". You have to relate your achievements to the goals of the business.
Second, it's got things that would make me worried about even calling you for an interview. Why do you feel the need to specify reasons for leaving positions? That makes me nervous. Why do you need to tell me that your phone handles SMS? That's weird.
This feedback's based on building and leading teams over the past decade or so. I'm younger than you though not by too much. You will probably be dealing with people of my age or younger who are going to be focused on the relevance to the company if what they do, more so than its technical sweetness. You should tailor your message accordingly. I do not advocate dumbing down your resume. I do recommend focusing it on relevance to the business.
I also recently struck out again first as a contractor and then in a purely technical (no people management) full-time role. I got some time with a career consultant which helped immensely, though they were useless when it came to actual recruitment. I'd recommend you do the same, as they could help you tailor your message to the industry.
(I also built a Linux distro back in the day btw (early 2000s), for an PC104-board-based embedded systems project an acquaintance of mine was working on. It's not on my resume, because that project didn't go anywhere, and isn't really relevant to the kind of jobs I want now.)
I took a different approach from what many of the comments here recommend. Instead of weeding down my resume to recent and "relevant" experience, I emphasized the wide variety of projects I've worked on, and I listed everything in my LinkedIn profile, all the way back to my first programming job in 1969. I got rid of my traditional resume entirely and let the LinkedIn profile be my resume.
Also, I made up a new title/tagline for myself: "Low Level Full Stack Developer". At the moment, I'm the only person in the world with that particular description. :-)
I wanted to distinguish myself from the other common definition of "full stack developer", which often seems to imply somebody who is an expert on website scalability. That's not really my thing: I'm better at going down the stack into hardware and device drivers and such.
So I included some interesting side projects that were outside the usual web developer arena, such as PdfChip where I took a PDF datasheet for an ARM chip, connected it to a development board, and made the pinout diagram in the PDF interactive so you could see the state of the pins in the PDF, and click on pins to toggle them.
Then I started writing back to all the recruiters who had been pinging me, including the ones that were way off like the place that was looking for a "Drupal themer". Always be nice to recruiters; you never know when you'll need one. :-) And indeed, some of them also had more relevant opportunities.
And these conversations helped me in my thinking about what I was really looking for: something very different from the traditional web work I've been doing for several years - something more hardware oriented (and I don't mean just computing hardware).
I noticed that there were a couple of local biotech companies looking for full stack developers. Wrote to one and never heard a peep back from them, not even after a couple of followups. Wrote to the other and heard back from the CEO right away. Got together with the team a couple of days later for a fairly informal interview.
They didn't insult me with a coding test - they had already looked at some of my code, and the questions I've answered on Stack Overflow. It probably also helped that I had submitted a small but good quality pull request to one of their open source projects the day before. :-)
Had lunch with the CEO a few days later to work out some of the details, and they made the offer a few days after that.
I can't really disagree with the advice that you should focus your resume/LinkedIn/whatever on recent and relevant experience, and I used the introductory section of my LinkedIn profile to highlight those things.
But if admitting that my first programming job was in 1969 gives people a clue that I'm old, so what? They will figure that out when they meet me! I would rather work with people who see my 45 years of experience in a wide variety of projects and think it means they can learn something from me - just as I can learn some cool new things from them.
I think there are more opportunities to hack on system software than we may realize, what with all the emphasis on web this and mobile that. That's part of what got me thinking, "do I need to be in a "software" company or a "web" company?" And found that the answer was no!
After all, there's software of one kind or another in just about everything now.
Of course there would be a lot of system hacking jobs I would not enjoy much - like where it's just system level work in one language and one environment, following a closely defined specification and with no contact with the customer. Not so fun.
But I think there really are a lot of jobs out there for low level full stack developers who are fearless about tackling difficult problems.
The negative thing about older developers to me is when I see that they simply haven't kept up. They don't have the interest anymore (or perhaps never did). Their resume reflects that as well as just, lack of an online presence.
You mention answering questions on stack exchange. You sent pull requests on github. You're re-appropriating the somewhat recent "full stack" title. These are simple things that current developers do without thinking much of it. But developers who kinda checked out 10 years ago and have been coasting - they are sometimes not even aware of this stuff going on. They don't have github profiles. They're not contributing. You, on the other hand, are out there doing things.
To me I'll hire a developer of any age that is out there doing things, learning, teaching and continuing to be curious.
I think you hit the nail on the head: It's not the number of years, or how old you are, but whether, as you say, you are out there doing things.
I've always figured a good developer should be learning new languages every year or so, just to help shake up your thinking about how to program.
I love helping other developers learn how to troubleshoot and how to write better code, and I really like learning from other people too.
And I plan to keep doing all that as long as I can. :-)
I'm a 45 year old developer who's rolling the dice hard and heading out to SF next week. I've had a lot of talks with recruiters over the past few months and they've all crashed into a wall where the phrase "Oh, you're in Texas" kept coming up.
I understand companies want to keep hold of their cash these days, just in case, so no flying me out to meet the folks, but we live in the future now, don't we? Skype, WebEx, and a couple dozen others exist.
Anyway, Mohammed, mountain.
I may borrow the general approach of this, if you don't mind, in working out options when I'm out there.
And if there's anyone out that way that's looking for someone who's been doing C#, did PHP, teaching himself functional programming and is working his way through Euler (81 solved so far - friend key: 51000425304827_c78cb3e2345fa50b98591ce10f15341a), then drop me a line at [career][at][richardvasquez][dot][com].
That is weird that people couldn't understand that it would be very easy for them to learn a lot about you and how you could work with them, long before any face to face meeting.
In fact I've had several contract projects where I never even met my clients in person - or met them at a conference after the project was finished.
And yes, of course, if there is anything of value in how I approached things, please feel free to lift any ideas. My LinkedIn and other links are in my profile here.
My email is in my profile too - if you'd like to meet up while you're here, or just run any ideas by me, please feel free to give me a shout. Since you have the travel expense, lunch or dinner is on me. And I can't claim any promise of expertise. If nothing else, I can be a pretty good rubber duck:
https://en.wikipedia.org/wiki/Rubber_duck_debugging
Also let me share a personal stereotype. I can't be too far off on this even if it is a stereotype, since I've lived here for over 40 years.
When you say SF, if you mean the city of San Francisco, my feeling is that it is very youth-oriented up there. 20-somethings who work at Google way down here in Mountain View live in SF because that's where the hip culture is. (I don't mean that as a term of disrespect, I think hip culture is cool.)
As you travel down the Peninsula, people get older. By the time you get down to Silicon Valley in the far South Bay, you're in the land of hardware hackers where no one really cares how old you are.
Here in the Menlo Park and Palo Alto area, you've got a real mix. Little hardware/biotech shops where young and old all work together, and of course Facebook down at the end of Willow Road, where a 35-year-old developer would stick out like a sore thumb!
As I said, this is a total stereotype, but I think there's some kernel of truth in it. :-)
That said, why not take the job of caring for the elderly relatives? Use it as a way to buy yourself some time while you become a specialist?
(I know a couple of people who have worked as certified nursing assistants for about ten years, among other things, scooping poop. They like excrement about as much as, I presume, most other people in existence; for them, it's a fact of life, though, and they're able to support their family well enough.)
The positions you mention just didn't work out, then?
I've started contracting/freelancing already, I'm growing my expertise in a few fairly niche (though highly useful) areas, within a few years I either want to be a highly paid independent consultant (getting there) or running a small software company I own.
I've never felt that there's room for being an employee at most places when you're older, and to be honest I don't want to be one either.
Of course the alternative is to find a quiet corner in a corporate giant and wait out retirement...
The only route for keeping the same lifestyle I have at 50, in a corporation, is management. All that Y career talks looks just like words. I don't see anybody around old and technical, so I'm not counting on it as much as the HR dept would want me to.
My manager will not interview any candidate who states on resume or any public profile their age, religion, or any other factor that could be considered a legally-protected basis for discrimination. This even extends sometimes to graduation dates if they are in the distant past. He simply states that even interviewing such a candidate creates the potential for lawsuits (candidates claiming they were not hired due to these factors). Right or wrong, I'm sure this is even more prevalent among HR-savvy hiring managers. Your resume and/or public profiles mention both your age and your religion.
Secondly, you mention that people have disagreements about the value of generalists. While this is true, it does seem there is consensus on the fact that as the field has developed over past decades, jobs have become more specialized, and failing to cater your resume to the type of position you are seeking is a huge part of the reason you are not getting interviews. I can understand not wanting to "throw away" all the stuff you've done over the years; wanting that to be acknowledged is a very human thing, very understandable. This stuff belongs on your personal website, though, not your resume. Your resume is a targeted sales pitch, and those interested in learning more about you will be able to see the rest of the (less relevant) stuff you've worked on in your career on your website.
You have to tailor your message to your audience to some degree. To be frank, some of the problems are likely related to ageism, and there are several ways to minimize the possibility of ageism without lying. We aren't required to list every job in our career, nor are we required to list graduation dates. If they want to confirm a degree they will do it after having met you.
Job search for older engineers becomes challenging on several levels. Topics like energy and effort are a non-issue for most of the industry. Mentioning on a résumé that you were able to live off investments for a period will lead people to think that you might not "want" or need to work, which will also raise eyebrows.
For these engineers, it is all about demonstrating that they can solve your problems. If you can show that, most of the other worries will go away.
OldCoder, I just emailed you to offer some advice on the marketing side of things. I'm a recruiter (in NY, no clients out west) and writer on job search topics. I can't get you a job, but I think I can help improve the packaging if you're interested.
Your problem is one of marketing. You're putting your age front and center in your entire persona. This is a huge mistake. Your resume is large and hard to sift through, and many of your listed skills don't necessarily seem relevant anymore. This only exacerbates the problem.
I recommend a vast simplification to the way you present yourself online and to employers. Completely eliminate the OldCoder persona. Eliminate all drama--don't mention family problems or reasons for leaving past jobs.
When applying to jobs, always produce a short resume that is custom-made for that company. This might not be necessary for a fresh college graduate, but when you have 30 years of experience built up you have to learn to present the aspects of your experience that are most relevant to the employer and nothing else.
Don't concern yourself so much with finding a perfect match. You're not really in a position right now to only consider jobs that seem perfect for you.
Brush up on algorithms.
Finally, if you are in severe financial trouble, it is plain folly to limit your search to one geographic area. Scared 18 year old kids move cross country for college. You can move for a job. From experience I can say that ageism is less prevalent outside of Silicon Valley. Companies in medium-sized cities also receive fewer resumes, which means there's less competition, which means you have a much better chance at standing out if you learn to present yourself in a compelling way.
Few hints he gives in the description of the interview process ("you'll be asked about algorithms", "you'll be asked why aren't you a CTO", etc) imply that he's interviewing for "Just A Programmer" positions -- is this the case? It looks like most of the difficulty in finding a job came from the disconnect between the position the author was applying for and his experience. JAP positions, even if they are advertised as "senior" normally require just the basic coding skills (i.e. you don't have to be really smart, mediocre is just fine) and therefore majority of applications will be much younger than the author, thus forcing the HR to ask the questions above.
In a broader context of discussion about older developers, what's more interesting for me are two things:
1. Why there are so few roles being advertised for truly senior developers? There are plenty of complicated commercial software around. For example, Apple works on a novel mobile operating system with its own set of technical challenges, so I would expect kernel specialists to be in demand, but those openings are rarely visible (even at apple.com/jobs).
2. What do truly senior engineers employed by major companies do on a daily basis? How mere mortals like us can get closer to their expertise set? I'm talking about Guido van Rossum at Dropbox, Brian Goetz at Oracle, Michael Stonebraker (though I'm not sure he hasn't moved to academia full-time), etc.
But if I apply for positions that need specific frameworks, plenty of people who have those frameworks are likely to apply as well. I've got experience, but won't applicants who match the checkboxes in job listings be more likely to obtain interviews?
TLDR: the person in question's advice is best ignored because he is in need of serious psychological help.
No I am not being sarcastic.
What's wrong with this guy? A complete lack of common sense and grasp of reality. After having lost $1M and failing to find a job, rather than go broke and become transient, he could have applied to something like Trader Joe's or Costco and worked his way back up to financial stability. There's plenty of opportunity for skilled labor, especially skilled labor willing to learn hot skills as they emerge.
But don't take my word for it, read the story of his ongoing legal travails with his family. The root cause here is psychological, not financial.
Also, what most people here need to remember, too, is that not everyone's career path is going to put them on a trajectory to becoming CTO. The number of CTO/executive/engineering directors, etc. is quite small compared to the rank and file programmer positions.
I think someone else mentioned this, but sales people have it even rougher than software engineers.
On the internet no one knows your age.
From Primer, I always thought that was the case
Most of the work I do is intellectually beneath someone with 30+ years of experience in C, and below their theoretical earning potential, but if the alternative is near poverty it seems like it should be workable.
As with other people who are starting out, you've got plenty of time to plot a course. Remember to add to your skill set when you can.
To me at least it reads as a bit unfocused. You've clearly got a mass of experience but for any individual job much, if not most, of it isn't relevant. It's a CV that says "look at all the experience I've got" but doesn't really do a great job of saying why you'd be good for any specific role.
I'd look at three or four resumes, each more focused around a specific skill, industry or problem type. Maybe one as a hardcore Linux developer, one with a more web / multimedia focus and so on. Pick out three or four projects relevant to each one and write a few lines about them. While the fact you've got 35 years of C is impressive and maintain your own Linux distro, it's not going to be relevant for roles focusing on a higher level language and is just distracting from your abilities which are relevant.
Also, personally I'd put it on two pages and space it out far more. Larger font, larger borders, more white space generally.
TL;DR: You're probably better than 90% of devs out there but you're not selling it well. Overall aim for less content but with more punch and make it nicer to read.
It badly needs trimming, I found it hard to get a sense of your skills (and which are current) that you want to work with.
I think there is something here.
While software developers get better with time (and if you're smart that never stops), the need for people with 25 years of experience is minimal. Assuming that they've kept up to date, those people will do a job better than someone with 10 years experience, but probably not massively and probably not enough to warrant a higher salary. After all, a bulk of commercial software development simply isn't that difficult - it's CRUD apps, data processing and automating dull repetitive jobs in a way that saves money.
I think part of the skill with staying employed as you get older is to ensure that you aren't simply looking for work which justifies your massive experience as if you do you're going to be fishing in a very small pool. You need to accept that some (maybe not all but certainly a lot) of the work you're going to do is work that could be being done by a less experienced developer and adjust expectations (including salary) accordingly.
I think part of the skill with staying employed as you
get older is to ensure that you aren't simply looking for
work which justifies your massive experience as if you do
you're going to be fishing in a very small pool.
Yes. Experienced coders might need to accept that their experience is valuable, but that their experience and savvy does not equate to genius and/or the ability to succeed at programming tasks that only the top __% of highly-paid coding whizzes can aspire to work on.Heck, a coder with 30 years of experience isn't even likely going to outproduce some offshore rent-a-coder in the short term.
Which is fine, really, because like you said: a bulk of commercial software development simply isn't that difficult in any technical sense. A lot of times it comes down to integrating various disparate systems and managing people (as well as avoiding pitfalls we learn to avoid over time) and those are places where somebody with experience can really shine.
Older coders should really work on people skills. Even if you're still an in-the-trenches coder, as you get a bit older, people are going to expect some leadership. Even if it's just some informal guidance of other team members.
The 20 year-old coding away with his headphones and never talking to anybody on is potentially charming; a 40 year-old doing it is just weird.
I have experienced old developers clinging to methods and techniques they learned 20 years ago. That profoundly affected their productivity and code quality. E.g. one guy, who originally started with C on UNIX. Even when he was coding C++ or Objective-C, he would use \0 terminated char[] instead of string objects often. This lead to bugs (e.g. UTF-8 not working, because he assumed every character is always one char/byte long). There also were memory leaks all over the place.
> While software developers get better with time
Good developers may get better with time or stay the same. Average to poor developers might get worse.
What do you really want to do? (and are demonstrably capable of doing?) Distill that, optimize the rate for your audience to absorb it. Use the F shape, font size, spacing, etc. to provide a 10-second, 1-minute, 10-minute document. Make the reviewers' jobs easy. The gate-keepers need to see the checklist of acronyms they were told to filter on. The manager will need to see "plays well with others and does productive, self-directed work." The technical manager/senior tech interviewer will want to see a little of themselves and/or something admirable or ambitious in you.
Spending another 8 hours blanketing resumes and cover sheet/emails to every potential listing is time away from engaging in work that keeps your skills sharp and involved in a community.
OldCoder. Stop calling yourself old. In tech, that's not going to sell - and you are selling. You could be a CTO and call yourself old (battle-hardened general), but it has no utility if you are out of work. Age without wisdom is old. Be wise, experienced, adept, efficient, proficient... not just old. Knowing that there is a severe ageism in software dev especially, don't self-identify as old. It hints at rigidity, staleness, apathy.
Generalists likely seem to have no opinion, no passion, no fire.
If you can make a web page, update a computer, tweak some configuration settings, show somebody how to use their phone, or configure all that new stuff they bought last week? You'll make money.
Making money is simply friends helping each other out. If you're 55 and know a lot of stuff about computers, you should be able to help other people out. Now, you probably won't make that million you used to be worth, but you're not in the soup line, either.
It gets more difficult in large cities because it's harder to reach business decision-makers, and there's so much competition. But there's no doubt in my mind that there isn't a huge and growing need for the tech equivalent of day laborers. And we don't have to be 25 and have a strong back.
Be very careful that the attitudes and prejudices you pick up as you age don't hurt you a lot worse than your skill choices or work history.
Those 1970's skills map directly to embedded work. They map to kernel and systems level programming. Guess what ? The same problems we had on a PDP-11 we have today. The scale is a bit different, but the fundamentals are not.
Can you pass the fizz buzz test ?
You would be amazed at the number of applicants that can talk "singleton observer model view controller association class" all day, and can't do fizz buzz. Or compile hello world from the command line. Or know the difference between a compiler error and a linker error.
Focus on what you do best. I think you will find there is a demand for those skills.
No offense OldCoder, but that seems to be the root of the problem, leaving the workforce doesn't help either. I know quite a few 50+ developers who are doing fine, so I don't think it's the "old" so much. This can happen in any industry.
Listen, if you can code in Haskell, Lisp, ML, and spit out binary code by hammering it via Hex, no one cares if all they want is a PHP or Ruby programmer.
Specialize your resume, if they want PHP, explain what you have done with PHP. If they want C/C++, highlight your C/C++ experiences, if they want a sysadmin, they don't care about your coding skills. You can show those off in the interview, and let them know you have other skills.
What this means is you need to have about 5-6 different resumes targeting the jobs you are going for.
Drop ancient and basic things out of your resume too, I saw MSDOS, HTML, CSS, GIMP, HTTP, XML, etc in his resume.
He has the technical skills, but not the marketing skills. He is in the business of selling himself, all those skills oversells himself and makes many companies afraid that he would want a ridiculously high salary and that they can't afford him.
My suggestions - Include a paragraph summarising your philosophy to programming and the way your approach achieves success. - Say outright what makes your ideal client. I would be worried in hiring this guy, that he's too advanced for what we need and too experienced for my little project. - Add more narrative at the top and tell a story. Sure you've done many things and are a generalist, but why hire you, boil down all this info into what it means I'll get from you. Words like these make good headings. Who I am My approach What Im committed to
Boil down the essence of all this experience is my recommendation.
I think the most important thing to do; if you have a job make sure you keep it after 50; don't toy around or give anyone reasons to drop you. And make sure you have a huge network; make sure different people ask you for advise or ask you to work for them at least a few times per year.
Besides that there is not much you can do if you are not outwardly hugely successful at what you do; if you are a dev, that means specialize, write books and get them published about what you specialized in, create workshops and seminars, even next to your job but especially at your job.
I must say that it became slightly easier though for people who are willing to reinvent themselves a bit; besides making sure that you have medical private insurance just always (and yes, you can afford that when you are young; make sure you keep it going even if your job provides insurance as well; and when you are young you feel invincible until you get something which could've disabled/kill you; after that, if you didn't have insurance before it, no-one will ever take you so it's important not to think you are invincible ;), you can work remotely and then age doesn't really count at all. I have many 'older' friends who work online as coder for people they have never seen or met and they are doing fine. No they won't get the insane amounts they were once used to, but maybe you shouldn't get used to that wastefulness anyway; they can do what they like (which happens to be coding) until they die basically and make enough money to pay for health insurance etc. Most of them are 60-somethings who make enough that way to lead a really good life.
And I agree that the social network issue is crucial.
Sorry for the US football reference here but one of my favorite players from the Giants - Justin Tuck was recruited by the Raiders. He still has plenty of skill to play the position but is probably not going to be as dominant a player as he was. (All the younger defensive tackles are using Ruby, node.js and Clojure ). But he has been to a few Superbowls and knows how it is done so can mentor younger players and contribute on the field at the same time...
Thus his services are more valuable to the Oakland Raiders (with a younger developing team) as compared to the Giants which is a veteran team...
I mean no disrespect or to suggest that victims should hide their past or not confront their offenders.
But some of the top results that come up when I search your name is your various websites. On these, on the top of all the pages I have seen, is a large disclaimer box discussing your lawsuits/situation. Your intense feelings about your family shows through quite clearly. Anyone doing even the slightly due diligence on a prospective employee would find this.
As a human being I feel for you. As a potential employer, I would take one look at that and say "I'm not going to bring that level of drama into my company."
With older coders I recommend familiarity with github and LinkedIN - check and check.
I might separate out blogs. Create a landing spot just for the resume. The related blog entries are personal and don't tell a story about work and coding.
I think some greater detail on "teaching coding on IRC" would help. Also - things like Hackerrank to get some visibility. Mentoring younger coders adds value...
This guy looks very employable -
Yes, investing comes with risk (as the author's experience illustrates), but over time a diversified portfolio far exceeds money sitting in the bank.
:D
You need to lie right back, that you're an experienced rock star in the field of (insert list of acronyms).
There are laws about filtering applicants based on IQ tests and reading comprehension tests and the like. This whole system is a stealth end-around to give applicants an IQ test along with a reading comprehension and writing test. Can you tune your resume to match our advertisement? No, then bye bye. If yes, well, lets talk.
Then later in the process when at the interview, they provide another stealth intelligence test when its assumed you'll know the list of requirements is made up and out of date and you should at the interview express deep knowledge of "scripting language of the month" and the like. To prove you're in touch with the actual job requirements.
There are other stealth intelligence tests, like crud app developers and web graphics artist types being dragged thru the wringer about the intimate details of b-tree data structures and sorting algos. Its an intelligence test that has nothing (usually) to do with the job unless they have a horrific NIH mismanagement problem.
There's nothing immoral or unethical about stretching the truth because they only care about the intelligence test aspect anyway, and the "list of acronyms" changes constantly including the time interval between publishing the advertisement and when they talk to you, and of course on the job you'll be expected to learn anything new instantly.
Just make sure to add an excuse to your list of skills like "also other job related skills" (BTW this is in itself part of the intelligence test). Or at least have a great interview response along the lines of why that wasn't included on the resume and maybe you're leaving things off your resume like felony convictions or something.
Also know that once you get past the first couple gatekeepers, your competition is people with skills who only have to lie a little, and really excellent skilled liars. So your honesty level should increase over time thru the process. Again this is yet another intelligence test aspect of the process. If you said "duh" WRT the above, you're a good candidate, if not, well, maybe not a "good fit" or whatever.
You do need an actual list of your skills for private use only. That's probably what the OP posted. Never give that full list to a HR rep or a computerized keyword scanner.
Still coding at same company but in ABAP (SAP dev lang).
Friends have urged me to simply apply for random jobs even if I'm missing experience in particular frameworks.
I've been reluctant to do so. Instead, I've been looking for:
(a) Junior positions that I'm clearly qualified for
(b) Positions at firms that are seeking generalists
(c) Positions where I'd be able to use the special skills that I do possess
I'll probably need to build connections over time for this to work out. In the interim, a non-tech position might be the way to go.
But, in all seriousness, though age discrimination is very real, I don't feel that it's as significant a factor for me presently as my lack of a social network or the fact that I'm a generalist.
And yet... they all seem to require it.
Part of the parcel of a dynamic competition based job market is that people get as much as possible of the total that others are willing to pay for their work. At present this means rapidly improving wages for certain categories of tech jobs where employees are scarce.
There are lots of ways this can go right or wrong. Here is a middle of the road story:
A family member of mine was a programmer in the mid 80s. By the 90s he had moved into management in a big enterprise software company. By mid 00s he was managing very big clients/projects that were billing for big software and thousands of engineering hours. The last time he had really programmed for a living, it was in COBOL and even then the tech was dated and very specialized.
At some point the clients he was working on went onto a different model handled by a different division of the company in a different country. He was offered a relocation, but it did not appeal. He had kids in high school, etc. About 50 years old.
He had made good money for years but not rockstar money. He owned a valuable house and had savings and investments so he could last a year or two unemployed. His first next job was at a startup-like thing that petered out. Then a long period trying to make his way freelancing and applying for jobs paying far less than his last. Now he runs a business. I still imagine it's far from his peek salary, but it's definitely not a bad income by general standards. It can just be tricky adjusting especially if you had to use savings to bridge for a few years.
There are all sorts of ways of looking at this. For me the lesson I got from it is that we have a strange assumption: your salary will go up over time and peek near retirement. Realistically one person might earn more in total by the age of 45 than his neighbor earns by 65, even in after tax earnings. I imaging you can find those neighbors in almost any street.
The richer neighbor could theoretically retire at 45 at the same retirement income the other would have at 65. On paper it might be easier even though the richer younger neighbor has longer to live of his retirement savings. He also had 20 year to spend out of his lifetime earnings so there would be more in the piggy bank if they lived the same lifestyle. At 45 it's a lot easier to supplement your retirement income and medical expenses are lower. Obviously this rarely happens.
Wealth is in a very real way relative to standards you consider normal. Part of that normality standard is an expectation for rising income throughout your life.
You can find a starving English student easily that will pick your resume apart for you for very few dollars.
But that's secondary to a more important issue: we are entering a post-resume economy. Most people in the hiring mechanism view the resume as having very marginal utility. I don't know what will replace it, but I do know that the current tactic of doubling-down on recruiters with gigantic databases ripped off from LinkedIn profiles isn't cutting the mustard.
No, it's not very equitable, but you have probably already noticed that life isn't fair. I keep holding out hope that some enterprising individual will recognize the absurdity of the situation and destroy all competitors when he or she realizes there is a huge, untapped market of the women, minorities, and "seasoned" developers that Silicon Valley just won't touch.
I'd do it myself, but I don't have the funding yet. The last 3 people I hired to do work, I never once looked at their resumes. One was a stranger on Freelancer.com, where I was essentially rolling the dice on certain prejudices of mine for a weekend chore of a project I didn't want to do myself, and the other two were friends. And even that wasn't perfect, the one friend I had actually worked with before did a sloppy job (I was quite happily surprised by the Freelancer.com person). Unfortunately, my budget got cut and I had to let them go. Fortunately, they weren't full-time yet.
In my own career, I've gotten very few jobs from my own applications to the positions. The only jobs I've gotten where I didn't already have some kind of acquaintance give a recommendation were setup by recruiters, and I eventually learned to hate those jobs. Perhaps there is something to be said about not being able to fulfill your hiring requirements through recommendations of your current employees being indicative of the quality of the company overall.
Even the one job I liked, that I thought I was going in completely blind on, turned out to have one of my college friends and project mates already working there. He had told my interviewer he knew me and I was the best coder he had ever met. I showed up 2 days later and ran into him in the hall.
So the it seems the only way to get a job anymore is to build a network. Go hang out at Linux User Groups and talk about your distro. Go to meetups and conferences, and hang out with people at the bars afterwards (drink ginger ale if you have to). If you look more like Steve Wozniak, change up your wardrobe to look more like Paul Graham. Those are the sorts of places to say the things you've said on your resume. And just keep an ear open. Get a reputation for being a helpful, friendly, delightful person, even if you're just connecting two other people who can help each other and it doesn't help you directly. Don't be pushy, don't hand out business cards unless you are clear they want to get into contact with you. Think of it a bit like dating: the desperate guy wreaks.
People love nothing more than talking about themselves and complaining about their problems. In very short order, you will meet someone who complains about a problem you can fix.
The third or tenth such person might actually even be able to pay you, too.
A number of other people here are focused on the resume. You yourself suggest a rewrite. But if it's of marginal utility I think that embracing the generalist aspect might be the way to go.
And I'll need to find a non-tech job to pay the rent while I'm hanging out at Linux User Groups, Doge Festivals, and so on.
It is also helpfully self-limiting in regards to going overboard in one particular group. You just won't have time to overstay your welcome at any one place.
You also get to test the waters on many places at once and whittle down the candidate set for ones that don't strike your fancy very quickly.
Also, stretch outside of your comfort zone. If you strictly go to meetups that you think you will like, then you are likely to meet people who think like you. Finding work as a consultant takes putting yourself into environments where you are the odd duck, where everyone has the same problem and nobody within the group knows how to solve the problem.
This could mean something as simple as taking ballroom dancing classes, or attending film enthusiast discussion groups. These sorts of places tend to be populated by people who know each other from other places, such as work. Jobs at which they might have problems you can solve.
(Okay, I'm drafting a business plan on the side for a consultancy. I am hoping the non-programming job will allow me capacity to work outside my liberal flexitime hours. All advice welcome)
That's not going to happen to "most" anything. There are always fewer spaces at the next level up the pyramid. Usually drastically so. What's the "programmer" to "manager" ratio where you are?
Ageism is a real issue that a lot of us will face. For most, it'll be milder than for him: a gradual loss of status after 40 due not to declining ability but the crassness of business culture. It's not inexorable, and some of us will outrun the bear (or at least the other guy) but the average trend is negative.
As a person with cyclothymia (the mildest of the bipolar spectrum disorders) I would guess that he's clinically depressed, and that's probably hurting him more than his age. (Most of the middle age loss of "fluid intelligence" is undiagnosed depression. People of normal health don't begin declining, cognitively, until about 70 and some never do.) He feels a need to justify things in his past ("Reason for leaving") when he has reasonable job tenures. His writing is less than competent in organization. The self-pity is obvious. Some depression is completely endogenous and other varieties come from negative contexts (like mid-life un- or underemployment) and can be even harder to get out of. People can be assholes and it can really feel like they're kicking you when you're down, when in fact they're just being morally lazy and weak (i.e. people) but not malevolent in any targeted or personal way.
It's easy to take the haughty libertarian view and say, "He should spend $350 and have his resume looked at by a professional." Okay, but he probably doesn't have the money, because he doesn't have a job. "He needs professional help." Probably true (again, I think he's clinically depressed, and who wouldn't be as an unemployed 55-year-old programmer?) but see above. The truth is that he's a capable person who's been fucked over, and while most of us will not be as badly fucked over or as early in our careers, we should be angry.
There is ageism. There is sexism. There is racism. But there are also many cases for all of those where someone uses it as an easy explanation for any other difficulties they face, which is self-destructive because it avoids real self-reflection.
What I should have done is understand that things change and prepared for changes in advance.
* system admin -- your linux background is impressive, but need to pick up windows admin skills (most small shops require both), firewalls, proxy servers, caching, CDN
* front-end coder -- learn Javascript and related technologies (jquery, Node, requireJS, browserify, handlebars, etc)
* Wordpress specialist -- learn PHP, themes, responsive design, theme frameworks, etc
* other specialties: Drupal, Django, Rails
In addition to freshening up skills, do some networking through meetups. Also flesh out your online presence. Have an active Github profile. Also Stack Overflow. Check out TopCoder.
Lastly, lose the "OldCoder" label. You can only get away with that if you are Kernighan, Ritchie, Guy Steele, or Dave Cutler.