Vuong, you're welcome :P I helped with structure. But the piece, like the decision, is yours. The fact you're thinking about decisions, and were moved to compose the piece, bodes well. Keep the fact we're allotted only so much Time in the World in mind and, for you, it'll work out. Time, again, Time. You'll have the day in the meadow, daisies and all.
Not too late. You have a good foundation to build upon. Just need to pick one of several possible directions:
* 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)
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.
It could be worse. I could be an Old Coder in his 70s :P
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.
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.
A targeted resume, intended to present me as a specialist in Linux, would zoom in and do precisely this.
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.
> 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).)
So it's mostly about social networks, which I talked about myself and which I neglected to maintain.
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.
Building a social network takes time, yes, but it's not actually a lot of time. Parallelize your networking strategy. Yes, you're dealing with random scenarios, but each has a non-zero probability of turning into work. The faster you can get through scenarios, the faster the aggregate probability of 1 of them converting out of all of them converges to 1.
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.
Excellent point. And, conversely, how do I demonstrate, on my resume, that I'm proficient as a generalist without listing the things that specialist-oriented readers here suggest that I omit?
Yes, regarding reasons for leaving. I'm going to drop those.
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?
DOS and AIX might well be measures of your breadth, but unless your potential employer cares deeply about that, they don't do you much good. Think of some other way to say "I know a lot of different systems" than mentioning systems that don't garner much modern respect.
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.
The problem isn't presently the age or the resume.
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.
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!
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.
The ":P" was intended to convey tongue in cheek. But the suggestions are useful and appreciated. And I like the idea that one might feel "froggy". I'm not sure what this means but it sounds lively.
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.
I consider myself a generalist as well, and while there are some problems with it, there are upsides too. I wouldn't consider that a barrier.
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)?