I've always been very busy (one of the main reasons I don't post on HN as much any more). I don't have a resume. I'm not on LinkedIn. If I ever ran low on work, it would probably take me a day or two and a few phone calls to find something.
I don't work on anything unless I find it incredibly compelling. I write applications. I've seen tons of different technologies, many old ones I still use. But I also get very jazzed learning new stuff and incorporating it into my toolbox.
I know tons of programmers in my age group. I'd classify them into 2 groups:
25% - just like me. You don't see our resumes because we're very happy building cool stuff and rarely look for work. We've also seen it all and can smell something we're not interested in a mile away. You don't see us at many events because we're so busy with work and life, we only pick the ones with the most promise of bang for the buck. Most of the programmers I know in this group would make phenomenal additions to many startups, but don't recognize this as a compelling alternative to what they're already doing. The best way to engage us is to seek us out, make friends, and share some stories about something cool you're working on.
75% - one year's experience 30 times, not 30 years experience. Unaware of modern technology. Couldn't write Hello World in anything other than BASIC, FORTRAN, or COBOL (and would probably misspell 50% of the words). No imagination. Limited ability to visualize the possibilities. Hiding under the radar in some enterprise. You don't want these people.
My skill is not marketing my skills on a freelance basis. My skill is in engineering.. and a variety of others (like startups, people management, etc.)
I hate 80/20 like splits that are so binary.
Part of the problem here is that it's very difficult for many people under 30 to imagine someone over 40 is not falling into your %75 category. They already think that most people can't do fizz buzz.
I once had an interview with a 20 year old with 2 years of experience. HE was the head of development at one of those startups that raised millions on kickstarter.
He asked me the question: "How would you do feature X in language Y?". I pointed out that you couldn't do it in language Y but that you could do these other things that were similar. He then said " In language Z you do this and that's the answer I was looking for". But language Z is not the same as language Y.
Flubbing a question? No problem. Everyone can get nervous. Giving a BS question and then using the "wrong" answer as a reason to not hire me? Suspicious. So, why would he try to do that? Well, it turns out we were on a video call.
Who wants to hire someone old enough to be their dad? I understand that sentiment.
But the Software Industry hasn't developed a pyramid of job titles you can climb.
I do. They almost certainly know more than I do about anything of any substance. Maybe they don't know node.js and mongodb as well as some young person, but they can figure that stuff much faster than I can learn any of the stuff they've learned throughout their life. I worry more about the opposite: who wants to work for someone young enough to be their child?
Exactly, there is nothing magical about implementing the Reactor pattern in a 25-year old language.
I was just reading a response to this article with someone who was much older, like 50 or 60 or something, also said he was a Node.js programmer.
I've actually been really paying close attention to trends, new programming languages, etc.
Node.js is kind of old news. The coolest new programming language I know of is Nim.
Stuff that I think that matters for the future is higher-level semantic metalanguages for information exchange and information systems factorization, fully distributed computing, connected devices, and custom circuits/electronics.
I didn't mean to imply that no "older" developers are interested in newer things, just that it really doesn't matter if they aren't.
Am I missing something?
Leavnig that aside, sometimes people move or switch focus or have to take jobs at crappy "body shop" companies to make ends meet during a bust, etc. Hence the quality of the network isn't necessarily good enough to have the kind of "I need a job, whatcha got" connections you mention.
But then, I spent 8 years at one job and in grad school. Anyone I knew before that would be really hard to find even if they could be a useful network.
And I was really bad at connecting with my committee--I graduated, but without a good network there.
Then I moved across the country.
I've never had any problem finding work, if I shop my resume around to local contractors and "body shops". In fact, I've made a pretty good career out of that. But "exciting" work? Not so much.
At this point, I'm considering getting out of the field. And I love what I do. I just hate what I'm doing, if you can see the difference.
The entire reason LinkedIn exists is because most people, even many very highly skilled people in professional career roles, find it difficult to make effective use of such networks, for example. And if you're an engineer who has experienced a rough patch of employment or worked at a company or in a role or under a boss they hated or experienced a period of burnout or underperformed somewhere due to any of those circumstances the whole thing gets that much more difficult.
I don't have a network. I have friends and I have colleagues, but I don't really have anyone that could get me job leads (maybe a couple of my friends)
Keep in mind that most companies offer referral bonuses and programmers like to work with people they know and trust. I used to avoid doing this like the plague because I thought I was being a burden to people I consider friends. In reality, asking for a referral is mutually beneficial for both parties.
Every single one of my former coworkers, managers, and other people I dealt with on a regular basis is still at my former employer or retired. How do those contacts help me?
If it turns out none of them can help you, you're out an hour or two and the cost of coffee.
A longer term alternative is to make cool things and tell people about them. Write some open source or a side project and post it to HN. Lather, rinse, repeat until you get people emailing you asking you if you have time to talk.
Whatever strategy you use, the goal is to make a personal connection with a hiring manager directly.
Something you notice immediately is that they never feel like they're being used when someone wants to "meet for coffee" as transparent cover for getting something out of them.
They realize that someday they'll need their back scratched, and there's always the possibility that they'll get something (a tip, a lead, etc.) out of an unexpected meeting.
There you go. I spent (really too many) years at one small company after moving from a top-5 city to a top-20 city. And some of my contacts have left town.
Also, even if I've got people who can vouch for me, how do I tell them I'm looking for work? (This might sound trivial but I haven't figured it out.)
Given the alternative is being stuck in a boring job, or low pay, or unemployment, what is so difficult in shooting an email asking if they know anyone hiring? What would your reaction be if you got such an email from an ex-colleague?
For two companies.
I think I'm probably the last generation that looks at long-term employment as a good thing, and the older I get the less risk I want to take in being "the new kid" who would be the first to go if anything went wrong with the company.
I also don't talk to former co-workers much because I've moved on to different problems.
So, yeah, I'm bad at networking.
Ed why can't you have your own company? Why can't you be the one who is hiring or at least teach others how to hire. I bet you can smell a talent from 1000 miles away - even if someone did not finish a good school; the world of software engineering would make so much more sense.
[EDIT:] I imagine a job interview; an interviewee says: "I didn't program this but I did program something more difficult"; interviewer makes a frowny face; Ed comes round the corner, puts his hand on the interviewer shoulder and says: "He did not call you stupid; he just said he is ready for the challenge - he has the experience".
1. He doesn't take a job unless it's challenging. They don't post on HN or go to conferences because they are busy with so much work and life (hence no wisdom sharing).
2. If he is a freelancer (which his post makes him sound like), than he does own his own company. It's just not a software startup looking for VC or articles in big magazines.
3. He's not hiring because he wants to program, not do HR. Also, Michael Jordan can't pick players for shit and he's the best BB player in history. Skill in a job doesn't mean you can find talent, and the level that he would jump and say a person has talent is probably the level where said person doesn't need recognition to know their skill.
4. If a team does a good job outlining job requirements and interviewing, they too can smell talent from 1000 miles away. But interviewing every applicant with a 2.0GPA from a bottom tier school takes a lot of time and most often does not reveal a hidden gem. Regardless of what their potential is.
I've owned a company but its lonely, so now I earn less but work as a peer in somebody else's company.
Or they simply aren't interested. They are happy with what they do.
On the other hand, seasoned programmers do make great interviewers. And a good interview often include them in the process. Their insights are very valuable.
Also as a sidenote, if there is no senior/lead developer during your interview process. Or the people do not appear to have a clue. Run. Unless they are going to hire your as the senior/lead, and they admit they lack the knowledge.
That seems highly unrealistic.
- What are the odds HN would attract and recognize a one-in-seven-billion individual? HN is not THAT special.
- You believe Ed holds great wisdom, and it is Ed himself telling you he is not the only one.
The worst part is that most people don't recognize this, they live in the bubble, being proud of themselves they know it all. Unless they lose this job and suddenly realize they are basically unqualified for anything outside of their narrow field of expertize.
Either get lucky, never lose that job, so you don't get your feelings hurt when looking for new job. Or get out of the bubble before it's too late and start challenging yourself with new opportunities.
You might be wrong, and you should factor that in. Perhaps you're not helping people towards a bright new future of self-realization, just condemning them out-of-hand based on your own limited experience or misconceptions? (Not using "you" to imply you do this, btw.)
> Perhaps one isn't helping people towards a bright new future...
Never the less it's important to think carefully before criticising others. You are absolutely right and I'll try to keep that in mind next time I want to tell someone how bad they are.
I went Googling for its origin and the first link just took me back to HN: https://news.ycombinator.com/item?id=4627373
That's the problem with the generalization: it's too general, can be applied to almost any normal career, and isn't really a good heuristic to use when analyzing somebody's work experience in most contexts.
Let's remember that in those 42 years the number of BASIC, FORTRAN, or COBOL jobs has diminished through to almost nothing. The last person I met who described themselves as a COBOL programmer was about 10 years ago, and even they said they did it for the money as there were so few of them left.
So the programmers edw519's knows have in all probability probably managed to switch from COBOL to to VB6, then Java or PHP and then maybe even C# or Ruby and are probably nowhere near as stagnant or unambitious as he's portraying them.
It's that or he hangs round at COBOL programmer's meetups.
Something about programmers makes them think they are all the destined one true hero, and as a result, programmers tend to disparage and disrespect their own peers, at great cost to themselves.
My favorite is this guy , who was literally adding billions of dollars of revenue for Goldman Sachs, but was getting paid peanuts. When he left to pursue more interesting work (not for salary!), they brought the FBI down on him.
I don't call myself a programmer, computer scientist, or any such low class term anymore. I'm a consultant, and I don't associate with self-deprecating professionals who denigrate their own fields.
Humans are primates, and we form status hierarchies. Proudly exclaiming that your tribe is at the very bottom is the definition of stupidity. Good luck to those that do, I sincerely wish you the best. But when your salary stagnates, you're asked to work 80hr weeks without overtime, and you get no respect from management, maybe its time for a little self-reflection.
There is a reason software dev is such a low status profession, and it's not because we're "nerds". It's because we self-denigrate and self-deprecate like no other profession on earth.
EDIT: It is worth reading this article if you'd like some more details on this problem, from a fellow HN member who has dedicated a lot of time to thinking about it .
As a combination or individually? Medicine is about the only one in the list that's strong in all of the listed characteristics. "Heavy engineering", to my knowledge, doesn't pay much more, finance doesn't seem that much more stable, and law certainly has good work conditions for those at the very top, but not for the newbies.
The programmer types were different from the trader types. The trader types were far more alive to the bigger picture, to their context. They knew their worth in the marketplace down to the last penny. They understood the connection between what they did and how much money was made , and they were good at exaggerating the importance of the link. Serge wasn’t like that. He was a little-picture person, a narrow problem solver. “I think he didn’t know his own value,” says the recruiter. 
Last time I checked, banks are the most powerful industry, and GS is the most powerful bank. Aleynikov was single handedly building, deploying, maintaining and updating Goldman-Sach's HFT framework.
If you believe that key people like Aleynikov don't make the HFT industry profitable, a certain Medallion Fund and a Dr. James Simons would beg to differ.
I don't know of any big software companies getting government bailouts after gambling with money they scammed from average citizen . Once you can get away with that, and not have a single executive do jail time, come back to me. Every industry is subservient to the whims of banks. They'll tell you otherwise, but actions speak louder than words.
I call shenanigans on the claim that Aleynikov was single handedly running the trading infrastructure for even a single one of their desks. That's complete nonsense.
As for Jim Simons: It's generally believed that the main cause of Renaissance's success is that they have a couple hundred of the world's smartest people all working together. It's not a 'key man' shop at all. (Also: You seem to be suggesting that Simons himself did all the work. The fact is that he spends most of his time smoking cigarettes and handing out wads of cash.)
They haven't really diminished to almost nothing, they have just been outsourced to Indian shops. You'll have a really hard time finding Westerners who still write those languages, but Indian firms are happy to step in and fill that void, maintaining the hundreds of millions of lines of COBOL code still in production at Fortune 500 companies, on a contract basis.
That's true, but it's a hockey stick / logarithmic thing. When I started coding, the BASIC and COBOL technologies were waning-- still bringing in paychecks, but it was clear that their peak was a few years in the past.
There are lots of people right here on these forums using technologies today that are in the exact same situation. Citing these examples by name usually erupts into a flame war, but for sake of illustration, a good example might be PHP.
Perl, on the other hand, is.
This exactly and it happens at all ages. I interviewed someone not long ago who had 5 years experience. It turned out they learned their job in 3-6 mos. and just repeated that same job for 5 years. I was amazed how little else they knew.
While I enjoy the current situation, it's unlikely to last. Sometimes we forget that there's plenty of people who have simply built up a clientele and a repuation through plain old networking. These jobs tend to be more lucrative and probably don't require you to learn the flavor-of-the-month js framework. It's no surprise that we don't see many experienced professionals competing for what are essentially entry-level jobs (despite the use of the word senior in the job title and despite the high salaries inexperienced developers command). Obviously not all experienced professionals have built up that network. Those are the people you see applying for jobs.
Source: I spent a couple years getting to know a network of CTO's and architects who have been doing ecommerce since it's inception. They are in demand, they don't apply for jobs, and they are paid handsomely, and yes some of them are grandfathers or grandmothers.
Hi, I see you're doing [JOB] at [COMPANY]. How would you like to do [JOB minus 4] at [COMPANY minus 2]? We have Beer Thursdays and your fellow employees will all be young enough to be your sons (and yes, they're all male).
And at best it's:
Hi, I see you're doing [JOB] at [COMPANY]. How would you like to do the same job, but at a different, but very similar company, with the same lack of a future career path?
What you never see is:
Hi, I see you're doing [JOB] at [COMPANY]. You probably feel like you're in a rut there, and are ready to advance to [JOB + 1] at [COMPANY + 1].
All you have to do is sift through that firehose for jobs that match your expertise, at companies you wouldn't hate to work for, at rates and hours you'll accept, and that don't seem like they're just jerking you around. Then after you've expended that effort you can begin the actual process, which may fall through for any one of a billion reasons, not the least of which are that most recruiters are jackasses with little understanding of the actual field of work.
For anyone with a slightly complex set of skills just getting to square 1 of having a recruiter or HR person be able to understand your skillset is damned near impossible. And there's no way they'll actually be able to have a proper appreciation of your competency except in the crudest, most oblique manner possible (e.g. years of experience, "big" projects completed, expected wages, etc.) It's hard enough to have a conversation between talented, highly knowledgeable software devs which actually parses the differentiation between various job roles (like, say, systems engineering and web dev), which can span enormous ranges of differences. Trying to get the human resume regex parsers we know as recruiters and HR personnel to understand such things, good fucking luck. And yet today those people often stand between you and a job.
I could only imagine the state of the industry without word of mouth referrals.
Interview offers, and they only come to the people who have the right combination of keywords and location. Miss on one or both of those counts, and you are invisible. The second seems to be much more important than the first, too.
If you need the recruiter in order to get the interview in the first place, it doesn't matter how well you shine in the interview.
I once had a recruiter (he had my resume) contact me for a Novell admin position. And there was nothing related to Novell on my resume. Then I knew not to waste time with 'recruiters'.
The experience I've had with outside recruiters in the past 10 years is atrocious, though. All they're looking for is warm bodies to toss at a company, and hope one of them sticks. No or limited experience--they still want to present you...after modifying the resume you've sent them in Word.
Today's outside recruiters are inexperienced in and ignorant of the field ("Your last job was a fitness trainer??"), and borderline unethical.
I'm still surprised so many of them are in business.
Most programmers don't take this path by choice. They just don't see it as its happening. You have to pro-actively manage your developer career if you want it to grow over the long haul.
I find it quite amusing, but in my observation, this 25%/75% split can be found in each age group you'd look at...
You are basically saying 75% of the developers after certain age are useless. I don't agree or disagree with your statement . Just startled. What does it say about software development as a career ? Would you say the same thing for lawyers or doctors with 30 years experience? This is depressing.
You also could uncharitably argue that 75% of developers of any age are useless. Furthermore programming has a much lower barrier to entry than being a doctor or lawyer and it's much easier for a terrible programmer to hide their terribleness for 30 years than it is for a doctor or lawyer.
It doesn't really have anything to do with after a certain age, either. Some percentage %x of your 5 year experience programmers haven't really moved much past their first year at all.
To be fair, I think of it really as a series of plateaus, not a hard and fast rule. People get stuck at a level of professional development for all sorts of reasons, internal and external.
The thing is, it gets more noticeable the longer time period you are talking about. Comparing two people with 3 years experience where one of them hasn't really progressed past the first year or so, and the other has 3 solid years is a lot different than comparing two people with 30 years experience where one of them hasn't really passed the 10 year mark of development and the other has a solid 30.
And "useless" is the wrong way of looking at it. There is a lot of use for a developer with 5-10 years of experience, so long as you don't expect them to perform like a developer with 20-30 years experience. This is true even if they have 30 years on paper, which can be a bit of sticky point w.r.t compensation, but that's a different issue.
This absolutely happens with lawyers and doctors, by the way. A real difference is that a doctor has been forced into a good 10 years of professional development before they take the training wheels off, so the base level of competence is much higher. Some of them don't progress significantly beyond that for the rest of their careers, but that doesn't mean they aren't productive for that whole time.
As an industry, I do believe that software development is pretty weak on developing talent internally, particularly beyond the entry level.
But I've always thought a team of generalists beats a team of specialists, which is swimming against the current tide.
Considering nearly any situation your team encounters, junior people, experienced people, and very senior people are likely to take different lessons for it, because they have different perspectives on what happened and what could have/should have happened.
To me, a "same year of experience, 30 times" person is someone who runs into similar situations over and over, but fails to grow in how they understand and react to them. This is true of architectural issues, interpersonal issues, schedule management issues, ... everything really.
Technology stack isn't so important here. If anything I expect the experienced people to pick up a new stack faster, if they've done this before, all else being equal.
I'd expect insight and ideas from a 20+ year developer I'd never dream of asking a junior (< 5 years), and if you don't get them - you're probably looking at someone who has repeated many of those 20 years.
Sure they maybe repeat the same one year's experience year after year perhaps with some technology transitioning years from COBOL to VB to VB.NET or C# or maybe Java, that kinda thing. They'll know Oracle or MS SQL or DB2 well enough to make stuff work, or maybe they call into a message switch (with a pre-wrapped library for their language/framework) to read/write their LOB data.
They work there for years and years collecting their salary and annual (if there are any) bonuses and many will be the last lucky few to hang on to a decent occupational pension, in return to knocking out code to meet business requirements. But they do it well, they know their line of business apps for their organisation's market sector and "how things are done". These are conservative people working in conservative business environments.
The thing is who cares? Many of these folks have interesting lives outside their corporate bunkers which involve travelling the world, renovating houses, flying small aircraft, model trains and enjoying friends and family...and much, much more.
It's just a job and I'm sure these folks will have their own measure of job satisfaction which will be different from ours. It might not be as exciting as the seat of your pants local startup but it pays the mortgage and provides reasonable financial security.
Sure there are no absolute guarantees about job security, but I live in the UK and we're at a lot less risk of being fired for no reason other than "at will". It takes quite a bit of legal effort and cost to make employees redundant, especially in finance where you're fairly likely to be a member of a union (mass redundancies have to be negotiated and consulted on and redundancy payments agreed etc).
It's not depressing, it's just that these folks have different priorities in life.
Scott Hanselman described some of these folks as "Dark Matter Developers".
* To address the Ayende's question, being 47 I'm probably an "older dev" I've worked for the same company since 2003 (ISP/Web Hoster), I like the work, I'm happy there, they treat me well, I work from home, it's (fingers crossed) reasonably secure. It'd take a really seriously good offer to make me change employers. This is not to say that I don't keep abreast of the latest tech and frameworks, the fact that I follow HN should make that abundantly clear; for example we're looking at how we could monetize Docker for our clients - first heard about here.
I can understand this mentality, but cannot sympathize with it. Personally, I refuse to treat my job as "just a job." I want it to mean something. I want to look forward to coming to work everyday. I want to feel like the work I do makes a difference, as opposed to fizzle out and die in the massive corporate bureaucracy. I hate the idea that I'm just spinning my wheels, looking busy, collecting a paycheck. Doing so is just... soul crushing. That's the best way I can describe it.
I'm actually literally 15 minutes away from giving my two-weeks notice. Just waiting for my boss to come in. I'm glad I had the chance to put my feelings in writing somewhere other than my resignation letter because I wanted to get them off my chest but not burn bridges. Thank you teh_klev. :)
I remember when I was early in my career I talked with an older engineer who had done lots of time in the insurance business and I said something like "I don't know if I could ever work in something so boring".
He replied "making sure that claims are paid out correctly can be the different between somebody having a home or going homeless, or somebody being able to feed their family or not having transportation at all. Keeping in mind the lives of the people you're ultimately serving keeps me motivated even if the day-to-day is boring"
It's advice I've always kept at heart and it's been helpful.
Well, some people don't build model airplanes after work. They raise families, work at food banks, take care of their elderly parents, sponsor people in AA, and so on. Ideally, every waking minute of your life will make the world a better place, but it's a luxury to expect a career that really means something.
Good luck on your career decision. It sounds like you've already made up your mind, but in general it's a good idea to talk to your boss about the soulcrushingness of work well before you want to quit. It's possible that she would be willing to give you more variety, responsibility, or freedom to keep you around.
That's fine for you, and quite a laudable position to take.
But the reality is, in a great many environments, across the board -- in blue chips as well as in startups (often quite insidiously so) -- as soon as you start personally investing in your work, you start taking on considerable risks. It means, almost by definition, you're going to start butting heads with people -- or at least take on a heavy risk of appearing to others like you're butting heads with them, even though you're not. Because they'll have to start justifying their own decisions, and exposing their own lack of depth and experience. And that's really, really threatening to a lot of people.
The safest route, by far? Keep your head down, and don't become "personally invested" in your work. Otherwise you risk becoming (per the Japanese proverb) "the stake that sticks up."
The present role, where I've been for the past 11 years, is very enjoyable and gets me out of bed in the morning...but paradoxically I do treat it somewhat as "just a job". I have to do that because otherwise I'd just burn out, and that happened once before and it nearly killed my development career.
But anyway, I wish you all the best and hope the future's bright for you.
I'm skeptical of the "financial security" claim. Obviously this is not true in the U.S., where there is zero hesitancy to lay people off and very rare to have legal recourse as an employee when laid off.
But even working in the U.K. or other nations with stronger worker protections, you are still vulnerable to your employer hitting hard times. Companies can very quickly go from profitable to out of business or close to it, especially where technology is involved. Not having skills applicable outside of your current job does not seem like a secure strategy.
I guess it depends on how you define 'reasonable financial security'. As someone in the US, I define financial security as having a couple month's pay in the bank, and a retirement plan of some sort, while making enough money every month to pay the mortgage and the bills and have some left over to spend on entertainment, then it is doable, even in the US.
A mediocre developer who has a bit of experience, making $75k/yr anywhere but San Francisco or New York, could afford to be in the situation I describe.
What does 'reasonable financial security' look like elsewhere?
Sure, but types of companies I'm talking about where these folks work are big blue chip FTSE 100 companies. It's a very rare event where a company the size of Lloyds or Barclays or BAE snuffs itself out of existence.
Ok sometimes you get a perfect storm such as the 2008 banking crisis but even then the UK government and others stepped in to prop up the likes of RBS, Bank of Scotland and Northern Rock. No-one turned up to discover the doors locked in the IT department and life very quickly went back to business as usual.
If you don't have passion for something you'll never be truly good at it.
Sure they may not have the "passion" but it also doesn't mean they're grinding away through their days. As I said in another comment, your priorities change and your perception/measure of job satisfaction changes as you get older. Mine certainly has despite being a techy and developer to my core.
I don't have a reference for this, but I remember reading that other than surgeons, doctors' skills decline the further out they get from medical school... of course that's doesn't take into account a lot of the other important parts of being a doctor like how you interact with patients, etc.
Example: The top 20% of a population owns 80% of the wealth.
And yes, this applies to other occupations as well.
I've observed that Group 2 (your 75%) frequently winds up in "Director of IT" positions where they can productively re-use that year over and over again keeping the ship running. Some of it is a lack of imagination, some just a simple desire for stability. Either way, they get very stuck. Their firms can't afford for them to do anything else, and they have to take a pay cut if anything bad happens.
Now my question.... By keeping a low profile, do you feel you are artificially lower your wages or opportunities? You're in the same boat as the top 3 or 4 developers I know - very talented, well paid, jobs find them, and employable in any market. But sometimes I wonder if they could get paid more if they were more visible, simply from supply/demand. (They have a scarce skill, increasing the demand for it should increase the wages) Or is it that anyone who would properly employ them is by definition outside mainstream hiring and would know them already?