Hacker News new | past | comments | ask | show | jobs | submit login
The Unemployable Programmer (pen.io)
513 points by fuligo on Aug 3, 2015 | hide | past | favorite | 449 comments



This is an absolutely baffling article. The job market for developers is not glutted by over-supply, it's one where marginally-qualified people get hired for salaries well above the national average because companies need SOMEONE to do the job. And virtually nowhere cares about degrees, especially for experienced devs.

And having a single development job at a big company for a decade isn't some kind of career-killing move... unless you turn it into one, by letting your skills stagnate and wither, which is on you.

(Or maybe that wasn't a development job for those ten years? The article is vague. If, for some reason, the poster was out of the dev world for a decade then yeah, it's going to be harder to get back in without a lot of aggressive self-retraining. But even then, if you actually can program, it should be very do-able.)


>>And having a single development job at a big company for a decade isn't some kind of career-killing move... unless you turn it into one, by letting your skills stagnate and wither, which is on you.

HN is going to hate me for saying this, but there's another problem besides your actual skillset. At least in the start-up bay area scene, working 10 years at a big company[1] absolute is a negative to a bunch of people because they __assume__ you won't be a good culture fit.

_____

1. Not talking about the Facebook/Apple/Google trendy companies. I'm talking of Wells Fargo, JCPenny's and at&t.


Agreed. In fact, the description of the big company environment "barely any work to be done, it mostly involved sitting at a desk and writing some emails all day" is a stereotype often applied to the day to day life of boring large-company developers.

In cases where this is true, a developer who has spent the past 10 years primarily writing emails and doing minimal coding is unlikely to be a strong developer candidate - the blade is dull from lack of use.

My recommendation to OP is to find ways to demonstrate your motivation and skills in order to counteract the stereotype, perhaps through open source contributions.


LOL, I once spent my first 3 weeks at a job sitting at a desk with no computer yet... started bringing in my personal laptop tethered to my phone (killed my data use after windows update right after the new billing cycle, that was a painful month). I was spending about 20 hours a week in planning meetings though... once I had a computer assigned, I was still blocked by others' tasks another 14-15 hours a week... so all told, I actually got about 4-6 hours of actual productive coding done on a typical week...

I jumped at the first job that even looked interesting to me... I couldn't handle that much mundane.


> This is an absolutely baffling article. The job market for developers is not glutted by over-supply, it's one where marginally-qualified people get hired for salaries well above the national average because companies need SOMEONE to do the job. And virtually nowhere cares about degrees, especially for experienced devs.

I've had about 40-50% of places reject me due to a lack of degree. A couple even sent me hopeful follow up emails hoping I simply left it off my resume (I'm guessing they don't believe I could do what I've got on my resume without a degree I guess?).

This includes small startups from YC back when I was curious.

So please, no one, take his "no one cares" seriously. About half of companies do care about the degree.


40%-50% rejection is really amazing, I don't think you quite realise how tough the job market is right now.

I have a friend with chemistry PhD who has - with no exaggeration here - applied for at least 300 jobs with varying levels of success.


A chemistry PhD qualifies you to do advanced research in chemistry -- nothing more. If anything a PhD will work against a candidate in a general industry tech role, because the assumption is they either a) failed in the academic job market for whatever reason, or b) will get bored in a non-research role and split early.

Personally I'm biased against chem/bio/physics etc. PhDs who come in for development jobs because the ones I've known have had terrible, mind-blowingly bad coding practices drilled into them since undergrad and are strangely more resistant to learning best practices than those from more tech-related fields.


The chemistry PhD job market is generally considered oversupplied, particularly with the pharmaceutical industry in general retrenchment (see, e.g., <http://pipeline.corante.com/archives/2011/01/07/the_phd_prob..., and yes I do realize the age of that link, but nothing much has changed since then).


Its 40-50% just due to degree, based on my estimation. I've got another pile of rejections for different reasons.

About 80% reject me before phone interviews, etc.

Literally the only pre-interview cited rejection reason was a lack of degree.


I always thought normal rejection rates varied between around 75% (in a strong job market) to 95% in down markets, say 2007-2009. When I was looking for a job, a 40-50% rejection rate would have been utterly amazing.


But 40-50% really isn't that bad at all, considering in the general (non-programming) job market, people often send out dozens and dozens of resumes before getting an interview at all. I have many non-programmer friends who have been looking for work for months, with a college degree.

So you have to send out two resumes where the average degree'ed programmer has to send out one? Could be worse. You did, after all, opt to not spend four years of your life in an academic institution -- there are pros and cons to that decision.


Eh, its more like 80% factoring in the jobs that didn't meet my criteria to consider them "degree related rejections".

But yeah, 5:1 resume:interview isn't bad. I'm just saying some people do care.

> So you have to send out two resumes where the average degree'ed programmer has to send out one? Could be worse. You did, after all, opt to not spend four years of your life in an academic institution -- there are pros and cons to that decision.

Yeah. That more or less seems to be the case. I'm not complaining, just replying to the post I replied to originally which said "no one cares" about a degree.


How do you know that 40-50% of places are rejecting you because of your lack of degree? Do they say this outright in their rejection emails? What's your overall rejection rate?

I don't even get a timely response (within a month of application) to 50% of the positions I apply for. That's why it's absolutely essential to be able to apply to places in bulk - have a cover letter and resume that are just generic enough to use for any job you would want.

I fully expect to have to apply to 100 places in order to have 3 solid interviews. And I expect that number to grow.


> How do you know that 40-50% of places are rejecting you because of your lack of degree? Do they say this outright in their rejection emails? What's your overall rejection rate?

1) I received several requests for an updated resume with a degree. 2) I was pulled aside in one interview and told I couldn't get what I was asking without a degree.

So, out of the people that I got a rejection reason for, basically.

Last Job Search:

61 applications -> 14 phone interviews -> 5 in person interviews

Before phone interviews:

2 requests from [one of the big 5] to interview that were unsolicited from their recruiters that I refused outright.

I received 9 emails related to the degree. 3 asked why I wasted their time without a degree. 4 asked for updated resumes with a degree. 2 stated their rejection was due to a lack of degree.

Additionally, the "failures" to reach the phone interview were heavily weighted towards places that mentioned a degree in their job ad. [e.g. I saw 150% of the failure rate for job ads with the degree than for job ads that just listed experience requirements ]

After interviews:

6 were too much money [ I was literally pulled aside at the in-office bar, told by the hiring manager that if I asked for $10k less he would give me the job ]

3 were due to other reasons that I didn't think were noteworthy.

I rejected 4 places on the basis of my interactions with them.


Wow, that's harsh. I'm sorry to hear you've met with such rejection. But I guess that's the difference between a hard requirement and a soft requirement on a job posting - you can usually fudge or talk your way around a soft requirement, but not a hard requirement.

Additionally, I've estimated that 30-40% of places I've interviewed don't really know what position they're hiring someone for; or they aren't serious about hiring and are just testing the waters to see how good their employees are. Maybe for you that's closer to 5-10%? It sounds like you get a lot more informative responses than I get. (But I'm in system & network administration and virtualization, not software development)

For the 6 that would have taken you for $10k less, that sounds like negotiation. Why didn't you take those jobs? Were you offered more elsewhere at the same time?


> Wow, that's harsh. I'm sorry to hear you've met with such rejection. But I guess that's the difference between a hard requirement and a soft requirement on a job posting - you can usually fudge or talk your way around a soft requirement, but not a hard requirement.

Well, supposedly, they are soft requirements as they say something like "Degree or N years relevant experience".

I've found a number of those were in the "You must have a degree pile" which is what made me conclude what I did.

> For the 6 that would have taken you for $10k less, that sounds like negotiation. Why didn't you take those jobs? Were you offered more elsewhere at the same time?

Sorry, that was one example of one that got to the interview stage. It wasn't all exactly like that, they were varying amounts from $8-15k.

> For the 6 that would have taken you for $10k less, that sounds like negotiation. Why didn't you take those jobs? Were you offered more elsewhere at the same time?

I was looking because we had a major layoff coming and I wasn't sure I'd stay. I basically kept my job and I literally cannot find people offering me what I make now.

> Additionally, I've estimated that 30-40% of places I've interviewed don't really know what position they're hiring someone for; or they aren't serious about hiring and are just testing the waters to see how good their employees are. Maybe for you that's closer to 5-10%? It sounds like you get a lot more informative responses than I get. (But I'm in system & network administration and virtualization, not software development)

I wouldn't really know. Most failures are silent or non-responses that say nothing. It could be you are correct and I'm attributing it to degrees


> How do you know that 40-50% of places are rejecting you because of your lack of degree? Do they say this outright in their rejection emails?

How many positions have you applied for that itemized the reasons for rejection? I've had that happen maybe once, and it was for a role at a startup.

Anyhow, often times the degree is a hard requirement. Mine is in Philosophy, and for a long time I left it off my CV because I didn't perceive it as being relevant.

When I applied for a position with a research lab, the [engineering] team politely responded asking if I had any academic credentials whatsoever. They wanted to move me along the interview process, but the lack of a degree would have kiboshed the whole thing.


I think it's important to differentiate that it depends on the company and the field. For lack of a better phrase there are sexy companies and not so sexy companies in the IT world. They get different people applying to them and they have different wants. If you are looking at doing R&D at a startup software company, the competition is going to be far different than working at a medium sized independent insurance company


Yes, but the 50% ratio is for those that aren't doing R&D or the like. They are literally asking for stuff that has been done 912834902384902380492349023 times before from an IT perspective like a standard OS db cluster backing a web app which is behind a CDN+Load Balancer combination.


I've been with teams who wouldn't hire anyone who couldn't finish a degree. It doesn't matter which kind, but they had to have proven they could do the degree.


That's a double edged sword I guess.

I chose my school and degree based around staying close to home to help with my disabled brother. It turned out to be a poor decision, academically that is, as the course combined software engineering students with business I.T and we weren't covering anything I didn't already know. I got a summer placement writing code and realised I was learning much more during that time, so when they asked if I wanted to stay on, I accepted.

It could be viewed as not being able to complete the degree, on the other hand would it have been a good choice to persevere with a bad decision just to prove I could? I'd be concerned with working with people who couldn't admit to making a mistake, then making the best of it. Or those who refused to see the grey areas.


I happen to agree with you, and I think we passed on some good candidates because of it. Frankly if I hadn't gotten lucky I would still be temping in warehouses or worse, and I actually finished an(arguably worthless) degree. I think it would have been interesting to explore the candidate's sense of prudence in not finishing school, because I suspect that it was a prudent decision for him.


It's not about the hiring team looking for anything specific that a degree could give you, it's that they've bought into the old idea that the piece of paper is a hard wall that separates them from the homeless guy outside. The corollary of "I'm superior and secure in my position because of this degree" is "someone without a degree is inferior". Fear and self-doubt are the only reasons that anyone requires unrelated degrees.


No, it shows that that individual is capable of sticking something difficult out through the long term. Are there people without there with that quality that don't have degrees? Certainly, but you don't know whether someone without a degree possesses that quality or not (and yes, false positives are a thing, there's always a risk).

Admittedly the value of a degree has likely been diluted in recent years given that college standards seem to be getting more relaxed, but that doesn't mean that it's not still a somewhat useful signal, especially when you have to filter hundreds (if not thousands) of resumes for a single position.

Just like nobody ever got fired for buying IBM, no one got fired for hiring the candidate with a degree. Believe it or not, there may be more reasons behind this than 'self doubt' and 'insecurities'.


Those places are silly. We'd hire you if you can do low-level stuff. (background check too, but I guess you'd pass based on other posts)


I'm happy where I am at the moment but thanks. :)


[deleted]


> I have a degree but it's from a for-profit trade art school

Tbh, my first jobs were in places that was almost entirely made up of people from those sorts of places and paid below market.

But like I've said elsewhere, I only brought it up 'cause the original parent I replied to claims there is no need to worry about the degree essentially.


This story sounds like the person started as a programmer, started a small company, and then did more Business Development and running the company than programming. He mentioned having to fire people, so I wonder how many people he employed.

So it sounds like he already made a career change (from software development to business executive) and is now trying to change back to software developer, after a decade out. Most of the stuff that was common back then is "considered harmful" now, ranging from GOTO statements to <b> tags.

And also this sounds like my poor mother, who labored as a secretary and transcriptionist, left the labor force to rear children, then lamented that her skills had become useless because computers had come along and taught everyone to type. It's each person's responsibility to make sure they're still useful to everyone else in society.

And so the author's other options might be continuing on as an executive at another software company - but that almost always comes from the human network that is developed by going out and meeting people at various events. Which it sounds like the author did not do either.

I guess the moral of the story is that the author got spoiled during the Dotcom boom or shortly thereafter, got to continue living life in super-easy mode, and is having a rough awakening to the way life is for everyone else.


I kind of miss simple <b>...</b> tags... I accept that <i> is now typically used for icons... but is <span class="foo">...</span> really better?

I was once a really big proponent of semantic markup, and avoiding tables for non-table data... but I don't know that flexgrid that much better, more flexible, but not really much better.


What's baffling is people in denial blaming the victims. We admit it is our fault for thinking a Computer Science degree had any value. We weren't fooled, we were just dumb. But we still want to survive, that doesn't make us bad people just because we enjoy programming.


>...admit it is our fault for thinking a Computer Science degree had any value.

CS degrees do have value. But their value is not constant, and depends heavily on the domain and requirements for a particular job. The real confusion is thinking that a CS degree is supposed to merely provide job skills training. While you get some of that as part of the deal, that's not actually the purpose of a degree -- and it never was. In that light, it really shouldn't be surprising that a degree isn't always required to be successful.


Because most line of business applications are crafted, run on insanely fast hardware and don't need pure CS/Math skills to create. Some jobs need CS/EE/Math degree knowledge to do well. Software is written by a wide variety of skill and knowledge levels to varying degrees of effectiveness... in the end all anyone cares about is does it work/look reasonably well.


What I don't understand is, why aren't you getting a degree? If you acknowledge a degree is important to get hired, why not just get one? At least here in germany it takes you three years to get a degree -- if you can actually code I would claim you even have more than enough time to work on the side to finance it. Given that you'll probably get a good job with six figures right of the bat if you are even borderline competent, that sounds like a better investment of time to me, than trying to do crappy freelance work on the side. Even if we assume that a degree is just a piece of paper that doesn't mean anytheng except getting your foot into the door and even if we add horrendous US enrollment fees (which, btw, the USA should finally do something about) it would still be a very good investment that pays for itself after a couple of years at the most.

I just don't get, why it seems so much easier, to fight the system without a degree, than just giving up the fight and get one?


Not everyone can. Here in the US, doing so without family support / fallback if you fail out makes it extremely risky. If you're supporting yourself completely, having to work gets in the way of going to school (immersion while working full-time, especially at workplaces that demand all your time is basically impossible.) Others succeed in a work setting, but struggle in school. Still others don't want to deal with mounds of debt, and have no college fund/trust fund/aren't good enough to get scholarships. There are lots of reasons.

https://medium.com/@opirmusic/why-software-developers-should...


The more I learn about the US educational system, the more I consider it sucking majorly. I don't know how you can put up with that stuff. I already consider it a source of major social injustice, that here in GER you will only receive state-help for the first 5 years of your studies. But it's at least still possible for everyone who wants to get a degree, if they are willing to exit with something like 10K€ of interest-free debt, payable over 8 years (and have something like a 10h/week job on the side, which is incredibly easy to get as a CS-major).

I guess I'm just overly priviledged by the german educational system… :-/


Uh I got a BS in Computer Science in 2004. There were never any jobs for us, much less ones that offered six figures. I thought that I was borderline competent. I was the smartest kid in my high school. I programmed an operating system and a raytracer. I built games for fun. But when I look for jobs everyone just tells me what a good investment my degree was. Having a degree doesn't get your foot in the door. How can I make it an investment that pays off? It was something that was completely worthless.


> thinking a Computer Science degree had any value.

Interesting. I thought that in 1984, and I've been right ever since then. As have most of the classmates I have kept up with (perhaps a self-selection bias there, granted).

Maybe it was the time or I've been very lucky. <shrug>


Maybe it's the sort of field where the successful people like to shit on those trying to survive.


>And having a single development job at a big company for a decade isn't some kind of career-killing move... unless you turn it into one, by letting your skills stagnate and wither, which is on you.

Working 40 hrs without training or proper mentoring leads to skill stagnation. A $500 training budget will get you nowhere and you'll find yourself using long weekends (like I'm doing right now) learning new skills. Maybe that's expected in the industry and I've made my peace with it but in other industries you get sent to training courses even if they take away few days or even weeks of "productive" time.


Can anyone please tell me what developers use training budgets for? I feel like most things I have learned are from free resources such as blogs and StackOverflow. What do people spend money on? Books I suppose are the most likely candidate, but those can definitely be bought with $500...

Do people actually get value out of conferences? Those always seem more like cash grabs and marketing events than actual training value-adds.


> Do people actually get value out of conferences?

In terms of skill development? Yes, although it's value you could get for free if you read the right blogs, keep involved in the community, and are a self-motivated person.

In terms of networking? Yes, although perhaps you could get that for free too, if you go to enough hackerspaces and meetups etc.

Ironically, a lot of the people I meet at conferences are the kind of driven, motivated, outgoing people who are well suited to getting those benefits for free. But not all of them!

I certainly derive value from going to conferences.


I think you'll get more value from local Meetups and the very few non-marketing conferences out there. If it's a tech company putting on a conference, expect a lot of marketing. Conferences like Strangeloop and the no-fluff ones are usually better.

Other than that, books and screencasts seem to be a good way to spend that training budget as well. But there's a ton of videos online available for free too.

Of course, they all require time. Which is money. :)


We've paid for numerous video tutorials and live talks about specific technologies.

I suspect there's plenty of value in the well-known conferences.


Three points to that:

1. This differs more from workplace to workplace than industry to industry. Many dev workplaces will give developers a week or two of official "training time." Many other industries have workplaces that don't do that.

2. The reality is, training on new technologies has more value to you than it does to your employer. If your employer uses J2EE, Subversion, and Oracle, there's little benefit to them sending you off to learn Node, git, and Mongo. But there's a big benefit to you in knowing that, potentially. If the benefits of learning flow more to you than to your employer, you shouldn't be surprised if the burden of learning falls onto you.

3. But mostly, if you're a person who finds software development genuinely interesting (the hobbyist-type), you'll keep up on stuff basically recreationally. When you read about the latest whatever, you'll be curious and want to try it out and learn how it works because you're interested in that. You don't need any formal training to learn new technologies, just a little motivation and time. An hour spent not watching TV can get you a long way in understanding a new technology.


On point 3 I'd say yes, enthusiastic people learn new stuff, but it has limits. There is too much technology for any one person to master, but I also think it's a trap to spend too much time constantly learning the latest technology, at the expense of actually building stuff (and learning from the experience).

At least I found myself falling into that the last time I was between jobs -- constantly watching beginner videos on new thing X, Y, Z instead of actually doing something useful in one of them.

Back in employed world of course it can be the opposite -- you become a master of whatever tech your company is using but get little exposure outside that. It is however often possible to guide the company into a new technology and get the best of both worlds.


2. The same could be said about any compensation. It generally benefits you, not your employer. That doesn't mean there's no incentive to pay you.

Training should be seen as a part of compensation. While there's some alignment with the employers needs, giving employees a training budget shoulder be seen as a cheap way to provide more compensation and they should be able to use it to hone their skills in whatever area they want, regardless of its utility to employers.


the question isn't whether a training budget is bad, but whether the company accounted for it when they computed your salary. Would you have swapped a training budget in lieu of some of your current salary? I think most people would say no to that.


But if you choose wrong sorry about your luck. I've been working on a mobile app using corona on my own. I also was involved in a giant $20 million dollar project that was in an obscure platform. so, haven't keep up on the latest .net technology. so, too bad for me.


I completely agree. I am self taught, started learning code about 6 years ago, and I get recruiters contacting me and job offers constantly. It's gets annoying actually. A guy without a degree getting calls about 6 figure jobs on a regular basis sure sounds like he'd be in a different industry than the guy who wrote this article. When I hear developers with degrees complaining about how hard it is to find work these days I'm completely baffled. Software engineering is one of the best fields to be in today with an overabundance of jobs available. I start to wonder about developers who say they can't find work. What's really going on?


no... this happens. I've got a buddy who is trying to find a job right now. My phone is ringing off the hook even after I've removed my number from the job boards, 'cause I have a pretty cushy gig right now, while he gets almost nothing. He's one of the smartest guys I know, and he's not crazy, no record or nothing, he's just kinda shy and comes off as... well, people tend to think he's shorter than he is.

Which is fuckin' weird, 'cause who cares, right? this isn't sales. the man can program.

Now, he does have a handful of real problems. First, he takes interviews seriously; like he stops looking for work when he gets a serious one. He doesn't look for work while he's working. And he wants a job where he has experience with the languages and frameworks, rather than practicing his "I've got hands, I'm sure I can figure it out" that the rest of us do. To be clear, he's worked with me before, and I have seen him pick up new stuff. He's a smart guy and picks up new stuff faster than most, he just doesn't want to be deceptive.

(If anyone is looking for a smart C++ dude, preferably someone using QT, lemme know, I'll hook you up.)

The funny thing is that I just got off of working for my own company for a long time (not ten years... about half that) and yeah, it's harder to get back in the game working for other people; I'm making less than several of my ex-employees, and I had to do way more interviews than I usually do (though, as I said in another post, that might be because I was confused about what 'devops' meant, in a job description)

So... working for yourself at a company that wasn't venture backed is a disadvantage, but not one that can't be overcome. Lacking that "bro attitude" - that confidence - that willingness to push and shove and to say what is expected? that's a disadvantage... well, that's a disadvantage that it's really hard to overcome.


* (If anyone is looking for a smart C++ dude, preferably someone using QT, lemme know, I'll hook you up.) *

Uh, maybe. Is he OK with low-level stuff too? We do use Qt, but we might ask him to write a disassembler or a kernel driver.


I think so. He would be super excited to work on the dissassembler. He doesn't have linux kernel experience, but he's on the list of people I'd hire to do a kernel driver, if I needed such a thing. (Really, he's only on the top of that list because everyone else I know who is proven in that field is fully employed and super expensive. But this guy is definitely smart enough to handle it.)

he was the original author of a serial class for qt[1]... of course, I know that is not anything like a device driver, but it's something.

I also body-shopped and sysadmined for him on a project that involved reverse-engineering a windows program.

but... you'd have to make it clear that you are okay that he doesn't have linux kernel experience, so long as he's willing to try it.

I think he'd also be cool with contract work, if you want to try him out.

my email is lsc@prgmr.com- I don't really feel like it would be cool to post his email on the open internet but I can forward something.

[1]qextserialport, which I am given to understand isn't the standard.


If there is really an under-supply of (or over-demand for) developers, why aren't developer salaries skyrocketing? Something doesn't add up.


Some really are. I know several who I wouldn't classify as all that skilled, but they hit the right check boxes, and they're making $160k-$350k a year a year or two out of college or even high school.

The way this works is that each check box you can hit, no matter how arbitrarily increases your market value x amount.

- Have a UX portfolio? $40k - Is it good and you know javascript? +$20k - Have a couple of javascript frameworks under your belt? +$50k - Show that you're language agnostic on the backend? +20k - Have you made any videogames? +$30k - Did a machine learning project once and know how to talk about the subject intelligently? +$50k.

etc. The thing is that not every job will pay for every checkbox, but if you find one that does you maximize your value. It's one of those matrix things.


Companies are cheap, and lots of hiring managers believe they can get lucky and find that one guy that is a rockstar programmer but doesn't know it, and thus can be had for cheap.


Agreed. Sounds like there's something else at play with this guys inability to find work. Maybe he doesn't interview very well?


Some people are terrible at interviews. A few months ago I interviewed a developer in his thirties who had a great looking resume. Worked on lots of big projects in positions of both making decisions about software architecture, technology to use, etc.. and also being a programmer doing the actual work. His resume was really awesome.

When we received him in our interview, we asked him to tell us a bit about his past projects, what he liked, disliked, etc. He didn't talk much and it took us a lot of questions to dig up helpful things.

Then we asked a couple programming related questions and he bombed them all. He couldn't put an algorithm into words, write code that compiles or gives the proper results. Our interview programming questions start very easy and we slowly iterate by adding more constraints that shows if a dev has a deep knowledge of the language and framework.

I have a feeling like this developer was good when he's working alone on a project with no one to talk to. He would have never fit in our company culture and we couldn't evaluate his skills in an interview.


> developer was good when he's working alone on a project with no one to talk to

or he/she could have faked the resume, or dressed it in a good way. I find that excellent programmers tend to be good communicators, because good, clean programming is about communicating with future programmers (which could be yourself in 5 yrs time). Having clarity in thought and being able to express ideas to other people is so crucial that i would rank that above experience with a certain stack/tech.


He might have made it look better but it definitely wasn't fake, since he worked at one company I had previously worked at too. We weren't there at the same time but I asked him which team he worked in, who he worked with, who was his team lead, etc.. and he gave me all legit answers. We talked about the processes there and what he liked/disliked since we had both worked in the same environment.


It's possible he wasn't prepared for the interview, and was thrown for a loop early on and failed to recover. It happens. Although that is equally as bad.


He's old (early 40'). Taboo subject in the sector.


This is something being glossed over by most of the responses. Age discrimination (or rather, age preconception, if that's a less loaded term) is frighteningly real.


i would expect that an older person with more battle tested experience ought to fair better tbh, so i don't get it with the agism. Unless the position is meant for a high strung startup where you're expected to basically live there, with no dependents to look after etc.


There are several reasons younger developers are sometimes valued over older candidates. Work life balance is part of it, but there are other factors at play. This is a pretty well trodden topic, and you can find a lot of the typical discussion points by Googling. A common explanation, for instance, is that experience in tech doesn't accrue a ton of value due to tech obsolescence - 20 Cobol experience doesn't really translate to much of anything these days.

However, rather than re-hash all that, it's worth taking a look at the numbers - numbers that absolutely indicate a younger skewing workforce. For instance, the average age at Facebook is 26, and 31 at Google. Tech as a whole leans young, with the "oldest" tech company workforce (HP) still younger than the national median [1]

Now, whether simply having a younger workforce points towards actual age discrimination is a matter of fair debate. A perfectly reasonable explanation might be that tech is a young field, hence a young workforce. However, there are enough confounding factors (limitations of experience, work/life balance in dev roles, etc.) that certainly make for rational arguments in favor of age being more of burden than boon.

Then, of course, you have stuff like this :

> "Young people are just smarter. Why are most chess masters under 30? I don't know. Young people just have simpler lives. We may not own a car. We may not have family. Simplicity in life allows you to focus on what's important." -- Zuckerberg

True or not, it would be weird to argue that his opinion is somehow a rare isolated outlier. It speaks to a common conception - both in the valley and in tech - that this is a business for the young.

[1] http://bits.blogs.nytimes.com/2013/07/05/technology-workers-...


It speaks to a common conception - both in the valley and in tech - that this is a business for the young.

Most programming work doesn't require a genius level iq. It requires being able to build simple things very, very quickly. As a result, the experience level at a company matches the structure pyramid. The smart, older guys at the top make all the tough decisions and the fresh, younger guys at the bottom code as fast as they can. As those at the bottom age, they find themselves competing with other programmers their age for far fewer jobs toward the top of the pyramid.


In some cases, those with less experience are threatened by people who have more, and if a company has a low median age experience might be an issue to the interviewers. The problem is exacerbated when the interviewee is not impressed when the latest, bleeding edge tech is in use at the target company, and has seen similar projects completed with stable and boring tech.

In others, especially those with the high-strung startup mentality you mention, they are looking for people to work more hours for less pay and promises. Younger people are more able / willing to take risks. Experienced workers are not as interested in promises, but prefer defined returns on their individual investments.


Yeah, that was my first thought on reading that article. He's old and doesn't have a gazillion skills on his resume because he stayed in one place for a long time.

Since he was explicitly told that they wouldn't be sending his resume to anyone else that pretty much means the failings are purely resume-based, not ability or interview skills. I have a hard time picturing a resume making one unemployable other than due to age discrimination.


> This is an absolutely baffling article. The job market for developers is not glutted by over-supply, it's one where marginally-qualified people get hired for salaries well above the national average because companies need SOMEONE to do the job. And virtually nowhere cares about degrees, especially for experienced devs.

What is baffling is this Valley-centric, web and mobile development-centric line being repeated constantly in this thread. Most of the world is a different story. Outside the Valley and a couple other metros, and outside the web and mobile fields in general: 1) degrees are usually required; 2) employers are much pickier.


So I'm self taught, no degree, and I get job offers and headhunters out of the blue from all over the central US. Denver, Kansas City, Omaha, Des Moines, Chicago, and small cities I've never heard of.

The best thing I ever did was look at my friends early on who were getting found on linked in and organized my linkedin profile to look as similar as theirs as I could truthfully. The next best thing was taking 6 months off from freelance work to just build a portfolio of small projects that demonstrated the skills people were looking for, and it made interviews much simpler.

I honestly refuse technical interviews at this point because they're a waste of time and I don't study the crap they ask for and it indicates technical leadership can't spot a good developer by looking at what they've built and talking to them about their methodology.

If I really want a new job pronto, I email 5 recruiters who send me the most random postings and tell them what I'm looking for. Last time I did this I had 6 interviews scheduled that week and was in a new job that met my requirements in 2. This is in Kansas City, and while there is a fair amount of tech worker shortage here it's no where near what it is other places.

Honestly the OP's story doesn't sound all that different from my own. Started a tech company in grad school, taught myself javascript and front end work, left just before what we started was sold for a small amount and didn't get anything out of it except exhaustion and credit card payments on top of student loans. But my "40 hour a week vacation" as I called it didn't work out and I got dumped in an executive reshuffling. Did one of those code bootcamps to learn back end C# .Net MVC work in 6 months and got my first developer job at $40k, got the next one at $60k 6 months later, $75k 6 months after that, and $100k 6 months after that.

It's very doable anywhere in the country right now, but you can't just float down stream. You have to have a plan and actively work it and check yourself against the market and learn stuff people want you to know to get to the next level. Your skillset is not a constant, and it's up to you to demonstrate that you have it. If you leave it up to someone else to figure out how to do all that you're screwed, because if they knew how to do that they wouldn't hire so many developers who don't know what they're doing.


Lessons from this post:

1. If you're going to swear, don't use an asterisk to try and make it look good. We can take it, honest.

2. Something in between two asterisks on HN gets shown in italics.


Huh. Yep, all I did was use the asterixesses. Clearly the site was offended by my attempt at modesty.


You can edit it. It's a weird nitpick, but it actually detracts from the legibility.


Done, sorry for the eye strain.


>Did one of those code bootcamps to learn back end C# .Net MVC work in 6 months and got my first developer job at $40k, got the next one at $60k 6 months later, $75k 6 months after that, and $100k 6 months after that.

That's a ridiculously good trajectory actually. Did you go to each next job based on what you built previously (plus the business experience), or were you also doing your own stuff in parallel to work?


So the first 2 years I was significantly underpaid with the digital agency we started really, where I was the only person doing front end and everyone else being a data scientist or strictly back-end person.

Front-end work was really undervalued as we priced our work, but the only thing that was less valued were my MBA and business operations skills, so I kept doing that until student loans kicked in.

I did a lot of community centered work for free and freelance stuff on the side after I left especially after my Senior UX job at a startup that was making money fell through, but it wasn't until I built my portfolio and assembled what I could that was all over the place and used it as my initial resume that I realized people would hire me as like an actual employee web developer.

It's a couple years out of date now, and really starting to show its age, but this is what I used when doing my initial job hunting early in 2013. http://www.startup-designs.com

So some of the trajectory is due to the foundation I had already, but most of it was talking to people I knew who were where I wanted to get to and blatantly copying what they told me I needed to do. It's not rocket science the stuff that actually works, but it's not intuitive either.


it wasn't until I built my portfolio and assembled what I could that was all over the place and used it as my initial resume that I realized people would hire me as like an actual employee web developer.

I second this experience. In fact having an easily accessible portfolio (aka website) was what got me interviews and current job.

I was let go from help desk position about 3-4 years ago. I admit I was over paid help desk tech. I tried to use that time to restart my career (study) as a linux admin/tech. Despite my years in IT working as IT tech and Windows admin, I didn't get much response. What really helped get my current job was putting up a blog with tutorials explaining how to do certain tasks on Linux/webdev. I have a few dozen articles and each blog post is 2000+ words. Each took many hours to complete, some days. It goes from learning something, start writing, editing, going through the steps again to ensure it works.

For anyone who's having a hard time getting a job in tech industry, your goal should be putting up online an example of what you can do that others can view easily. Our industry is blessed with workers having this option. In most other career fields, this is not possible.

I would encourage the original poster of pen.io to put up his work as part of his resume. I feel his pain as I'm also not in the early 20's age bracket but don't give up.


Um, whatever key you used instead of 'u' in 'fucked' made almost your entire message italicized.


As I was reading the post, I couldn't wait for him to swear again so the italics would be turned off.


"Started a tech company in grad school"

How could you do that if you don't have a degree? Very few grad schools will admit someone without an undergrad degree.


I think he means that his degree is not in Computer Science or a related field. Not that he does not have a degree.


Yep, undergrad was in finance. Grad school was an MBA in entrepreneurship.


I have friends who are devs and hiring managers (several of whom have no degrees, even) in many cities -- Detroit, Columbus, Portland, Chicago, SF -- and the same thing is true in all those places.

If you live in a small town, I can believe that the opportunities are limited, but in basically any metro area of any size, it's a developers' market.


Well, I live in Dallas. I have been fishing in Dallas and Austin over the past several months and can't get any interviews. I would like to know where all these "desperate" companies are and what domains they are in.


You must be doing something seriously wrong if you are a dev in Dallas and haven't found anything after a couple weeks.

I live in Fort Worth, I was in the market last month and I got flooded with offers for interviews from the North Dallas area (Addison, Plano, Frisco). Not talking about these "urgent requirement" emails from indian recruiters, this is actual local recruiters I have dealt with before.

My background is pretty much like OP: I learned to program BASIC on the C64 and dropped off college, the difference is I did all that in South America. Since I came to the US in 1999 I haven't had trouble finding a dev job besides being unemployed for 6 months after the dot-com bubble.


What's your skill set and background? I hired a dev team a few months ago in Dallas and it was incredibly difficult to find qualified candidates, of whom only a few made it through the tech interviews (and I'm not that tough an interviewer) -- twenty resumes (from a very good headhunter who culled out marginal candidates) meant a dozen interviews meant one hire. I'm not in the hiring market right now (and may not even be in an industry you're interested in), but if you want to shoot a resume to careerbasetx at gmail (it's a throwaway account) I'd be more than happy to take a look at it, for whatever that might be worth.


Thanks, I'll do that. For the record, my professional programming experience is about 2/3 real-time embedded signal processing code, 1/3 NLP research and prototyping. I have also had a straight EE role that involved some embedded and test set code.


I think I recall getting you an interview. (at http://advancedsecuritylabs.com/ in Florida) Did we not give you an offer? Did you reject an offer?

We could easily put you in San Antonio or Austin. We might even be able to do Seattle or Cambridge (near Boston), though those are tiny offices.

If I remember right and we did reject you, try a different office.


First sentence: "Did we not give you an offer? Did you reject an offer?"

Third sentence: "If I remember right and we did reject you..."

---------

Where do I even begin with this.


I am a dev in Dallas and I am constantly inundated w/ recruiters to the point of annoyance. Based on my friends' anecdotal management/employer-side stories across several Dallas companies, it is definitely an employee market right now. Many companies are paying hefty salaries/bonuses to move people in from out of state.


During my unemployment spell in 2010-2012, I got lots of recruiters talking to me, and I even had some interviews come out of that.

Guess what? The employers were pickier than the recruiters.

I've learned to deeply distrust recruiters: they are known to make up lie after lie just to throw as many names in front of an employer as possible on the off chance one of us gets hired so they can grab their commission. They'll ask employers to interview blatantly incompetent candidates (including myself: I was absolutely not competent for some of the positions recruiters tried to get me) just because they're that desperate.

Then, when I was looking for a new job in 2014 (employed, but unhappy at my then-current position), I got innundated with so many recruiters lobbing utter shit at me. This time, I could afford to be picky, and I wasn't afraid to say to some of the shadier ones, "never contact me again". I had multiple recruiters try to offer me a six-month contract in another state, despite my profile on every job site saying both "unwilling to relocate" and "full-time only, no contracts". I had recruiters try to get me positions that required twice the amount of experience I had in technologies I've never touched. I had one recruiter repeatedly send me calls and emails for a position I explicitly told them I wanted no part of the first time he contacted me, and he didn't stop until I sent an email saying "please cease and desist from contacting me again, or I will take legal action against both you and your firm" (I should've also called his firm's HR department, but c'est la vie...).

Oh, and now that I'm happily employed at my current employer, I still get frequent calls from recruiters. I legally changed my name (first, middle, and last) in June 2014, but most of the recruiters calling me ask for me by my old name, and I'm at a point in my life where even hearing my old name causes me emotional distress.

In short: recruiters are sleazy, and being contacted by recruiters has no bearing on whether or not you'll actually get a job.


There are different types of recruiters. Some are those worthless spamlords, who pester candidates with irrelevant jobs and submit worthless candidates to hiring managers.

But the good ones look for good matches and good candidates, and don't waste people's time with junk. One recruiter placed more people on my team, with a much higher hit-rate, than any other one I dealt with; when I was interested in changing positions, I let him know, and after a month in which he didn't bother me at all, he pointed me toward an opening that was a perfect fit for me.

If you build up relationships with recruiters, you'll learn which are which, and how to ignore the Robert Halfs and Manpowers while still getting the benefit of the good ones.


Recruiting these days seems like what real estate agents were from 2000-2008. Lots of people were cashing in on the wave. I feel the same thing is happening now with tech recruiting. Because of that there's so much crap out there that just taking the time to filter is an exercise in frustration.

I had one recruiter call me and sell me on a position as a portal developer. At the end of the call he finally asked "by the way what is a portal?" He was dead serious. I was livid.


Well the quick answer is JavaScript is needed everywhere.

I'd bone up on that, and learn angular inside and out as well as a couple of other JavaScript frameworks for good measure. That's what gets me hired as a C# developer in php, ruby, and java shops where I can then gradually show them I know UX, devops, and other little valuable things. The trick is that the hot thing in short supply will change this time next year and you'll need to keep a finger on the pulse of it and learn that if you're looking to job hunt.


Hence the reason I said "web and mobile development-centric" in the post that started this sub-thread.

I'm actually writing a UI in Angular right now or a Java-based system I wrote. I hate it. It is a pain I'm going through because I need a UI for this prototype, but there is no way I would want to do this full-time.


Let me put it like this: If you're an unemployed developer writing sob-story posts about how it's impossible to find a job, I'm going to assume that you're not wedded to a particular tech stack and are willing to work on the technologies that are in-demand.


Absolutely. If I found myself out on the street tomorrow I would suck it up and take an Angular job if it came along. Beggars can't be choosers. In fact, I'm glad I have that flexibility if I really need it someday.


Honestly I don't tend to use angular with pure .net stuff. Razor and Linq handle all the templating for a single page app and data piping. Really all I'd add to the standard environment is something like this ( https://github.com/SignalR/SignalR ) so you can get real time data and refresh the page without postback.

For node work you really need it, but if you're using .net you're running a framework on top of your framework. So kind of more of a pain in the ass than you need to deal with for most things.


I designed the system as a set of (mostly) REST services, with the goal of keeping it as flexible as possible. Not only is the UI completely separate from the system, it is actually optional. The system is designed so that our current or future customers could slot it into an existing, larger analysis system if they wanted to.


Ah, yeah definitely need something like angular then. Very cool sounding project.


If you hate it, why are you using Angular?


Angular gained a lot of popularity by being an earlier contender at the time it was released... React is on the rise now, and may overtake it... Angular2 is more like React and a departure from it's prior take.

Businesses move slowly, and new project uptakes on technology is usually 3-5 years after initial release... .Net was out int 2002, but it wasn't until close to 2005 that it really started getting popular... jQuery was 2006, and almost an exception, but still not really strong until 2009... 2009 started Node, but it didn't start to shine until 2012-2013... it takes a while.

As it stands, at this point Angular is out there and a lot of current jobs are using/require it... if you can't sell a better option (polymer, react, etc), then you're stuck with it.


I'm in Seattle and am getting lots of contact from recruiters in DFW and Austin, and not just the usual LinkedIn spam BS. My background is heavy on DevOps and I've got about a 50/50 split on .NET and Java.


I can corroborate this, though more from the LinkedIn side of things. Out of every twenty LinkedIn messages I get, probably six are SF, four are Boston (I'm local), two each are NYC and DC, and two or three are between DFW and Austin.

(The last couple are usually Idaho or Nebraska or one of the other corporate-fief states.)


Depending on the town and your specialty, you might be surprised. Not every place outside of the typical hot spots is corporate-fief. Specialization means you can have a good job market without the crowds causing traffic jams and running up the cost of living.

For example, you might not expect much good in Melbourne, FL. You'd be wrong if you happen to like low-level code (assembly, reverse engineering, vulnerability research, embedded development, etc.) or EE stuff. There are both larger companies (Harris, Lockheed, Northrop Grumman, and the http://advancedsecuritylabs.com/ part of Raytheon) and lots of startup-ups.

Since a specialized area (like Melbourne, FL doing low-level stuff) doesn't have too many nerds outside that specialty, the cost of living stays low. You can get a cheap house within a mile of work and there isn't much traffic.


I said what I get, not what does or doesn't exist. =)


What are the corporate-fief states? What does that mean, or what is that in reference to?


Roach-motel markets: you can get in, but you can't get out. More technically, monopsonistic or oligopsolistic factor markets, where the number of employers is small and thus control hiring in the local market. (Though I would expect Nebraska to be fairly competitive in hiring, given its surprisingly large number of finance and insurance companies.)


That's another possible way to look at it, but wasn't what I meant. The companies I know that went to Nebraska (or Idaho) pretty much had everything handed to them and they're not exactly states known for being big on protection of the middle and lower class. (People in favor of the approaches taken by these states might call them "business-friendly" climates; I think being friendly towards corporations, in an age where people cheer them for being amoral, is kind of stupid.) Monopsonic/oligopsonic concerns are another one to keep in mind, though.


If you're relatively competent and current in .Net (C#) or Java, you should be employable in the southwest (Dallas, Houston, Phoenix etc)... There's a lot of business programming in those cities (I'm in Phoenix)... it isn't exciting, or front end centered for the most part, but tends to be consistent (except the year following 9/11 was pretty harsh).

I don't know your background, but would suggest going with a modern Java framework, or ASP.Net MVC and build something... go through the latest Apress or O'Reily book on the subject in question... At the same time start going to user group meetings locally. This will tend to get you at least in the door as far as interviews go... from there you're on your own.

Yes, some places you won't get past H.R. without a degree, but I've been at this for a couple decades now, and as long as you get current or keep up, you should be employable.


I'm in Dallas as well, and I can back you up. I was unemployed for two years from 2010 to 2012 after getting laid off because all my experience was specialized experience that didn't transfer to other companies well, and being unemployed so long took a huge toll on my mental health.

I've found employment since (and even changed jobs over the new year), so it's definitely something one can recover from, and for all I know the job market might have changed since then so things are better now.


My experience with fishing in Austin is that they love you when you're not in Texas. If you're in Texas, you don't exist to them, so you don't get an interview.


I put my resume online 10 days ago (I live in Austin). I've had over 200 companies/recruiters call me. There are a ton of software engineering jobs in Austin and all over. I've gotten over 30 calls for jobs in Dallas, San Antonio, Plano, etc.

Anyone saying there are no jobs in this area has a crappy resume or no skills


Just curious, what kind of place did you put your resume online?


I have definitely got that impression. Over the past few years I have seen a parade of articles about "missions" from Austin to the Valley to try to recruit people, yet they seem to think Dallas and Houston don't exist.


I didn't get that experience at all, and I moved from College Station.


Are you open to Houston? I can provide suggestions on where to apply there.


Absolutely. I have made a few attempts to break into the oil and gas industry there, since my wife is affiliated with the industry.


same thing in Ohio.


Agreed. We're pickier. I work on application that ditributes about 1E9 euros a year (so it's smaller than a bank but that's not exactly a small application either). We're maintenance-mode now. When I hire, I need : some who : - can actually code (many of the applicants can write code, but they don't know important things like : how does a hashtable work, recursivity, etc) - can write reliable code (i.e. ability to test, ability to imagine failure before they happen) - can write readable code (because you knw, we're working in a team) - can handle harsh customer (because when you fail, well, they're not happy)

believe me, we don't have millions of those ready. Many can code, but code in "real" life where you don't have luch room to learn from mistakes, well, there ain't many...


>where you don't have luch room to learn from mistakes

I enjoyed that.


Why do you need to know how a HashTable works?


So you could predict its performance and know when it's not the best data structure to use?


Because it's an easy canned interview question that can replace the effort to determine how a candidate thinks and see if their skills actually align with the role?


Agreed, sometimes people aren't aware that HN is its own little echo chamber.

I was talking to a recruiter recently for a managerial job and somehow got onto the topic of hiring. I asked him what's the hardest jobs for him to fill right now. He told me he's dying for entry level .NET/ASP and Java developers. Corporations have built their castles on these technologies, not FOSS/Mobile and need staff. Degrees were an issue but he said he could place people with two year degrees.

We talked about pay, and it wasn't terrible impressive, but for someone straight out of community college it sounded pretty good to me and he also revealed that if the person wasn't a complete nightmare socially, he could expect to be promoted quick.


> He told me he's dying for entry level .NET/ASP and Java developers

Why does he need so many entry level programmers?

> We talked about pay, and it wasn't terrible impressive

Is the recruiter trying to staff a company with mostly entry-level programmers, paying low wages? I've seen plenty of companies like that, including those who used mostly trainees. Usually, the work environment was the crappiest possible, and word gets around.


In the interest of building an experience-diverse workforce employers need entry level, mid level, and experienced developers with skills in their core stack, which in many cases is Java or .NET.

My theory is that technology trends are leading the entry level developers to learn Python, Ruby, and JavaScript rather than .NET or Java, thereby reducing the supply and putting these candidates in high demand.


So, they could hire another senior person at 2.5x the pay instead of 3-4 junior devs. The problem is a lot of younger managers don't understand the different in ouput can vary a lot from developer to developer. And on top of that quality output can be far more maintainable.

All they care about is # of jira/tfs tickets that are open, and the number of features, and how many warm bodies based on their averages they need. The smoothest project I ever worked on was staffed by all senior people, with relatively diverse and overlapping skills. That wouldn't be possible with 3x the developers if 2/3 of them were junior to mid level.


HN may be an echo chamber, but look what you're saying: Employers are desperate for developers, including entry level ones, mostly using older tech stacks, and they'll pay solid money for them.

It doesn't sound like you're describing a world in which someone with 10+ years of solid experience with techs is going to be struggling to find a job, right?


> It doesn't sound like you're describing a world in which someone with 10+ years of solid experience with techs is going to be struggling to find a job, right?

Overqualification (or the perception thereof) happens. The development world, like most others, is a bit of a pyramid. More experience doesn't necessarily translate to more positions being available. Some (many, even) are specifically targeted at young, entry level devs.


And a lot of these companies should consider bringing on one more senior person instead of 2-3 junior ones.


> He told me he's dying for entry level .NET/ASP and Java developers.

How many years of experience and how much demonstrated expertise did he require from these" entry-level" candidates that he supposedly can't find?


None. Straight out of community college were being placed.


After I had landed my first job out of college (10 years ago), I got an offer from a company like that in the midwest.

It took them 9 months from the interview to get back to me with an offer (which is why I was already working somewhere else) and the offer was $30k for a one year contract.

If that's still typical of their hiring process, I'm not surprised they're having trouble hiring people.


Companies like that would benefit from being more flexible on the degree issue; there are a huge number of programmers out there who are self-taught. It makes things seemingly more difficult in judging qualifications, but if you aren't filling the positions to begin with, that would seem like a good problem to have in the first place.


Oh my. I know somebody who needs that job. Probably the "Georgetown, KY" on his resume is the difficulty, but he's willing to move. He can do C#, Java, and C++. He even has a traditional 4-year computer science degree.

Pass along his email if you can: markcahalan@yahoo.com


what does "complete nightmare socially" mean? :)


Well, my own quirk is I'm a later day starter... it's almost impossible for me to start consistently at or before 9am... outside of that, I tend to take more time to understand the problem and the desired solution than hacking away. Both of these have cause me a lot of issues in positions for companies that are more rigid in their desire for a homogenized work environment.

On the flip side, I share knowledge and work to leave code better when I'm done than when I start. Others will show up/leave on time, but won't share anything and will leave very obfuscated code in place.

Lets face it though... the personality traits that make one adept at somewhat technical and often mundane tasks have a pretty high correlation to some generally less than desirable personality traits. Programming is much more of a craft (or even art) than it is an engineering discipline in most places, but we have to interact with business roles where expectations and mindsets are vastly different.


I completely disagree. I was working at FedEx as a programmer in 2012, and decided to make a move due to some internal changes. I made that decisions about two months before PyCon - at PyCon, I had two interviews, one of which landed me a great job at a significant pay increase.

During those two months, I had phone interviews with two other companies, one of which I bowed out of the process because as I learned more I didn't believe in their mission, and the other I got turned down on.

The sum total of my "trying to find a job" was making a profile on StackOverflow Careers and answering a Reddit ad.

For what it's worth, I have no degree and am self-taught. In 2012, I had ~5 years of experience as a full-time dev, and none of it was in a traditional environment.


You are still in the states aren't you? The story is very different outside of NorthAmerica.

In several countries in Europe and in LatinAmerica, landing in a well-enough job can be a matter of several months depending of the skill-set.


I'd say, it's opposite of (2). I keep reading horror stories about multi-day interviews with "take home tests" and other insanity, here on HN - and these are usually traits of the interviewing processes of newly minted startups. I had a bunch of interviews with "regular" companies on the East Coast and the process is way more sane and much less grueling.

My advice to the OP would be to find and get in touch some of the older recruiting companies, the ones that exist more than 10 years on the market, and work with them. Steer clear from the startup scene. Normal companies still need the job to be done - why not by you?


> I keep reading horror stories about multi-day interviews with "take home tests" and other insanity

2 actual interviews that were offered to me early in my career :

1. The weekend hackathon (which actually ran from Friday until Monday)

2. The full-week trial

I took #1, but not #2. I was working at the time, and in no way could justify taking a week of vacation just to work for free for someone else.


What is baffling is this Valley-centric, web and mobile development-centric line being repeated constantly in this thread. Most of the world is a different story. Outside the Valley and a couple other metros, and outside the web and mobile fields in general: 1) degrees are usually required; 2) employers are much pickier.

I haven't found that to be the case here in the Raleigh/Durham, NC area. I never finished my bachelors degree (although, I do have three different associates degrees), and I have never found it to be an inhibition to my career.


> outside the web and mobile fields in general

Why don't you just change the domain your working in? Why not web dev? If you're a programmer, you should be able to code anything, anywhere, with a bit of effort.

I skimmed your post (https://wmkrug.com/on-the-technical-skills-shortage-and-hiri...) and honestly I'm not sure. I mean, you're saying that requiring "years of experience" in "specific technology" makes "good candidates" to get rejected. But why do you think that someone without these years of experience would be a good candidate?

Experience and skill are necessary. People without experience have little skill by definition: you only improve your skills by doing and remembering what you've done (well and badly) is called experience. Such people are not worthless, but as employees they are worth significantly less than people who demonstrably have both experience and skill.

You seem to be thinking that the employers should let you learn your profession on the job because the college failed to do it. I don't think so. I believe you're the (like we all are) one responsible for teaching yourself enough to be a viable choice for at least an entry position. It's not that hard if you have a passion for the craft and patience to continue learning over the years.


> If you're a programmer, you should be able to code anything, anywhere, with a bit of effort.

Is that really true? I do database programming, and I feel like I would be absolutely screwed if somebody demanded I do, say, embedded programming for small microprocessors. I guess theoretically I could study up, but it would be at least a year or two before I could be competitive in interviews, right?

Maybe I just suck and there are genius programmers who are equally competent at embedded systems, mobile development, distributed systems...


> Is that really true?

Yes, I believe so. And it has nothing to do with genius!

First: of course you wouldn't be able to get senior dev positions in a domain you never worked in. You have to be prepared for this. Pay cut is obvious just after the change, and you need to decide if you can afford it.

Second: it's a matter of how long you're going to stay junior in your new domain. In practice, this is a question of how solid your foundations are and how experienced you are already, and also how determined you are. I believe in what jwz said in "Coders at Work": different domains have different vocabularies, best practices, and myths, but deep down it's still just standard coding. There are variables and loops and branching constructs everywhere, no matter the domain.

> there are genius programmers who are equally competent at embedded systems, mobile development, distributed systems...

I doubt there are many people who are competent in many domains at once. There are such people out there and they're very expensive specialists. Still nothing to do with genius, but rather hard to achieve. However, you don't need to be like that: you just need to change the domain, not master a new one while retaining all your skills specific to the previous domain.

The two most important things for making a switch are your foundations and experience. In your example - embedded dev - you'd need to have a good prior understanding of how CPUs work plus knowledge of C and Asm. Given this you're almost immediately ready to code, after maybe a week of reading the codebase, manuals, and refreshing AT&T asm syntax (for example). You - every programmer, really - should know at least the basics of such things from college or self-study.

The experience is important because it gives you an intuition as to where the potential problems and hurdles in your learning would be. More than anything, experience provides you with an essential skill, a systematic (working for you) way of assessing and learning a new technology. It's much easier to change your domain for the fifth time than it is for the first time. Even if the previous areas you worked in have nothing to do with the one you're learning right now.

For me, programming is a lifelong career choice. That means I have ~50 years of programming still ahead of me. I can't imagine working for such a long time in a single domain! In a bit more than a decade of my professional programming, I already switched domains four times. Despite the fact that I'm self-taught, and my foundations were lacking for quite some time. (I like to believe I fixed this after a couple of years.) It wasn't easy, but if I did it, then I'm sure almost anyone can :-)


I've never worked in the valley, and I usually don't have much to do with the web or mobile. I don't have a degree, and the subject has literally never once come up in an interview. In 17 years, I've never encountered anyone who cares. Also, the vast majority of job descriptions read something like "Degree in CS OR equivalent experience" and therefore explicitly do not require degrees.


It will vary from company to company and culture to culture... I have a friend at a large aerospace company who was basically told he had 3 years to get his degree or he was out... He's now a mid-level project manager and does 2-3 the workload of his closest peers, but H.R. policy was that he shouldn't have been allowed into his current position without it.


If that were true, it would mean that The Valley hires, on average, lower quality developers than non-Valley employers. Is that what you are suggesting?


I don't think it means "on average", since I do think the average quality of a dev is higher in the Valley is better than elsewhere. However, I am saying that getting hired as a marginal dev is easier in the Valley than elsewhere, since there are not enough warm bodies in that area and Valley companies only seem to be willing to reach outside the area for really good people.


There aren't nearly enough warm bodies everywhere else. But you need to figure out what the term warm body actually means in your area.


It may be more accurate to say that The Valley has different standards for software development on web & mobile than employers in other regions and in different categories. The quality of a developer depends on the overlap of their skills and the employer's needs; never judge a fish by how well it can climb a tree.


Employers are generally picker in companies who's primary service/product isn't software. But they're still among the loudest to complain when they can't find anyone to come work for them for peanuts.


I've got a friend who was out of the dev world for 7 years, I think. He was originally working on his PhD when he got RSI and couldn't touch a computer anymore. He became a store security guard. Not much of a career, but he met lots of people every day (he's remarkably gregarious for a programmer). Eventually, though, he wanted to get back into software. First tried his own company for a year, which failed, but did get him some experience with javascript. Then he got a job as ruby/javascript developer.

I assume he started at the bottom, since he didn't have any real dev experience yet, but he had no problem finding that job, and he's doing quite well there.

My impression is that it's really not hard to get into software. You do have to be realistic, though; maybe you don't come across as quite as senior as you imagine yourself to be.

Admittedly, this was in Netherland, not the US. The situation might be different in the US.


I think this overlooks the difference between qualified and credentialed.

In the valley, there are plenty of experienced and uncredentialed people working great jobs. There are relatively few unqualified people doing the same, except when hiring squeezes exceedingly tight.

Outside the valley, defending the decision to hire someone without credentials is virtually impossible. There may be plenty of interest, but someone along the way will chicken out rather than risk the backlash if someone without a degree turns out to be incompetent.

The fact that 'marginally-qualified' people get hired is orthogonal (or maybe even antithetical) to whether 'marginally-credentialed' people do. If a company can't judge competence, they just look for degrees and get shitty employees. That's what's happening outside the valley, and it hurts companies and skilled, degree-less employees alike.


I'm not sure if I could agree with the "Outside the valley" comment. I live nowhere near the Valley, and myself and plenty of my co-workers are not credentialed. As a matter of fact, my current workplace is pretty much in a rural area. My last 3 jobs have had a pretty equal number of credentialed and uncredentialed employees. These companies all pay very well, and are well-known.


The generalization between valley vs. not valley here seems a bit too strict. I'm in the Boston community and there is not an irrational focus on credentials here. My good friend just completed a code bootcamp and got hired in Chicago. I think at least any sizable tech city will behave like this in the present climate.


The problem is getting access to this hidden job market. Where are the companies that hire these barely qualified developers because that is the best they can do?

It must be a myth since why is there such an oversupply of developers vs companies on sites like elance.90 % of the developers of sites like these have never been awarded one job even.


I thought the same thing, but my guess is the author is from Europe. Maybe it's completely different there?


Developers should realise that when you come to an interview the interviewer isn't looking to dismiss you because you can't recite Knuth. For the vast majority of jobs they are desperate for you to be competent having just interviewed 5 incompetent people. I've worked as a programmer for 3 very good paying companies over 15 years and none of them could get enough good developers.


Welllllll... Yes and no.

Yes, companies are generally desperate for programmers right now, and companies definitely want you to succeed in your interviews.

Interviewers on the other hand can be a fickle bunch. I have met many (in fact, maybe even most) who seem to treat it as some kind of hazing or initiation and act as if the candidate is an opponent to be outsmarted.

It doesn't help that in literally none of the companies I've ever worked for do programmers receive any training on interviewing, so this kind of behavior goes uncorrected.

The company definitely wants you to succeed and get hired, but there's still a pretty profound disconnect between the company's priorities and what happens in the room between candidate and interviewer.


At a few companies I interviewed at, fairly established but not tech centered companies, the interviewers had literally just come out of the companies introductory training program.

I don't know if that is really smart, or really dumb. But a lot of jobs I could have probably done really well, I was passed over, and I honestly have to say, inexperienced interviewers have smug attitudes. I got the sense that there was the background thought of "ugh, god, I have to deal with someone's brain that isn't mine".

It's annoying to have to deal with those kinds of attitudes, because it perpetuates them, by causing the people who have bad experience from them to behave defensively next time around.

I've had some okay experience with getting positive feedback leading to callbacks, but these were typically answers to questions that I could have found online verbatim by studying an interview manual. I try not to do that because I think that is dishonest in my actual value.

The best interviews I've had are where it's clear that it is two people talking, and not two computers.


I'd say it goes deeper than this: there's a greater emphasis today on the candidate being productive from day one.

I don't know what is causing it (too much exposure to efficient software?), but in many industries hiring managers would rather keep looking for an absolute perfect candidate while leaving behind several that have the skills but need the training.

I have heard the stories about managers spending 100 extra hours looking for a perfect candidate instead of hiring the best available and dedicating even 50 hours to train them to speed.


Glad to know I'm not alone there. I had an interview with this company where I was told technical skills weren't the most important, personality was. Luckily for me, they really liked me. Ten days later, I go to a second interview where they ask me pretty advanced technical questions. I don't panic and I end up doing extremely well. So at this point they've told me my personality was good for the position, and also saw I happened to be a solid programmer. The day after that second interview, they call me:

- hey, we're not going to give you that position because you didn't learn the [completely minor] framework by yourself since the last interview. - yeah, I have a job. Also, you didn't ask me to? - we do that on purpose to see if you're independent enough. - OK, I definitely think I am, what should I do? - I can't help you there, spend a week on this, come up with something and we'll see how we like it. - a week?! Also, don't you have a client request example or anything? - nope.

Eventually they decided that even if I were to do that, the disappointment on their side had been too huge… The funniest in this is that 'agile' is part of their corporate identity, the word's everywhere on their website, they even criticized the way I'm working with my current employer because he's not 'agile' enough (which is true, but I have no power over this). But then they want to hire somebody and not even have to give him a few pointers, because that's too vulgar for them? What the fuck is this?


> I'd say it goes deeper than this: there's a greater emphasis today on the candidate being productive from day one.

Which drives me crazy. Nobody can be truly productive on day one. You have processes to learn, even if it is just an informal "way we do things". You have existing code to become familiar with. You have team dynamics to work into. It takes time.

Personally, I cringe whenever I read a job advert mentioning that the candidate will "push to production on day one". Neither company I have worked for would allow that, let alone expect it. Nor would any company I start in the future, should I ever manage to.


It's not like you push anything important your first day. You spend two hours doing some simple bug fix that would usually take you 15 min and then spend the next six hours learning how the CI and deployment pipeline works, usually with someone holding your hand.


CI and deployment pipeline?!? What are you a spoiled millenials thinking... we build local, and copy the whole folder over RDP copy/paste onto the production server.

You may laugh, but I've seen that far more often than an actual CI/CD process in place...


I've been at more than one place that does this (one just had a sys admin be the one to do it, after it was user tested) :(

Both were pretty entry level positions.


Don't forget the only documentation is a printout someone remembered they had in a drawer.


^ Maybe we've uncovered what companies are trying to signal when they say you can push to prod your first day :)


I think that you don't get it about pushing to production on day one. These companies do that to because they have resilient systems, tests, and tooling, and they push to production all the time. Pushing to production on day one is a way to introduce new hires to the continuous deployment methodology. If you're afraid of pushing to production, there's a problem.


I don't think it's the fear of pushing to production on day one, but that a day one employee would not yet be able to produce anything worthwhile enough to push.

A very well tested codebase with resilient systems and tooling takes time to learn, it will take time for a person to become productive within it - and that time is a lot longer than the 4 or so hours you get on your first day after the legal paperwork is done ;)

So pushing on day one - regardless of dangers it poses to the system - seems like pushing to production for the sake of pushing to production.

On another note though - I've worked at companies that have adhered to best practices and done remarkably well with continuous deployment and testing, but the risk of a pushing code to production is never zero. The intent of testing and resiliency is to reduce the odds of catastrophe and increase your confidence in your systems - not to make you overly cavalier.


At my current job, we aim for a new employee to push to prod on day one not because we want the employee to begin churning out valuable work immediately, but because we want them to quickly become familiar and comfortable with the development, QA, & deployment workflows and tools.

The ticket that gets deployed is often as simple as a typo fix or a small CSS tweak, just to illustrate the whole process. The risk of deploying to prod isn't zero, but since we deploy many times a week already, the risk of deploying a typo fix is pretty low to us.

It also serves as a test for the existing employees: ideally those workflows are smooth enough that it all Just Works on a freshly-set-up environment and account, and we are comfortable enough with our rollback strategy that (after reviewing and testing) we are not afraid of merging in and deploying our new employees' code.


I believe they think that. I don't really believe that they do.


I agree that in the general case it's very unlikely for your average developer to be truly productive on day one, but I wouldn't say that nobody is. This is a large part of my value prop: I spend the first day or two getting infodumps to get up to speed, but even during that time I'm building up plans of attack to get done what I'm being paid to get done (and to me and to the people paying for me, that is productive).

I'm a consultant/contractor (depending on the gig), though, so the social dynamic is different and it's less about integrating into a team and more about understanding the exact problem domain.


It gets to me as well. I thought it might have just been my lack of skills, but I've had this conversation across several fields with recruiters who have said similar things.

The best description I've heard is that it's a spectrum from "100% training provided" to "productive on day one." Older recruiters tell me that decades ago the spectrum was too far in the other direction -- willing to hire anyone, and piling on the training. But now it's too far the other way, dropping good candidates who aren't able to perform independently on day one.


Most hiring managers are hiring people because they have a definite need for a developer. Every day that they don't find one, they have work that's going undone, projects that are proceeding too slowly, bugs going unfixed. And if they're not finding people, after a while their directors start to question whether they're doing their job properly.

There is nothing a hiring manager loves more than finding a hire-able candidate.

That doesn't mean that the interview is going to be a cakewalk, though. The hiring manager wants someone who's going to be a success in the job, and they're going to try to filter for that. The only thing worse than not hiring a good developer is hiring a bad one, and the process is trying to stop that latter from happening, too.


It's an interesting distinction and yes I have sympathy with it. However in general the "pissing contest" devs are a minority and in particular for the more senior/experienced devs it's most often the case that they want you to be good and will give you the chance to be good.


I must be incompetent because I'm having a hard time finding a position and I have over 15 years of development experience most of it in .net and have worked on everything from my own mobile application for small businesses and worked and learned a new platform for a $20 million enterprise project.


Where are you at, and where is your expected pay compared to others in your area? (ex: via glassdoor, etc) Also, there's a difference between getting passed the recruiters and H.R. types and actual interviews.

Also, what types of .Net development... how much front end (web specifically). Doing webforms with no JS for a decade and a half doesn't mean much. I'm not saying that's the case, only that it can make a difference in hiring.


But the question is, as always, why could they never find enough good developers? It's not necessarily an under-supply.

1. Are they offering enough in salary to attract the good developers?

2. Is their knowledge/skills expectation of a "good developer" too high?

3. Is there something about their hiring process that is filtering out the good developers you see?

4. Is there something about their reputation (grueling interview process, salary reputation, ethical misbehavior, etc.) that is causing the good developers to not even apply?

HN loves to just jump to the mythical "shortage of developers" conclusion, but it may be more complicated.


I once found myself unemployable as well, maybe what I did can help someone. This was quite a few years ago when the ColdFusion job I had just ended and the job I had before that was in Visual FoxPro (and a few other even less known technologies). Talk about unemployable. Also I am not in a major city, so I was getting pretty much no responses to my resume.

After a few months I realized I was unemployable and set out to change it. Being unemployed, I luckily had a lot of free time. I made a study of the programming job ads in my target market and if I didn't know what a technology was, I looked it up. I tried to figure out which language was the most asked for, and decided it was PHP (at the time). Also in my studies and in the job ads I noticed that most of the work involved these new-fangled Content Management Systems and so decided I needed to learn one of those, and I chose Joomla. It was a choice I would later come to regret but it got me a job.

To learn these, for both PHP and Joomla I ordered a book from Amazon.com. I limited my search to books published in the last few years and ranked them by customer satisfaction and chose one near the top. And then I made myself go through reading these books and doing the exercises at the end of the chapters. This was very very boring but I made myself do it. Then I created a few Joomla websites for local small businesses for free.

And then, after 6 months of unemployment, I had made myself employable again. I saw a job ad that I was now now barely qualified for, applied, and was hired to maintain a legacy Joomla website. Was it a glam job? No, but it was somewhere to start. And the rest is history. I do think if I found myself unemployable again I could repeat the process and figure out what is being asked for these days and learn that.

I haven't done a study of it lately but I would guess almost any kind of expertise in a major JavaScript framework like Angular, Ember, or React/Flux might get you a remote job fairly easily, as there are very few experts in this and many companies seem to want it. Also most developers don't want to do front-end/JavaScript stuff like that so there is less competition. That's where I'd start looking anyway.


I chose to write a hugely boring open source product that no one in their right mind would bother with. Old tech, competing with a ton of other similar projects. I focused on the documentation, make it as simple as 'cut and paste this code to get it working' every time someone had a question, bam - a cut and paste example.

Did some serious SEO and soon was racking up a couple of thousand hits a week. This soon hits the million mark. That gets me interviews, even with people who don't want that old tech, they just see results.

I am currently doing a bit of Drupal for a client, there are a TON of half baked modules. Take some of them and make them work. Make them work with the backup module, the restore, the import.... then your CV is padded with a ton of neat stuff.

This is super common advice, the trick is to actually take it. Get all OCD about it and make it work.


If you're getting millions of hits per week, you might want to consider doing something to monetize the open source project...


No, sorry, not millions a week. It was a thousand or so a week. What I meant, is that those thousands add up to a more impressive number. The numbers have dropped off over the years.


That's what I was thinking. Find something 1 in 1000 would pay a dollar for and you're golden.


1,000,000 / 1,000 = $1,000. Hardly golden. Still, I take your point, with a million eyeballs you don't have to monetize much to make a pretty penny.


> After a few months I realized I was unemployable and set out to change it.

First, as 20 something I can't imagine how hard it must be to wake up with the realization that you no longer have a job. Second, I think you deserve some real credit for 1. identifying that you were unemployable and 2. fixing it.

However, the real trick is identifying when you're unemployable (or even starting to get close to it) before you're unemployed. This is a game - and one that you'll never really win. But like all games: you keep playing - you get better. The trouble lies in that this is a game in which you need to be ahead of the gamemaster (that is - current and future employers).

> I do think if I found myself unemployable again I could repeat...

I want to stop you right there. I think your objective from here out is to make sure you never find yourself unemployable again - rather than waiting and/or hoping it doesn't happen.

> almost any kind of expertise in a major JavaScript framework like Angular, Ember, or React/Flux might get you a remote job fairly easily

These are valuable skills and expertise to have - and they will land you a job - but don't let it make you a one tricky pony - as that's a fast-track ticket to unemployment. I think few of these front-end frameworks will be here for the long-haul.

If I were in your shoes (of course I'm not in your shoes - it's 100% your choice) I would take what you've developed so far and start to dive into the fundamentals and then get the expertise.

For example: get to know the architectures of these frameworks: analyze and criticize them, attempt to improve them if you can; learn design patterns and identify the anti-patterns (important !); learn your algorithms - as it is these features that make you a valuable professional in the long run. Not just another PHP/JavaScript/ColdFusion dev.

Then you can wade in deeper and build up deep full-stack expertise. You could think about:

"Oh how can I optimize view rendering in Angular?" "How can I solve head-of-line blocking when using web sockets?" "What is the optimal compression algorithm in order to serve JavaScript files for mobile devices?"

I can't imagine a huge number of people think about how to solve these challenges - but I would bet that a lot of people face them.

All the other stuff is just tools to enable you to apply your expertise easier and faster.


"I want to stop you right there. I think your objective from here out is to make sure you never find yourself unemployable again - rather than waiting and/or hoping it doesn't happen."

I think that's kinda like saying, "I want to stop you right there. Instead of buying auto insurance, your objective should be to not get into a car accident again." It's a nice goal, but you're gonna need a backup plan for if something goes wrong.


I see your point, and point taken!

I should rephrase my original sentence. When I said what I said I didn't mean that fringedgentian could guarantee he/she would never be unemployed - but that these steps would minimize his/her risk from finding themselves back in unemployment.

To continue your analogy, you cannot guarantee that someone will never have an accident, but you can recommend precautions to minimize their risk. It is these precautions that I was trying to hint at in my prior post.


I was in a similar position with classic ASP/Coldfusion and VB6.

What I did was rewrite my resume to target the things I did like build reporting engines and dynamic web pages. I mentioned more of my impact on my job and accomplishments over what technologies I knew.

I highlighted more general skills like SQL programming and downplayed other language specific references like VB5/6.

I landed a job no problem. I spent the week leading up to the job studying up on the tech they used and was ready enough.


This is a great story. Perhaps OP will see it and get motivated


> Being able to get work in this field without a fancy background is still possible, but only if you have the right connections. Like I said: it's no longer sufficient to be able to do the job

This sentiment regularly comes up on HN, and I find it a little exasperating. Human interaction has always been an important part of career.

There's a subtle (or not so subtle) contempt for soft skills in these laments. You can write code and have fun, but if you want to get paid for it that's a career. As part of this career, you will produce software as a byproduct. However, the primary purpose of this career is solving problems.

You work in the sales department of your own career. Sell your ability to solve problems. Do not sell bits.


There has been a huge shift with the number of jobs someone has in there lifetime. If you work as say 3 jobs for 15 years each then taking 6 months to find a jobs is not the end of the world. But if you work for 3 years and then spend 6 months finding a job that's a huge issue.

So, while the value while looking may not have changed the number times people look for a new job has.


In most cases we need to sort CVs somehow. If we sort by degree there is a high chance that someone in the top 10 fits the position. Interviewing dozens of candidates is very resource consuming. I can emphasise with his story, but is all game of numbers in the end.


> all game of numbers in the end

Personally, I am always wary of this rationalization (and I say that generally being on the winning side of it). It's not "all numbers", it's people, and the second one loses sight of that one starts to let in the door all sorts of evil crap.


FTFY empathize :)


https://www.google.pt/search?q=emphasise&oq=emphasise&aqs=ch... one is british english the other one is american english


At the same time, you guys are constantly complaining that you can't find qualified people.


> You work in the sales department of your own career.

That's a pretty good way of putting it.


Hmm... I'm a 35 year old programmer and I work in Defense/Aerospace. If you think finding a good developer is hard, try finding a good developer who also holds a security clearance. If you're any good at all, you will always be employed and well compensated. The work can be dull, with Vogon-esque processes and procedures, but I have side projects to keep me sane :)

Every couple of years (ok, at least every year) I'll try to apply to non-defense jobs, and I get the impression that there's a glut of highly qualified engineers in the private sector -- "Sorry, we're being deluged with applications right now, we'll totally get back to you someday." And the interviews generally involve 3-4 rounds of hazing via Knuth. In the defense sector, they verify your clearance and credentials, check for a pulse, then show you to your desk.

Some are interested until they hear my current salary "You'd have to be a 10x RockNinja to make that kind of salary here." Yes, even Silicon Valley companies (and I live in an area with a relatively low COL). I'd love to find a remote job, but those seem to be even more competitive (understandable, I suppose).

Guess I'm stuck.


The shortage of developers with clearance is exacerbated by the number of people with clearance who want to exit the defense contractor ecosystem, because it's a military-industrial clusterfuck from top to bottom. They hire us for our brains, and then tell us not to use them.

Except we can't get out because of two factors:

  1. The non-defense ecosystem won't fix their insane hiring processes.
  2. If you do actually get an offer, it is 80% of what you currently earn, or less.
There is not a glut of highly qualified engineers in the private sector. There is a glut of barely adequate engineers, and the employers out there seem unwilling to pay reasonable rates for anyone better, aside from some exceptions in the tech hub cities.

I'm stuck, too.

I would jump ship in an instant if only someone would offer me 102% of my current pay, 40 hours a week, and the opportunity to do more fulfilling work.


This is fascinating. I work for a research lab and have a clearance, but we all make below private sector industry standard. I've never actually looked at defense contractors and thus had no idea what the pay scale was like.


The official government pay scales are orderly and consistent--consistently lower than private sector pay. They also contain a lot of hidden benefits.

Once you cross into contracting, there is no pay scale. The pay rules are largely set by the contracts. And there are thousands of contracts, all different.

The pay rates in these contracts are not necessarily connected in any way to current market rates, or indeed any portion of reality. They might just be numbers made up to sound plausible.

If you have a clearance as an employee of a contractor, and don't get extra pay for having it, you just leave. It's pretty common for the government to give your company $90 for every hour you work, then it turns around and gives you $45 of that. They keep the rest, sometimes for doing literally nothing except paying you your salary in their own name. This gives the company a lot of wiggle room on pay, because you seldom know how much they are actually charging the government for your work, unless your hobby is reading thousands of pages of government contracts. And never mind if you're an employee of a subcontractor.

Right now, I'm probably at around 70% of equivalent Silicon Valley pay, and 120% of same-region private-sector jobs. I want to move cities and get back to the private sector, but I don't want to go all the way to California.


I was once sent an accountant's spreadsheet by mistake at one of my former employers. They were paying me about $45/hr. They were billing the govt... significantly more than $90/hr for my time :)


If you are disabled, native-American, female, or a veteran, you can make quite a bit of money just by being 51% owner of a company that submits contract bids and subcontracts the actual work for anything they might win out to someone else.

Awarding of government contracts is explicitly discriminatory. The practice just creates figurehead companies, and all the same people end up doing all the same work, at a far greater cost, but without any more pay or benefits to the workers that might possibly boost productivity.

You don't want to look too closely at that business. Keep taking the blue pill. You absolutely do not want to even get a rough estimate of the ratio of money that goes to people who just know the right people versus the amount that goes to people who actually perform necessary and useful tasks.

Just don't go to work in that sector if you can avoid it. Ignorance is bliss.

I have literally overheard government employees saying to one another that they can't convert contractor-employees into government employees--potentially saving tens of millions of dollars out of the budget--because the exact people doing those specific jobs, with more than ten years of experience in doing those jobs, who would be more than happy to continue doing them, would not even show up on the first page of candidates due to "preference points", and they could not extend a reasonable offer to them anyway--which would be the exact amount they already earn doing that job--thanks to the rigid pay schedules. The system is broken by design, and there is an entire class of trough-feeding middlemen that benefit, without offering any sort of meaningful contribution. That's the very thing that Eisenhower warned us about, and the Reagan administration was probably the last that could have stopped it. But they chose to accelerate it instead. So now, barring some sort of catastrophic rebellion, it's here to stay.

That's why I'm somewhat amused by the furor over the Manning/Snowden leaks. There's already more than enough info to make you lose your faith in government forever, freely available as public records. No one even bothers to look at those, because they are mostly quick cures for insomnia. It's just like John Oliver said: the public has no way to relate to it on a personal level. For the classified leaks, you have to couch it in terms of the NSA looking at your dick pics. For the stuff already out there, freely available to anyone who might want to read it, I'm not sure there's a way to do that. There are so many legal ways to unethically convert public funds into private pocket money, and so many people doing it without a shred of shame or remorse, that there's really no way to psychologically connect to it.


You have summed up my thoughts exactly.


I was under the impression pay for devs in the defense sector topped out at the 80-120k mark. Which is definitely good but very comparable to unimpressive mid-senior level devs at many development shops.

If you wouldn't mind, in your experience what is the general range of pay for development work in the defense sector?


In my previous job, on an Army project that required a TS clearance, I was making the San Francisco equivalent of $202k according to Wolfram Alpha, as a W2 employee, This was with ~10 years experience.

The catch is that the work is terrible, and your coworkers will likely be pretty unqualified.

Some friends and I refer to a clearance as 'Golden Handcuffs' because the money is good, but you end up trapped since you're still writing code for Java 5 or 6, deploying in weblogic or jboss 4.


I think you are mistaken. I have friends in that industry and my impression is they wouldn't even bother with the interview unless the salary was at least $150k and closer to $200k is not uncommon in a locality that Wolfram Alpha says has a 30% cheaper cost of living than SF.


> Every couple of years (ok, at least every year) I'll try to apply to non-defense jobs, and I get the impression that there's a glut of highly qualified engineers in the private sector -- "Sorry, we're being deluged with applications right now, we'll totally get back to you someday." And the interviews generally involve 3-4 rounds of hazing via Knuth. In the defense sector, they verify your clearance and credentials, check for a pulse, then show you to your desk.

> Some are interested until they hear my current salary "You'd have to be a 10x RockNinja to make that kind of salary here." Yes, even Silicon Valley companies (and I live in an area with a relatively low COL).

Its finding the company willing to sponsor and foot the bill for the clearance that is the trick. But yeah, I've noticed outside of E-Commerce, Defense & Finance, I'd like to leave my current position too...but I want something other than those three. I'm tired of being responsible for other people's financial data [e.g. Credit cards] or having a guy flip out because I got up to go to the bathroom and forgot to lock my screen. xD


Problem there is you can't just go get a security clearance - you have to be ... sponsored(?) - is that the word - by a company already. At least, that was my reading of the situation a few years back. I gave up applying to defense positions years ago because every one required existing security clearance. It's the defense industry version of "you have to have experience before we'll hire you to get the experience".


Right after I graduated with my BSCS in 2002, I went into the Army for four years (which is how I got my clearance). The only employers willing to even look at me ("if you love programming so much, why haven't you been doing it for the past four years?") were defense companies, and only because I already had a clearance. :)

We sometimes hire fresh grads without a clearance, but experienced hires are generally expected to already have them. It's not cheap (and definitely not fast) to get someone a clearance. Though, some companies/contracts/projects are probably more flexible on this, especially if they have something unclassified you can work on while they wait for your clearance to come through.


Out of curiosity what's your take on people who had a clearance and then let it expire? They go inactive after 2 years so getting back seems like an issue.


"We sometimes hire fresh grads without a clearance, but experienced hires are generally expected to already have them"

Sounds like the problem is one entirely of your company's making.


They will say existing security clearance required, because that greatly speeds up their hiring process. However there really is a severe drought of qualified developers with clearance, to the degree that even the worthless ones don't really get fired if they show up and don't anger security. And while for some of the jobs that may indeed be a hard requirement, for most of them its more of a preference. If you are a good programmer and fairly confident you will be able to be cleared, then they will sponsor you through the clearance process. Pro-tip just don't lie about shit and should be able to get clearance, they will look over most past issues if you acknowledge them and state that they are no longer an issue.


Interesting. Is there no way to pay the same fee a company would pay to apply for clearance for yourself?


Clearance requests must be accompanied by a justification, which basically means "needed to work on Project XYZ". You cannot get a clearance unless you actually need it to do work, and should not be cleared any higher than is necessary[1]. This leads to the chicken-and-egg situation with cleared positions: you need a clearance to work on these programs, but you can't get a clearance for the first time until asked to work on one of these programs.

[1] Some companies will try to put you through for higher clearances than you actually need right now in anticipation of future work, but they aren't supposed to.


What's the rationale for that? Clearance is surely a lot of work to obtain, but that's what the cost of the investigation should offset.

I would think even with clearance you can't actually get information you don't need to know, such as information on a project you're not working on.


The rationale is to minimize the number of clearances. Even though you can't get information without a need-to-know, the government still likes to limit the number of clearances.


That still isn't a rationale; that's a stated requirement, but what problem is actually solved by limiting clearances?


Fewer people they need to monitor with the level of scrutiny, people with clearance safely assume they are being monitored at.


Interesting, I didn't realize it was considered an ongoing process. I guess that makes sense; otherwise a bad actor would just apply for clearance, get cleared, and then start doing things they shouldn't.


They don't actually tell you explicitly it is an ongoing process, but everyone with clearance I know seems to acknowledge they are probably being kept tabs on at least a little. I mean it would seem kind of irrational to have all these watch lists and not watch the people with privileged information.


That happened to me in a similarly restrictive field. I eventually just quit my job so that I would be forced to reinvent myself. That led me back to a graduate program in analytics, where my programming background was enormously useful. While the ~ 9 months in the program were expensive and stressful, the degree made me very employable, and the programming background gave me a huge advantage during the recruitment process.


We have a rockstar programmer.

No, really. He put out CDs and all. Technically he's a former rockstar I guess, but close enough. He rocks.

We still lack a ninja. We have been unable to find one who could do low-level programming and get a US (not Japanese!) security clearance. So far we've had to settle for Nerf dart skills, which really isn't up to ninja standards.


> If you think finding a good developer is hard, try finding a good developer who also holds a security clearance.

Maybe it's harder to find in the States. I had a Canadian clearance for ten years (it wasn't a low level one either), and could never get a job, even with experience in whatever stack they were utilizing. The reason? Couldn't speak french. Even thought the coding language is all either English or math, and from contacts I have in the industry it's completely English, no dice.

Then again I can't get work for any defense company in the states because I'm not American so that's always fun too.


If it were the difference between getting the job I wanted and not, I would learn French.


If I had the skills to learn French, it would have been done by now (you're forced to take it for at least five years in Canadian schools). Don't know what it is, I can pick up coding languages easily enough, but human languages? No dice.


Completely off topic, but I'm dying to know- how concerned are you about the OPM hack?


The developers we hire in their 40s don't all have degrees, but what they do have is relevant experience. Now that relevance may be domain knowledge in the industry, or it might be experience with particular part of our stack - the classic example is the very experienced Oracle developer. You'll all too easily lose out to the young, hungry graduate who will also need to learn lots of things on the job, but doesn't come with as much baggage.

The OP might well have lots of relevant experience but it hardly comes across in the post. Neither does any appreciation, or indeed even an active lack of appreciation, that "knowing people" is the way to break through the HR process. After 20+ years in development there's a degree of expectation that you have built bridges along the way with people who can recommend you - because they want to work with you again. Because that's the flip side of being the experienced hire, you need to have the soft skills to utilise that experience - be it coaching and mentoring, writing well, negotiating and influencing etc.


> The OP might well have lots of relevant experience but it hardly comes across in the post.

Strange, I read it very differently. Just because those things aren't specifically addressed didn't leave me with the impression there isn't anything there. Very early in the article it was stated how they spend a lot of time honing their skills, presumably all their life, not sure I agree with your impression this is an unskilled individual.

> After 20+ years in development there's a degree of expectation that you have built bridges along the way with people who can recommend you

That's different from just asserting they lack in skill, however. If you read the article, it's clear why they can't satisfy this specific expectation. It seems callous to simply proclaim they should have built industry relations all their lives, and now there is nothing left to be done.


Being sufficently vague is a common way of hiding the fact that you don't actually have required knowledge.


I've spent the last 13/14 years writing Perl so I started getting worried a year or two back that I was making myself unemployable by not branching out. I've been doing a lot of front-end development since, learning JavaScript and NodeJS to a good level, familiarising myself with JavaScript frameworks like React and Angular and learning/launching a couple of simple sites using NodeJS/Express and Python/Django (two other technologies I recently started to learn). Turns out this was the correct thing to do as I was made redundant about 6 weeks ago and it turns out there are a lot more JavaScript jobs in my area than Perl jobs. At least I've got a couple of projects I can point to now to show I have some experience. I'm still looking for something new, but I'm very glad I started working on expanding my skills before it became an immediate necessity. I guess this is the industry we work in. Oh, I also created a "hireme" website to try and sell myself. I'm not sure how effective it will be, but if nothing else, creating the website and listing my skills was a big confidence boost (I didn't realise how much I knew) - https://hireme.grepular.com - Feel free to steal the idea/design.


I've been wondering what's happened to all the Perl devs. It seems like 5 years ago there was lots of solid web dev work happening in Perl still and now it seems like a sea of Rails and Scala/Java.


Nice web site, I really liked your comments in it.

I've been writing this on and off for the past 6 years. Whenever something peaks my interest I write it up.

s/peaks/piques/

Ref: http://www.vocabulary.com/dictionary/pique


Oops. Thanks for pointing that out.


I really like how you laid out the skillset!


It's just a tree of lists inside lists :) I tried to make it look clean and made sure it was responsive though.


I want to start dating. I put my profile up to dating sites. I spend much of my days sending messages to women's profiles. I take their personality tests, but I never get messages (or replies to mine) even though I'm sure I get matches. I even started looking at niche sites such as "nerd dating..."

Dude, just get out and actually talk to women.

I'm not going to say how to get gigs, jobs, etc because I'm out of my league with the great people who post here. But whenever I see a post like yours, I see a lack of creativity and human contact.

I understand that you probably get tunnel vision from the stress. But try different things and different approaches. Try to get to know people. Get involved in different developer ecosystems. Talk to real people. Or get someone to talk to real time if not in person. Get that human touch going.

I like James Altucher's idea of list building. Brainstorm a list of different approaches you could take to land different work. Brainstorm other types of work that you could do. Brainstorm a list of side-gigs you could work on. Brainstorm anything, just to get that idea creation machine going.

You got lost somewhere by being the same for X years. What you need is chaos. You need to shake things up. Routine is good for the things you don't want to spend a lot of cognitive overhead (bedtime, eating, etc) on so that you can focus on creating explosive interactions in your mad scientist lab.

As a side note. Don't farm out your dev skills for less than a solid professional rate. Lowering the value that you get for your skills is a rabbit hole. No matter how far you go down that hole, there is still room for people to devalue you. They try to get the work cheaper, they complain about what you do. You could pay them for the opportunity to work for them and it would still be ugly. Better to take a minimum wage job than to farm your dev skills at less than a solid professional rate. Better to be a starving artist waiting tables than to cheapen your artistic skills by selling them to people who don't value them.


> Dude, just get out and actually talk to women.

That's a lot easier said than done.

The parallel with employment is actually not bad: one doesn't find a job by approaching random offices asking for work any more than one finds a wife by asking random if they would like to get hitched (yes, some small number of people succeed with both approaches); one often finds a job by being introduced to the right opportunity by people who know of those opportunities. Now, those introducers might be recruiters (matchmakers) or people one has worked with before (friends), but at the end of the day it's all about networking.


> "one doesn't find a job by approaching random offices asking for work"

Actually one does, this is in fact one of the best (though not the easiest) ways to get jobs.

In my very first semester in college my whole class had to find internships (Waterloo representin'), and being effectively high school graduates with no real experience, it was pretty tough going.

The "smart" advice was to go to as many job fairs as possible, look at as many job boards as possible, apply to as many jobs as possible, and hope for the best.

A good friend of mine, who was a good deal older than the rest of us snotty 18 year-olds - who had a rougher life than most and was later to the college game - decided to drive down the highway with a stack of resumes and stop at every company along the way. He'd insist on talking to someone sufficiently senior (aka not the assistant) before leaving his resume with them.

Took about a week for him to get a job - while the rest of us were still waiting by the phone for a call-back. The job was unadvertised at any job board or job fair, and they in fact weren't planning to hire an intern at all.

It's not conventional, but it does work. Most job opportunities are unadvertised, and indeed many job opportunities don't exist until you ask for them. A lot of companies have problems they'd like solved but haven't formalized it into an open position.

To be clear - soft skills are incredibly important for everyone, and by all means you should be networking your butt off, but randomly approaching offices asking for work does work, really well.


But that's still how you are most likely to get women(or jobs) and how it's been done since forever.


Well said. Why are we so apt to forget how things worked in the past?


>That's a lot easier said than done.

Derive your self worth from yourself and you'll never feel awkward. Everyones interesting in some way. Just get out there and talk, if she doesn't like you or is rude, who gives a shit? Move on to the next.


There are varying degrees of this though. Singles have things like speed dating and singles only volleyball leagues. We have meetups and conferences. I have found all of my jobs through networking. My first 2 were directly from meetups. The 3rd came from a former classmate. My current role came from a coworker from my 2nd job. Most of my other interviews have come from meetups too. It is a lot easier to do this when you know there's some common ground.


Two points on this.

"Cold calling" is a great method for making sales.

Cold calling and talking to women is hard, but doing hard things is a great first step for breaking out of a shell and getting ahead.

The more you practice defeating your resistance to change, the more you build your confidence that you can do it. It may or may not become easier, but at least you can become familiar with and even embrace the pain. Feel the burn!

Taking it easy may have been what got him into this mess in the first place.


> one doesn't find a job by approaching random offices asking for work

Maybe not "random" offices, but otherwise that's exactly how I found my first programming job out of college. No one does this, and you'll get a lot of rejections, but it can work to get a quick in-person chat with a hiring manager about your skill set. Doing some research on the companies beforehand is useful, of course.


I sympathize with your trouble but what you describe seems exaggerated to me.

If within a year you made only a thousand dollars, why didn't you spend more time working on a side project, or sharpening your skills? Maybe the ones you currently have are not much in demand?

Also, freelancing sites do have a lot of low quality jobs, but if you spend some time digging around you can find decent jobs; e.g. I, a poor country resident, have found jobs that made me in a week as much as you claim to have made within the year.

And btw, I'm thirty-something, university drop-out and with a couple of huge holes in my CV. But that's not what I bring forward when asking for a job. Instead I project the most confident image that I have for myself and that's my advice to you, too (i.e. don't focus on the negativity of your current situation, it's not going to help you find a job).


If it seems exaggerated, that's because it is. Outside of NYC and SF, there's basically nowhere in the US where businesses wouldn't hire a competent programmer on the spot.


If you actually believe that, I pity you.

The reality is that CEOs talk up a shortage while holding salaries absolutely steady and even while laying off thousands of programmers:

http://www.latimes.com/business/hiltzik/la-fi-hiltzik-201508...

The reality is also that a 40+, non-degreed programmer will have their resume thrown away by the first line HR people in 95%+ of cases. Not qualified for senior jobs due to lack of a degree; not qualified for entry-level jobs due to lack of a degree and age.

If you want to be educated on this, feel free to make up a fake resume of a 40+, no-degree programmer and shop it around. Make a list of any responses you get. You can keep that list on an index card.


Well, GoogBookSoft comes to Canada every year and wastes many millions sponsoring J1s, TNs, H1Bs, and relocation while paying the same salaries as they do to Americans.

Why would they do that if there was no shortage of qualified American programmers in the bay?


To hold down wages?

If there were any shortage, why are IT wages absolutely flat?

If there were any shortage, why the famous pickiness exhibited by every company in their interview process?

http://cis.org/no-stem-shortage


They're not mutually exclusive.

If there is a shortage and companies go abroad to fill positions, they're technically 'holding down wages'. Otherwise wages would skyrocket into the atmosphere as more and more money chases the same few engineers. Less value would be produced at a higher cost.

I don't see why that would be a preferable situation for the industry or the country at large. Are you really struggling on your measly $100k + stock (at minimum) and desperately need more?


I feel I can relate to this general life story. A lot. While I'm currently only vaguely looking for a job, I also share the same suspicions about general job options for freelancers - although I have to say that I have been extremely lucky in finding work so far. But I agree it sometimes looks like our work isn't very valuable.

In this context I have to say though that the HN freelancer thread, while yielding uneven results, has mostly been very good to me. (YMMV)

The deeper problem as far as the actual hiring process is concerned, however, might be - as hinted at in the article - the amount of work and hoop-jumping necessary just to earn the privilege of showing up for work. I found this astonishing, too, especially given the fact that most programming positions probably have a high turnover rate, and I believe it does have to do with hundreds of applicants showing up for a single position. The ensuing filter process is not only a drain on the applicants, but also on the companies that are paralyzed with making this decision.

I believe the mere existence of TripleByte and SmartHires shows over-supply is a problem, and it's underscored by the fact that they have no problems turning people away.


There is no over-supply of developers, there is a shortage of good developers (for various definitions of good).


> there is a shortage of good developers (for various definitions of good).

But couldn't that simply be a result of an inadequate selection process, instigated by a flood of applicants, and then worsened by an inability to judge who will be good in what role? It seems very easy to dismiss anyone looking for work on the grounds that they must not be very good to begin with. All we know is not enough long-term suitable applicants make it to the end of the hiring pipeline.


There are multiple problems we're talking about here.

One is the selection problem, that orgs have great difficulty in working out who is a good developer and who is not.

The other is that there are a lot of developers who have difficulty in getting work, and to a large extent a lot of them just aren't any good and would be better off in a different career (sorry but that's just the way it is).

Once you've removed the rubbish developers there are indeed far more jobs than developers.


> Once you've removed the rubbish developers there are indeed far more jobs than developers.

Agree. And once you add in the big companies like FB, Google, etc... picking up a huge lot of the good+ developers, everyone else is scrambling to find someone who can at a minimum do FizzBuzz.


I don't know, I am certain that the big co's miss a LOT of good developers who just don't fit their interview process. I went through Google's once and got cut off pretty early in the process, and never attempted a large Co's interview process again after that.


I didn't say they got all of the good developers, but they definitely pull a lot of them. For a really good developer it makes sense to at least try to work at one of the companies for awhile. The money is good, and it ends up being a great resume builder. Are there great devs who are passed over or who do not want to work at the big companies? Sure, but the big companies do suck a lot of the talent out of the pool.


There is no over-supply of developers, there is an oversupply of CVs?


Here's the dirty little secret about "employability" you hardly ever read about in places like HN:

It's not about you. It's about your user and what they accomplish with the tools you build for them.

It doesn't matter who you are, what you know, what education you have, where you've worked before, what turns you on, or what you think is cool. It only matters what you can do for others.

It's really that fucking simple.

So forget about all the window dressing and find a way to demonstrate to others what you can do for them. The first step is to find out what they really need.

Like many others here, I am self taught, pretty decent, and love what I do. But the thing that has always separated me from other just as capable but "umemployable" programmers has been my absolute resolve to program for others, not myself.

I even remember one interview when I didn't present a resume, but instead a one-page project plan itemizing exactly what I would build over the next 90 days to help them solve their problem. I got the job instantly. (An extreme example, but you get the idea.)

I have never lacked work. And I'm confident I never will with this attitude. Try it, please.


There seems to be some confusion amongst people who move from writing code for fun to writing code for money. Which is of course that they're not being paid to write code, but to solve problems. Writers and musicians usually don't get paid just to write or make music, they get paid to entertain. If you're confused about why you're being paid, you might start to think you're getting a raw deal.

Since I started writing software not because of any love for it, but to solve various problems I was having at the time, it's always sort of shocked me that some people manage to get so far into their careers without realizing what they're being paid for.

I quite enjoy it now, but rarely in the revel of pure creation. Usually it's from the satisfaction of a problem solved in a reasonable amount of time under well considered constraints.


Agreed.

A small example: you have some internal database, and now different teams want to have some data analysis done.

The fun thing to do would be to write a generic reporting front end, and easy enough to use so that non-technical people can use to create their own report.

And the pragmatic solution that is to instead spew out all relevant data as CSV with a BOM, so that Excel can easily read it. Turns out a generic data analysis tool exists, and it's unlikely you can beat Excel at its job.

Producing some CSV files from a DB is orders of magnitude less work than creating your own analysis front end, so in nearly all cases, this is the solution you're paid to do.


> I have never lacked work. And I'm confident I never will with this attitude.

I believe you. But that's also because you started this path in life a long time ago. If you're 40+, you've never done freelance/contract work and you need to start finding customers or new employment in a hurry then it's going to be a hungry winter.


Who says anything about freelance work. People think experience = programming + being paid.

experience = programming if you can show a active github profile with clean code that shows you are pro-active or a expert in stack or domain, why would "they" not atleast contact you back.

on the other side, if you have just been coding closed source, brain farts and clones that have no innovation or any overlapping area in what you are applying for, then why would they hire you.

if your looking to get hired by a Oracle or a HP, freelance experience wont cut and i doubt a github profile either, but besides huge corporate companies. most small/medium sized startups are willing to hire programmers that can learn and supply added value.

value is the keyword here, having more then 1 trick in your bag is a must if your coming at it from the "no diploma" angle. Thats why i recommended people to write code for readabilities sake. if nothing else, someone can read it. even if its some crusty 10 year old code.


"if you can show a active github profile with clean code that shows you are pro-active or a expert in stack or domain, why would "they" not atleast contact you back."

Because you're older, or a minority, or female...


you need to start finding customers or new employment in a hurry

What I'm suggesting is being the first to present a believeable plan to solve someone else's problem. You're right, finding them and figuring out what they need isn't easy. But once you do, you have a huge advantage over all the other "unemployable" programmers.


It's about creating value. It always is. Whether an individual employee, or a company.

The problem is "value" comes through a subjective lens. Different employers value a given work product differently. The OP's big-co employer is likely to value process and documentation.

In this start-up environment, speed is also relevant. Make lots of value quickly.

edw519's 90 pitch works largely because he presents himself in a manner for his customer to clearly see the value he would create. He spelled it out.

Its less about talking about yourself and more about talking about them.

The key thing the OP needs to do (and should have been doing) is networking (outside of work). As others have pointed out, with that much experience, you also should have a network of folks to reach out to.

It can take a long time to build a network. Fortunately, there are tons of opportunities in tech to do so. I'd imagine one of the best paths might be to fine a moderately significant trending (but not trendy) open source project and start getting involved in the community (in whatever way the community needs (maybe not coding initially)).

Learn the code base inside and out. Read the forums, discuss things with people. Create value! Find something needed and do it!

You'll meet people (virtually) along the way. Build a public reputation (very important), and maybe find a job. At least you'll be able to reference your relevant skill in said open source project. You'll then be an older developer, but with very relevant job skills to someone out there.


THIS! might be THE answer how people works. My life changed significantly when I read this article [1] and realized this is so True. It basically says the same: everybody looks what can you do FOR THEM and that's the main thing that matters.

[1]: http://www.cracked.com/blog/6-harsh-truths-that-will-make-yo...


Really hits the nail on the head.

When writing resumes and doing interview prep, I always try to put myself in the other person's shoes. Would I hire me? Would I be offering what is wanted?


It's nearly impossible for people to see how you do something useful for users, even if you already work for 10 years in a company. So I'd say that's the least important point of your employability. Other things like being able to integrate to the development team, that's way more important.


Good advice. You as an experienced professional should always ask what pain points they are experiencing and have suggestions. Even if you don't know the answer for the pain-points you can at least learn something by asking the question.


No, this is feeding into that "meritocracy" myth again. You're assuming that everyone is perfectly rational, and only looks at code, when in reality this is far from the case. In reality, the interviewer looks at you as a person, and has their own biases.

Some people are perfectly capable of doing the work, and are passed up for completely irrational reasons. Empathy, try it, please.


I got a degree but am still unemployable because I didn't have a job when I graduated and apparently nobody hires unemployed people. It's like there's just some tiny step I need to get over. Recently a recruiters said all I needed was a little Java experience and I could be making a lot of money. But I have plenty of Java experience, why can't I find a job anywhere?

The worst thing about all of this is how harsh and degrading everyone is when you want to get into the industry. Questions are met with disgust derision, as if you are spoiling everyone's worldview. But I am just trying to describe my experience for survival reasons.


Make your own job man, if you did any freelance work then you were self employed. If you find yourself unemployed, hack on something in between interviews and call it a startup that didn't work out.

Never, never, never admit to any hiring person that you weren't in charge of your career path at all times. That's one of the few distinctions they can make with technical people about whether or not they're qualified or not. Don't make it easy for them.


...but, I've never been in charge of my career path. There have never been any jobs for us. Yes I work on video games in my free time but now I have been doing it for a decade and I have never found anyone to show my games to. The problem isn't that my startup did work out, the problem is that my life isn't working out. How am I supposed to feed myself every day if I don't have money? How am I supposed to program every day when I can't feed myself. Every day I am slipping further and further behind and nobody has any clue what to do.

I don't have any clue how to talk to hiring people. Ever since I got a degree, they were experts at fishing the worst things out of my life that somehow disqualified me from employment. Whether it was a bad grade I got somewhere that is somehow completely my fault, or the way I am supposed to ask and beg for a job as an unemployed person.

If I knew how to make my own job I wouldn't be starving and homeless.


Programming Java in school is not really what they mean by "Java experience". They mean personal projects, freelance projects, etc.

> The worst thing about all of this is how harsh and degrading everyone is when you want to get into the industry. Questions are met with disgust derision, as if you are spoiling everyone's worldview. But I am just trying to describe my experience for survival reasons.

I have no idea what this super vague paragraph means.


>I have no idea what this super vague paragraph means.

I think this thread serves as a good example. Someone wrote a blog post saying "I'm having trouble finding a job."

Look at the top comment, it's basically saying "You don't know what the fuck you are talking about, get out of here. Clearly you're doing something wrong, but I'm not going to try to actually address this problem or help you. Shoo now, you're ruining our perfect view of the tech sector."


So, one, that's not what the top comment is saying. Two, there are dozens of other comments that try to help the OP, despite how vague his blog post is on specifics which could actually be used to help him. Based on those missing details and the fact that he has not replied to this thread, is it more likely he was looking for help or simply looking to vent to a large audience?


>Recently a recruiters said all I needed was a little Java experience and I could be making a lot of money. But I have plenty of Java experience, why can't I find a job anywhere?

Maybe you have personality defects which make people unwilling to work with you, but you are blind to them. Therapy could help you to identify whether or not the case, and if it is, to get better.


Keep trying. It's a numbers game and as long as you're getting interviews you're on the right track.


> When companies find out I don't have a degree that's usually the end of the road.

I have a difficult time believing this. I've worked for & know of companies through connections that care 10x more about your portfolio than degree. We've passed on Stanford grads & even a guy who worked at NASA, because they just couldn't physically bring themselves to code when we needed them too, they couldn't sit in front of a computer & actually build out a test feature despite loving to talk intelligently about the problem. It's not nerves... Degrees/ credentials can create these terrible comfort bubbles that prevent programmers from actually diving in & being productive. When you've been around enough it's easy to spot this type.

In my experience, portfolio is the #1 factor, and I think most companies would take you seriously if you have one w/ at least a couple full, impressive projects.


Completely agree, you can spot the competent programmer from miles away who was atleast some opensource projects he thinks of as "hobbies" in his portfolio.

companies dont care what you think you can do, because you have a degree. they care for what you can do for them, if what you are doing in your own time complements the things they would like somebody have done for them. the choice becomes easy.


The "technology" industry is extremely and irrationally picky in selecting and retaining technical employees, primarily programmers or software engineers.

Not everyone does it. Not every company that does it does it consistently. It is largely subconscious. Technical or "cultural fit" excuses are typically cited to explain and justify the rejection of the taboo candidate.

There are a number of non-technical criterion that frequently push genuinely qualified, competent, indeed exceptional candidates into the "not qualified" category. These include:

o Over thirty-five

o Looks over thirty-five (worse)

o White or gray hair (even worse)

o Has a Ph.D.

o A new or recent (within 2 years) Ph.D. (worse)

o Lack of a college degree

o Identifiable membership in certain low status minority groups, notably African-American or someone with a Spanish surname and visible American Indian ancestry

o Female

o Over ten years of purely technical experience regardless of age.

o Less than three years of paid professional experience (working for a University or government research lab often does not count)

o Expresses skepticism of a currently popular fad in programming

o Obviously knows more or is smarter or both than the people conducting the technical interview.

o Just plain different from the dominant group at the potential employer is some visible way.

o A long recent period of unemployment (over six months, probably over three months)

By his own account, the OP lacks a formal college degree and is well over 35.


The minority status thing is a problem from what I can tell among LGBT developers for sure (if you're looking for work outside of San Francisco or New York). I can't seem to understand why one's ethnicity or gender identity and/or sexual orientation should ever be an impediment to doing one's job, but for some reason certain people seem to fear the Other.


Fact - gray hair gives +1 to programming ability.


Even if we go by the assumption that this is true, it's then not going to be exclusive to the technology industry.


Degrees only matter for "serious companies" and are used as a filter by often clueless HR employees without technical background. As long as you can prove practical experience, you should be fine.

Your network, on the other hand, becomes more important as you get older. Hiring an unknown person in his/her 40s or 50s has a much lower risk/reward ratio than hiring a random developer in his 20s who will a) do whatever you tell him without questioning anything b) work himself to death and c) work for almost no compensation.

Stay away from oDesk and online freelancing in general. Most of what's outsourced online is low skill, low risk and low reward work (landing pages, analytics integration, etc). Almost everyone can do it, so suddenly you're competing with everyone on the planet instead of just a couple of 100-1000 freelancers in your city. One of your biggest advantages over 2nd/3rd world freelancers is your location, language proficiency and cultural background. Use it to your advantage.

Also, hiring is really tricky. No one has really figured out how to do it right and so you have these hiring rituals with IQ tests, personality tests, weird screening procedures etc. In the end no one wins, because interviewees have gotten insanely good at playing the hiring game and employers have become overly careful just not to hire a random guy who will mess up their code base in 6 months and then leave for the next gig.

My personal advice to the OP: if there are tech/startup/... meetups in your region, go there. It's a good starting point and it's fun most of the time! You can get to know some interesting people and that might open some doors!

Best of luck, if you're reading this!


One of the biggest problems -- speaking as a former technical hiring manager myself -- is that a lot of those "serious companies" have HR policies that explicitly forbid hiring managers from pursuing candidates on their own. They are 100% at the mercy of whatever recruiters find for them, which is an awwwwwwwful, horrendous situation.


Really? All the big corps I worked at had a referral program. Friend want a job? Send his resume to HR. If he got hired, some kind of referral bonus (500 to 5000 depending on job market)

Not the same as a direct hire of a friend but I know referrals were assumed better qualified than a random who applied online.


I think that was the point. Referrals has to go through HR, who reserved the right to review and reject the candidate. The hiring manager was not allowed to bypass the HR filter and pursue a candidate they wanted.


Not always true, I work for a fairly "serious" company without a degree.

What many other posters here has said is true, you need relevant experience in place of the degree. This is either projects you've worked on or jobs that are appropriate.


I'm surprised I got this far down the page before someone mentioned going to meetup's.


> I would argue that the outcome of hiring an Unemployable Programmer might in fact be better overall, because we're motivated and we get stuff done - as opposed to the hipster "rockstar" programmer we actually do eat and breathe code.

It's odd that the author seems convinced that they are more productive than 'hipster rockstar programmers' who aren't motivated and don't get stuff done. Isn't that what they do by definition? And what's truly strange is how he seems to think that those types of people don't "eat and breathe code", when the prevailing sentiment on HN is that these 'rockstars' have poor work-life balance and don't do anything except code on evenings/weekends. It feels like he's lashing out at 'young people' in general who seem to be able to get jobs.

I seems that the author's lack of success obtaining a job stems directly from a lack of effort - or knowledge of how much effort is required. He seems to think he is entitled a job just because he's been doing it since he was a kid or because he's had a job for ten years.

I can say from experience as someone who was looking for a development job with no experience, much more is needed than passively posting on a job board, listlessly browsing oDesk, or even sending out a few resumes. Every intern hiring season, my classmates all end up disappearing from class and social life for a few weeks - sending out hundreds of resumes and applications, dozens of emails (cold or introductions), spending hundreds of hours studying for interviews, tens of interviews - pounding the proverbial, virtual, and literal pavement - resulting in most of us receiving one or (more often) multiple job offers.


I think the author brings up a few valid points but totally agreed, they think they are more productive than the "hipster "rockstar" programmer" while in the same breath saying they have been wasting life away at a desk for 10 years.


We have openings we can't fill because we're specifically looking for "nerds" (those who actually do live, eat and breathe code). And I've got a similar CV with the exception that I never left writing software (I did give up on hardware development).

Care to e-mail me a CV?


It's funny you mention that. My hiring success (in terms of impact the new hires made) went way up when we stopped wording job postings using traditional enterprisy language & bullets and instead posted much simpler "hackers wanted" at the local universities. Note: this was in Mexico, not the US, though a handful of the folks I recruited there have gone on to work for SV startups. I feel obligated to note one special case because I still feel a little hurt by it and consider it poaching. (Gbox) http://www.gbox.com has 5 of my former employees (3 devs, 1 SQA lead, 1 UI/UX) out of their total staff of about 20-25.


What's wrong with poaching? You don't own your employees; this isn't 1850.


When you lose 5 people to the same place that's usually from insider recruiting. A lot of companies use No Raid clauses in both employee and client contracts specifically to prevent that type of thing.

If you want to go work somewhere else, that is totally up to you but I'm more than allowed to have a policy stating that you're not allowed to recruit away my entire staff because that destabilizes the entire business, makes the business unable to meet it's contractual obligations and in a multitude of cases can jeopardize the jobs of everybody who is still there.


I still don't understand why that policy's fair.

I recently left one company and joined another, and am trying to convince all my former coworkers to apply here as well because I genuinely think it's a way better place to work.

If you can't compete on the labor market fairly, you deserve to lose employees. Policies like the one you describe are just a market inefficiency that doesn't have a real justification for existing (outside of your own interests).


If a company employs 20 people and 5 of them are programmers without which the company can't function, one leaves and recruits away the other 4 to go work at the same place that means the remaining 15 people are out of work.

Business owners have a lot of people's livelihoods at stake. It's about a lot more than just how much more another company is willing to offer you. That might not matter to you, but that's also why you get to see the policy before agreeing to work at the company.

If coming to work at my office and having the flexibility to recruit away all my staff is important to you...then you don't really have to sign the contract. If you do sign the contract then you're agreeing to the terms. It's not rocket science. Fair policy is that you get to decide whether or not to abide by it before I start paying you. You have the right to decide that policy isn't okay with you and not take the job. Nobody forced you to sign the contract and take the job. If it's a market problem, then I will eventually lose all of those employees because they will have plenty of other choices if they aren't happy working there anymore.

Or to spin this around into the language that you used, policies like the one I describe exist because a lot of people only have their own self-interest in mind and part of my job is to have the interests of all of my employees in mind.


Anti-raiding policies seem to stand on dubious legal grounds (that is there is no consensus with some places in the US prohibiting) and most often only include the solicitation from direct competitors to the business, not just other companies in general.


I'm guessing there was a reason they all up and left. And quite frankly, it's not my fault that you have a bunch of people who want to leave. The stability of your business is not my problem.


I'm fully aware that this isn't a popular answer, but it is reality.

This is anecdotal, but I've had an employee leave when she was paid 3 times what I made and given almost full autonomy. She hired away all of the staff at a branch office except a woman dying of cancer and another who was about to move out of state, then took the entire set of clients with her. This was an actual non-compete situation that nearly cost 13 other people their jobs and nearly bankrupted us 6 times over the next 2 years. We took on more debt while trying not to go under to avoid having to fire people who didn't deserve to lose their jobs over a crappy situation.

There are some people who will be unhappy regardless of what you do for them. In that particular situation, I cannot imagine anything else that we could have done for her. Some people are just self-centered and oblivious to the reality that their actions have consequences.

Yes, you better believe the stability of the business isn't your problem but it is mine and No Raid clauses exist primarily to prevent the actions of a few people from affecting the lively hoods of everybody else who works for the company.

If a bunch of people are unhappy and want to leave, then they are welcome to seek out other opportunities. Nobody's holding them hostage. What we are doing is making sure that before they start working at our company, they understand that if they aren't happy they are free to go work somewhere else but they are not free to actively jeopardize everybody else. If that is a problem, they don't have to come work here.

Pretty simple. You are put off by not being able to recruit away my staff...don't work here. Nobody's holding a gun to your head.


The reality is that you are not entitled to employees. If you don't want a flood of them to leave at once, you need to keep them happy. End of story.


I'm not trying to start a fight here, but at no point did I ever imply that I was entitled to employees.

There are certain realities to management and in many cases one bad employee who is thinking of leaving or planning on leaving can have a huge effect on other people in the office. When that behavior turns into "we should all go work at X" in a coordinated effort it can be hugely damaging and significantly more so than everyday turnover.

What's more is that when something like this happens the owner/manager rarely even gets any reaction time to find out why the person(s) left or are leaving to address the problem.

Sometimes, that one person just needed to go and everybody else will be fine. http://www.reliableplant.com/Read/4768/workplace-bad-apples

I've experienced this recently. Had an employee leave who complained constantly to the point that other staff contacted me to say they were considering looking elsewhere because the office was so negative. That one employee left and tried to recruit 3 other people with her until that clause stopped it.

As soon as she left, everything in the office got better. That was 2 years ago and none of those other 3 employees she tried to recruit away have been so unhappy as to leave...because we do everything to take care of our employees.

One part of keeping employees happy is knowing the company that they work for is stable. Knowing you're doing everything to make sure that is the case goes a long way to reducing workplace stress.

My fear here is that you're dramatically oversimplifying and the basis for that is the shortness of your replies without seeming to read any of my responses.

Running a business is complex and you deal with a lot of things that aren't anywhere in the realm of what you got into the work to do in the first place. What works one place doesn't necessarily work at another. Sometimes it depends on the type of people who you're hiring as to what type of policies will work.

For employees looking at the long term, 401k's with employer matching are huge. For others it's stock options. For some it's flexibility.

The particular business that I'm talking about is in the same city as the main graduate program in the state for the service we offer, so we get a lot of new grads with a lot of workplace inexperience. We've seen a repeat trend of this "Oh, lets all go work here next" behavior but only in this one city, which is what led to the policy in the first place. For that personality, happiness is job hopping and taking their new friends and clients with them.

I'm just trying to help you understand that all situations are not equal.


"I'm not trying to start a fight here, but at no point did I ever imply that I was entitled to employees."

Yes, you did.

"There are certain realities to management and in many cases one bad employee who is thinking of leaving or planning on leaving can have a huge effect on other people in the office. When that behavior turns into "we should all go work at X" in a coordinated effort it can be hugely damaging and significantly more so than everyday turnover."

Then maybe you should treat your employees better. Either way, not my problem.

"What's more is that when something like this happens the owner/manager rarely even gets any reaction time to find out why the person(s) left or are leaving to address the problem."

Like all things with management, you have to be more proactive, not reactive. Again, not anyone's problem but yours.

"Sometimes, that one person just needed to go and everybody else will be fine"

If that were true, then everyone else wouldn't be looking at joining that person.

"My fear here is that you're dramatically oversimplifying and the basis for that is the shortness of your replies without seeming to read any of my responses."

That's because it is simple. You do not have the right to employees.

"Running a business is complex"

Nobody said otherwise. Still no excuse for you to be putting restrictions on your employees like that. You don't own them.


That is not poaching, that is you either not rewarding properly or having a sub par work environment


Reading stories like these really, really scares me. I'm European, and next year my wife and I will most likely move to the US together (long story short: she is a US citizen, we have decided to move, and have already applied). I'm super excited about that. I currently work as a Rails developer, have a diverse background as a Linux sysadmin and developer, and have never had problems finding (or keeping) work where I live.

What I don't have is a college education. I'm also in my mid thirties, don't really have any US contacts, nor do I know very much about the job market there. Throw in some impostor syndrome and stuff like this creates a certain level of anxiety, to put it mildly.


Start making friends in the US, now. Look for meetups, find Facebook groups, figure out which companies have a significant presence in the area where you'll be relocating. You're starting from nothing with your social network but you already have valuable skills. Get to work on the networking now and you'll set yourself up to easily find work once you land ... if not sooner.


One thing that I am definitely planning on doing is sending emails to companies of interest some months before the move and just introduce myself. You're absolutely right though: networking starts now, but it is hard when I can't be there in person and go to meetups, etc.


If you're moving to a city you'll be fine.


I do a lot of interviews, and I interview plenty of programmers who have 10+ years experience or so they say. Knowledge of Java, C#, C++, Python, etc in their resume.

Most cannot tell the difference between private and protected.

Most have no idea what an abstract class is or a static variable. Let's not even talk about an interface.

The vast majority have no idea what transactions are.

These are stupid basic things. I don't ask any library or framework questions. I stick to the basics, to the core language. It's the most depressing thing ever. I don't even go into language specific details.

I understand why there are so many unemployable programmers. They let themselves rot. :-(


I have done a lot of interviews where I was told that I was the single strongest candidate on the tech screen. I would be told, in the interview, that I correctly answered questions that no other previous candidate could, often prefaced with "I don't know exactly, but if I had to guess..."

And then I never hear from them again.

I am not making this up. And this has happened on multiple occasions. I get strong positive feedback during an interview, then the company falls into a black hole. They don't contact me. They don't return phone calls or email. Ever.

It happens at least once a month, whenever I start looking for new jobs.


That's rather unfortunate. I will never say that to someone and not offer them the job, unless they have a personality problem.


In my case, the personality problem might be the ever-increasing paranoia that I'm being rejected on the basis of some outlawed or unethical criterion, and subsequently ignored upon orders from the corporate legal or PR department.

It's one of several plausible hypotheses I have for the observed behavior. Very few are compatible with a healthy future employer-employee relationship.

This is one reason why I hate the brainteaser questions. I was told for one such question that I was the only candidate to give the correct answer. Then the interviewer suggested that I must have encountered it previously, even after seeing me "showing my work" on a whiteboard. Can't win; if you didn't lose, you must have cheated. That company blackholed me after I flew in from another city to spend a day-long interview with them. They didn't even reimburse me for my personal travel expenses.

It was Spatial, owned by Dassault, near Denver, in case anyone cares. That was, in fact, the second Denver-based company to do exactly the same thing to me. The first flew me in, interviewed almost all day, then cut off all contact, didn't pay travel expenses, and even tried to stick me with the cost of the hotel stay by canceling their payment. That was Tyler Tech, Eagle Division.

Neither are unique in cutting off all contact, but they certainly are remarkable in waiting until after an in-person interview by a non-local candidate to do so.


What salary range do you offer (or is you company known for offering)? There might be something you're doing that pre-selects the good developers out, or pre-selects the crappy ones in.

Hint: If you are offering "market rate" or "competitive" salaries, you're probably going to get mostly dog applicants.


Well, one thing you have to ask yourself is, if the majority of people you're getting are crap, why don't the people you want apply at your company?


The whole 'do an open source' project is a crock. I single-handedly wrote a large Javascript module for a well-known editor. It's used by hundreds of people around the world but all the folks employing 'front-end' programmers seem to bin my CV as my current fulltime job is 100% Python.


Though I can't understand why someone wants desperately to switch from Python to Javascript, I do believe open source projects or at least side projects are very useful.

They show what you can do, and that you are able to solve problems. Maybe the editor plugin is not doing that. A cool demo is worth more than a thousand lines of well written code.


Similar boat. I wrote an Angular JS clone (TemplarJS) but they seem more concerned about whether I can verticle center a div. As if a guy who can write a compiler from scratch in JS is going to have trouble building UIs. I don't get it, but I already have a good job so F it.


Single-handedly might be part of the problem; part of what employers looking for open source work want to see is collaboration.


I feel like this could be companies looking more for a designer role rather than a front end programmer role. They are often mixed because most people don't know what to label developers.

I work for a company now that frequently interviews front end/js devs and frankly if we find ANY github/public code it puts you in the lead above the next guy. What you normally write doesn't matter a whole lot because most concepts transfer to any language.

Most of our applicants give us no previous code they have actually written. I fail to see how it can ever be argued that something < nothing.


What seperates this javascript module from other javascript modules? besides convenience what kind of value adds it to a business?

javascript is typically something you shouldnt focus on as open source experience imo. so many people doing it and doing it badly for feelsy points.

you think the person who wrote nginx wouldnt get hired? something mission critical that alot of businesses use.


I think being around 40 with a decade of dev experience should be pretty attractive, at least if the programming experience is somewhat modern. 10 years OO-programming should be translatable to any OO language with ease, regardless of what you actually used before, for example.

There are "unemployable" developers out there, but they are 10-20 years older and have 15 years of niche in-house platforms in some huge enterprise, and now they have no experience with anything anyone recognizes.

Unemployable because just 1 company on CV, no degree and around 40? Sounds strange.


I've interviewed people like this though not as extreme. Basically person gets a job. They learn the job in about 3-6 months and now repeat the same job for years without ever learning anything else. So on paper it shows 5-10 years experience, but in reality they still have about 3-6 months experience.

Part of the blame lies on the company for not giving the employee a growth path, but the largest part lies on the employee for not continuing to grow on their own. Software as a profession is one where you have to constantly be learning. People need to know going in that it is ultimately their responsibility to keep their skills growing and up to date.


> They learn the job in about 3-6 months and now repeat the same job for years without ever learning anything else. So on paper it shows 5-10 years experience, but in reality they still have about 3-6 months experience.

This is the most spot on thing I have read regarding this issue and is why interviewing is so challenging when it comes to developers. This is also why the interview process for developers is so grueling and long. You would be amazed how difficult it is to figure out how much ACTUAL learning experience a person has vs. someone that has done the same thing for 10 years.

I also feel this is why 20-somethings are popular, at least you know for certain how much experience one could possibly have.


Except for all the 20-somethings who started programming when they were 14.


It's been a big problem when I've been recruiting for developers. 10 years experience or 10 of the same year, normally it's the latter.

Personally if I feel I'm no longer learning then I raise it with my manager. If after a few months nothing has changed then I start interviewing.


I thought it was nearly impossible to do software development and not learn continuously? Can't imagine what a dev workday looks like when you aren't learning. You rarely ever do the same thing twice, and even if you do you learn from past mistakes and become more efficient.


So a dev is hired out of school to build CRUD forms in (VB6|GWT|Something similar). Most likely they master the technology in a few months and now just take new/change requirements and never deal with much beyond the original tech. In a big company where changes can take forever, the dev spends a lot of time waiting on new requirements, going to meetings and acceptance. Before you know it, a lot of time has passed and the dev is still just building CRUD forms in whatever technology that happened to be put on when they were hired.


> Software as a profession is one where you have to constantly be learning.

This is one thing that software shares with engineering disciplines


Having experience /is/ attractive. Not having it, though, is opposite of attractive, especially at 40 and without a degree.

Reading the article, I don't think "Now, life at a traditional office was not that bad: barely any work to be done, it mostly involved sitting at a desk and writing some emails all day. " means he had a developer job.


That might be the case. That's pretty much a definition of software development: 1) there is always a lot to do, in any code base 2) doing that for years, even if it's just improving the same code base, will give new challenges and experience.

If you don't have work to do and you aren't learning and progressing then you aren't doing software development, at least not properly.


I see this as a result of two problems:

1: We expect everything to be perfectly packaged and ready to go, including people. We aren't interested in investing in people. A cog is a cog.

2: Older programmers are more expensive (see: skilled), and are more likely to have families or obligations that prevent their hustle (see: working bullshit hours for free).


Depends on the company. My current company does invest in developers. Especially at the junior level where there is a lot to teach, but at all the levels effort and investment is made in individuals. From books, classes, pair programming, etc. Taking the long outlook and investing in individuals knowing that the payoff is going to be in a few years works from what I have seen.


I agree, I just think it will take time for it to catch on among the private sphere. I work now in higher Ed and the culture is much different: surprise, surprise, an Ivy League university likes its employees learning. I also work with a lot of non-career programmers, none of which have Ivy degrees (nor do I). Ofc most companies can't hold a candle to these educational resources, but if they choose to invest in their staff, like you say, it does work.


If he or she would put some contact info in that blog post they might be able to strip the 'un' from the title.


The new hiring meta-game: complaining about being unemployable to become employed!


I wander if someone approaching plans to get a cheap worker...


Where in the world does the author live??? I live in the Upper Midwest USA, and there is no shortage of local jobs at banks, health care, tech companies, and the one-off positions at obscure businesses. Now, hanging my programmer shingle out on the internet and Jesus - there are remote jobs pouring in from everywhere who pay even more.

I've got a Mechanical Engineering and Masters degree, 14 years dev experience on multiple stacks, so that does help my resume look nice, but shit man. Businesses are dying looking for qualified people.


Do you think some of these places are also looking for "entry level" positions as well?


> When companies find out I don't have a degree that's usually the end of the road.

So, this is the reason why no one will hire you? I find it hard to believe. The current company I'm working in found out that I don't have a degree after I signed the contract — they just didn't care at all.

But I would have huge problems hiring someone spent last 10 years responding to emails and doing nothing.

Judging by how easily you dismiss advice about github, you must have tried it. Care to give a link?


Now, seriously, if a software engineer in his/her forties is unemployable in 2015, what the heck is an accountant, lawyer, a builder, a painter or a woodworker to just name a few?

Come on. We are so lucky we did choose technology as a way of living. Sorry but stop complaining and start learning back new stuff. Can't believe what someone has to read.

-- A developer in his forties.


You do realize that for the last several years we've been trying to churn out new developers who will accept jobs for very low wages (or even come on as interns and work for free) and they've got an edge on the so-called "new stuff" which pushes out the 40 year olds?

There's an even bigger push for this now. It seems like everywhere I turn someone is learning to "develop". Sad to say, most of these people only know how to pump out good SASS or HTML or know how to throw a bunch of APIs together.

This of course is a skill of its own, and clearly one that pays bills, but the market will become saturated and the bubble will burst again.


Sure there is tons of new cheap developers. More than ever. And that's because there is more demand for developers and software than ever. Years ago you could only sell software running on gigantic servers or desktop computers. Now there is tablets, smartphones, tvs, consoles, glasses, watches...

Of course there is demand for cheap workforce, and of course there is more demand than ever for skilled workforce. And salaries are going both ways, down and up. Certainly there is people demanding very cheap software engineers and so certainly never has been better paying software jobs.

So it's a matter of skilling oneself up, specialising or searching carefully. But I 100% believe there is no better industry to be job searching on our 40s.


> So it's a matter of skilling oneself up, specialising or searching carefully. But I 100% believe there is no better industry to be job searching on our 40s.

I do agree with both of these statements which is why I try to level up on a constant basis.

You are correct, apps and closed appliances are definitely the wave of the now, possibly continuing into the future. VR is about to hit the market, video games are going strong, people still think they need phones, and websites are still going strong. So yes tech is a great industry to be in, and what else are you going to do? Swing a hammer?

But the more saturated the market gets with developers (and they don't have to be good as long as they're cheap and get the job done fast... something that is harder to do as you get older) the less value guys like myself or you will serve.

Sticking with a company and one technology is of course a slow form of career death, but getting strangled out by all the new growth and an abandonment of the old (be that human or technology) is also a very real problem that isn't just going to vanish by cramming knowledge into your brain.


I don't think the comparison with lawyers and accountants really works, those careers seem to reward seniority quite heavily. Perhaps for builders and painters (as in walls, not canvas), it is more appropriate, since in technology I guess programming is more equivalent to a tradesman, than an architect.


> I don't think the comparison with lawyers and accountants really works

I do, but I think it was misapplied. My step-grandmother is a business lawyer who has passed the bar in multiple states including Florida. She is extremely intelligent, reads faster than anyone I've encountered and is very current with the times. She is also 60 and hasn't been able to get a job in years due to her age... so she has to contract.


Going to have to be honest with you, there are probably strong-arm measures in firms used to prevent automation from taking the jobs away from accountants. My best friend is dealing with the CPA exams now and I can't imagine what he does cant have already been fully automated out with less workers doing Quality Assurance at a far cheaper price


Works with any industry. Sure, there is highly rewarded lawyer or accountant professionals. Just as there is highly rewarded developers. But all others tend to be pushed by younger and cheaper workforce. And Software is one of those blessed industries where one on his/her forties can refocus and get reskilled pretty quickly. Tell an accountant to reskill.

Damn it. Today, one, if willing, can just learn the latest new technology and not only become 1000% employable but also relevant. Can't think of any other sector like this. We're so lucky.


To the author - it's very difficult to go freelance directly to customers. However, one possible channel is via digital agencies, who often need work done on a contract basis. They usually have their marketing channels worked out. Attend in-person meetups, and let the organiser know that you are looking for work, and it will start to open doors.


I am self taught with no degree and honestly, I get at least an interview with about 70% of the places I apply to. I don't put my education on resumes and nobody EVER asks. I am applying to mostly startups though..


I do think startups are the key. Startups generally don't have the money for silly hiring processes so they actually take the time to talk to people that apply for positions.

That and the money they save on stupid HR process goes to my salary so that is great too.


I disagree, i've worked for a few fortune 500 companies. The fact that I don't have a degree has never stopped me from getting a programming job. On the other hand, i've definitely had the feeling like there was a glass ceiling.


Yeah, but the guy in this story is in his 40s. While a startup might not care about education, most of them definitely care about age.


One reason I stayed in finance is that the programming scene is very fragmented. Some people say everybody that can do a print "hi" gets a job, yet many job advertisements come with increasing requirements. Startups keep looking for the 0.1%, whatever that means, that tells me that there is, indeed, strong competition for candidates (and that I have a 99.9% chance of not getting any job in those startups). Finally, age does come into play, one thing is to go into this at 20, another is at 30 and even another a 40, etc.

There is a lot of survival bias. So far, I did not hear any salary higher than 50k euro from face to face talk in Germany (mine is higher, with no coding job). Thus, I am also not clear how real is to have one of those $100k+ salaries just doing "normal" coding (no managerial stuff). If that were possible and achievable even in a 3 years span, I'd definitely jump into it, but reality tells me it's not. At least out of the tech hubs (SV, etc.), but then the 0.1% thing kicks in, so you have a 99.9% chance of not getting any of those jobs, while you have plenty of opportunity to get a steady carrier just where you are.

And finally, programming will go through some kind of "commoditization", it's already happening. It might be good to "only" be coding today, but 10 years from now, older and with kids (so no possibility to work week ends anymore), this will probably not be enough and will move you more towards the unemployable zone.

Just some thoughts from an ex-wannabe programmer.


> yet many job advertisements come with increasing requirements.

I think you shouldn't really take these at face value. If you can give any justification why you can cross off one or two of these, that should probably be enough to get you an interview.

> hus, I am also not clear how real is to have one of those $100k+ salaries just doing "normal" coding (no managerial stuff). If that were possible and achievable even in a 3 years span, I'd definitely jump into it, but reality tells me it's not.

I got one of those. No managerial stuff (though also not purely coding, also systems engineering. But a purely engineering job), right out of University, with a math degree and I wouldn't consider myself especially capable. I'd say it's definitely possible with a degree and a degree should be within the advertised three-year range if you are borderline competent (most people at my university aren't and they are still getting their degree).

To be fair: You have to take into account where you are going to work. A friend of mine is also getting around 50k in Hamburg, I am moving to switzerland for my job. There is a huge difference in pay based on location.

I definitely think that "just coding" isn't enough. Employers are looking for a degree for a reason, there are certain skills you will probably not learn when "just coding", like abstract thinking, algorithmic analysis and stuff like that. And you will find tons of people bitching at University about how that is totally irrelevant to a software job, so we shouldn't learn it. But you should.

All of that being said: I doubt you will make significantly more money than in the finance industry. From what I've heard, if you want to make real money, work for a bank. Finance vs. SWE is definitely a lifestyle-choice, not primarily a money one :)


IMO your problem is not lack of degree (personally, this is the last thing I check on a resume). Nor your age (I am also 40ish and more productive than ever). Your problem is your debt.


>(personally, this is the last thing I check on a resume)

I've found myself doing the same. "What has this person done?" is my internal dialogue while I parse through resumes.


How would an employer even know about that?


About his debt?


Is your physical location also having an influence here? There's no doubt programming jobs have got harder for a lot of people to get and I never believe articles about a shortage of STEM candidates (just there's a shortage of them at the right price). However, I know a few people in the UK who don't struggle for programming jobs (London area) even though they've got no university degree.


I was thinking the same thing about location. If you can, move to a city where there is less competition for jobs. Midwest cities have a lot of jobs in banking and insurance that aren't as competitive.


I took my linkedin profile down b/c I was tired of dealing with recruiters. I work for a top 5 Fortune 500 company making ~70k 1.5 years out of college in ATL.

I've interviewed with a couple companies just to see what it's like out there. I usually ask for some ridiculous salary b/c that's the only way I would leave my current job.

I find the interviewing process stupid. I had one company ask me to code up a fully functioning Angular site from scratch in some jsfiddle clone that I had never seen in 1 hour. It took me around 5-7 minutes just figuring how to work with the fiddle clone.

All the while I went in there as a guy who had written a pretty good Angular JS clone from scratch - recursive compiler and all. You would think that would be proof enough that I am pretty good at JS/front end dev. I just laugh at these interviews.


Do you consider these sorts of interviews fair? I don't see how re-writing something you've already showed them accounts for many things (aside from working under a time constraint)


I don't know if I thought of it as unfair as much as self-defeating on the employer's part. In the specific case of that interview, I told them upfront that I was not an expert in the practice of AngularJS. I understand the concepts of Angular at a very high level, as evidenced by writing a competing framework with more advanced modules and superior algorithms.

Why they would then sit me down and ask me to code up a full site in a hour is beyond me. This is something I would think is a legit request of a candidate who came in saying they were an Angular expert. But why waste your time on person who has already told you they don't have that skill set?


I'm also a self taught programmer, but I have never been treated less for not having a degree. I'm rather fortunate I guess. I once even wanted to work in San Francisco (I'm based in The Netherlands), and the first job I applied for actually hired me and flew me in every so often.


I took this to be less a post about not having a degree but rather, not keeping up with the market. How it's easy to just do the work that's in front of you and not consider how your choices now will affect your career in 10~20~30 years time.

Not having a degree doesn't help finding work (it shouldn't make a difference, but unfortuantely with most HR depts it does) but if the poster had been willing to aggressively work on their career instead of coasting at the "traditional office" the story could be very different.

I've done a few years with a mixture of small company/freelance work myself and I'm back in an enterprise company for the first time in ages and on a purely technical level it's a giant step back. There's huge resistance to changing existing code and/or introducing new technologies. Often with good business reasons (the product is done, it's in production and huge changes are not needed) but if you're on the technical side then you absolutely have to be looking out for your own skills if you ever want to work outside of that company again.

If I was a hiring manager, seeing 10 years at a "traditional" company on a CV with no signs of interest in the field outside of the job would be setting off alarms. I absolutely would rather hire someone with experience and fully developed professional skills than a fresh grad, but the nightmare is that your experienced hire is used to just following their 80 page internal process guide every day and they wouldn't be able to handle any new situations.


Reading this thread, I get the sense that most comments are from twenty-something guys. There is no way they would understand what the 40-something rusty programmer is talking about. It's call the invincibility of naive youth. You will be him in a few years.


The job cycle is a lot shorter now than it used to be, and the landscape changes a lot faster. I'm in my 30's now, but have had to completely reinvent myself 3 times already (twice within tech) and expect it to happen more.

Ageism works against the young as well as the old. Most of these 20 something people I'd suspect, if they haven't been developers since they were 9, have run into it. The advice is still sound.

An employable skillset is now a moving target. You can't depend on job websites to get the job done. Your number one job is to be your own salesperson. Find someone who is where you want to be and find out how they got there, you're probably not that far off from being able to replicate their methods if you're already in the field.

Being hopeless and depressed about the issue doesn't solve anything, and if you're over 40 you have plenty of advantages. Become a consultant and sell yourself to companies who won't even give a 20 year old the time of day. They may not want to hire your outright, but they can definitely see they need your expertise.


start up and pump in those 100 hr weeks


I have a bachelor degree in EE and have been programming since 2 years, and also doing penetration testing since i love security, yet i have not even managed to get an interview at any company i applied to , don't even know what is the problem .


What about an on-line cursus, like, at Stanford, studying and getting the diploma. Of course, it may not be considered equivalent to the diploma obtained at Stanford in the Silicon Valley, but it would change you to a diplomed programmer, and you might get more doors open? http://online.stanford.edu/ There are others MOOC: http://coursera.org/ http://ocw.mit.edu/index.htm


OP's age might (will) still work against him even with a diploma. There is still a perception in IT that anything to do with technology is for the young and hip (even though the Internet is 20 years old and digital gaming even older, but ho hum). It's ridiculous and annoying and there are too many young people willing to be taken advantage of in return for grok-only-knows-what they think they are getting.


The internet is 46 years old. I've personally been using it for almost 23 years.


Ok, the WWW then. Let's be honest, the average Joe didn't use the Internet before the WWW came along (at least not knowingly). But I should know better than to mix the two up.


The WWW is 25 years old. I find the implication in your "let's be honest" to be repugnant. I was being honest.


Untwist your knickers, you are not the victim you think you are. You are a pedant.


I wrote a blog post a while back about how dropping out of school has impacted me professionally and personally. I feel it's relevant, even if my story did not involve exiting the industry for an extended period, because being self-employed for a decade puts me in a fairly similar position, along with lack of a degree.

http://www.likewise.am/2015/07/too-cool-for-school-a-retrosp...


To me it sounds like someone "good with computers" but doesn't really know how to program. All that stuff about "commodore 64" and "garage startup" sounds a bit like a smokescreen. OK, you liked playing around with computers as kid. Great, most of us did. And that made you good enough with computers that you got a job at BigCo. Then you got a little lazy and stopped learning new stuff. It happens. This isn't a condemnation.

I don't think BS is going to help. So here are a couple of options. If you really want to do startups and glam and make hundreds of thousands... you'll have to learn how to program in modern ways. It's going to take some time and effort. And you will have to build some real stuff. You might not have the time.. you are in your 40's, and you might not have the real desire to put in the effort. It's not you can't do this, you probably can but it's going to be difficult and take some real desire and most important some time and a lot of effort.

Here is another option that might be a better one. Go back to a BigCo. You have a history of job stability. You know about BigCo ways of doing things. You are good with computers. Get a certificate or two if you need to. It's not a million dollars but given the required effort, the pay is pretty decent for sitting at a desk. Forget about the 100K+ salaries you see bandied around. That's for something else.


If poster is also author I may just be wrong. Maybe they can do web programming.

But the story just smells "funny" for some reason. I guess because I've met people like I'm referring to in parent comment. People who haven't put in the effort but want the advantages. People who know a little about computers or have been help desk and suddenly want to be programmers without the required skills or effort.

This might not be OP though. I maybe judged a bit hastily.


Couldn't have agreed more. Relevance is the key.


> I felt drastically out of place, but for years it was just too damn convenient to go with the flow.

That sums it up.


My experience with oDesk was completely different from the Unemployable Programmer.

Yes, there are plenty of "lowest-wage programmers" on those sites. I never bothered to compete with them on price. I simply charged what I thought I was worth, and ratcheted my price up and up as I discovered that the market thought differently. Interestingly, as my price went higher and higher, the constant noise of "crappy" job offers quieted down and was replaced by a small number of great offers.


I did mostly software engineering and software architecture in my studies, just to find out that no one gives you a job as software architect right after university. Everyone has to start as a developer and one day, if he's lucky, he will score a job as software architect.

If I wouldn't have had a job as a programmer on the side (first a few months as intern) while studying, I wouldn't know much about programming.


Besides some of the other advice offered. You're probably looking in the wrong place.

Anecdotal story: I found myself working at a warranty company and a friend of mine worked at a specialized software company. We got together one day for drinks and lamented the fact that we had problems finding the right people. His problem was that everyone who applied was fresh out of college and had no true hands on experience, where he wanted senior programmers. My problem was that everyone who applied had a Masters or Doctorate degree and was applying for mid level/entry position.

If you're finding yourself unemployable in a particular area, you're probably right. More than likely though, you could find an excellent job at a company that isn't directly a traditional tech company. Every company in the world now needs to have an IT strategy of some sort. With an IT department of some sort. And I can guarantee that there are enough out there who are just looking for experience that they would hire you on the spot. The problem though is reaching out and finding them.


"But they're not talking about people like me, they're talking about twenty-something Ivy League post docs with stellar CVs."

We're trying to recruit a devops with AWS experience. We really don't care about which uni you went to or didn't go to.

Probably no good for you as we're in Manchester, UK but I don't think we're that unique.


He probably wants to be a developer rather than a support though.


This is goofy and a little insulting. At my clients, I write more code than plenty of developers. Turns out it tends to be necessary when you're developing (key word) build pipelines and tooling. I also get to touch a lot more of the stack.


One thing that might help is to stop selling yourself down. Like me, you are a giant risk because you have no degree. However, risks are taken all the time if somebody decides that there is a good chance that the risk will pan out.

Show to them why you are a worthwhile risk instead of showing them that you are more of a risk than you are.


Go contracting and your "employment" is safe. Always wonder how few questions I am asked as a contractor, earning thrice the money of my employed colleagues who have to go through painful hiring processes. Of course they can fire me any day, but that never happened to me and can happen to an employee as well.


Hello sir, you have possibly found your doppelganger.

I don't have time to type up my whole story, and a lot of it is in my comment history, but the gist is:

I started programming with BASIC and later QBASIC. Self taught, no degree. Video games / text adventure games were my thing. Later fell into web dev and loved it... until I got further along in my career and was entangled in some really vicious office politics. I also suffered from untreated depression for years (which I have now managed to get under control). Those things combined with some really stressful personal family issues coalesced into a nervous breakdown of sorts and I holed up in my house.

I haven't had a fulltime job in 4 years - I just contract remotely. Almost everything I've done has been through recommendations which is really the only way to go when contracting. I've had multiple clients whom I've never seen - just spoke to on the phone for a few minutes and then slack / email for the rest of the contract. Sometimes this works out well, sometimes it doesn't. I only made $30k last year and it was very spread out - there was at least a full week where the only food in the house were biscuits made with water. This year has been better thankfully.

Contracting is not my end goal - independent video game development is. At the end of the day I don't care about the money all that much. If magical riches await me in the future then I will accept them with open arms of course - but I'm only seeking enough to survive. I care about making things - I really don't want to go implementing the ideas of clients. I always fancied myself a creator and need to find a way to make my projects profitable so that I can find self-fulfillment through the things I create.

So, in addition to contracting for these last 4 years I've spent the vast majority of my free time improving my skill set (improved my python, dabbled with node, started building "modern" websites - SASS, Bower, Gulp etc).

I also started teaching myself how to make 3d games using Unity and c# (in case you're wondering, I'm creating my own assets, not purchasing them - and I have almost zero interest in creating mobile games). My girlfriend teamed up with me, started teaching herself 3d art and has already produced some pretty impressive models for the game we are working on.

I'm very interested in teaming up with a programmer similar to myself, or perhaps a group of similar programmers.

Edit: left out some words


I think it's critically important to get involved in a open source project in some way or create your own, i.e. on GitHub. My project svidget.js is up to 154 stars (at the time of this post). It not mind blowing stats, and it may be niche, but it's in a space (SVG and data visualization) that I enjoy.

The benefits are plentiful. I've learned more about JavaScript that I thought possible. It also demonstrates you have a passion for technology and it's just not a job. You have the satisfaction that are helping others solve technological challenges. If anything, you are more marketable which is the point of that article. Good recruiters and hiring managers look beyond your resume and looks for way that you standout.


I'm the exact opposite -- have a shitty degree (that I'm almost a bit embarrassed about) so I leave it out of my resume. With 10+ years of solid experience I compress my resume pretty tight to fit it into 2 pages but just leave out my degree. Most people don't care and I don't have trouble getting a new job (and no I am not a 20's something hipster programmer, whatever that is).

A degree doesn't show how smart you are, it shows you have the ability to get things done (or at least show up and do your work). But guess what? So does shipping real products.

Best of luck, UP. You seem like a smart guy so keep up the perseverance and get more stuff on that resume!


OP : that was jarring, and I feel for you. I'm sure others in this thread have already offered much more salient and actionable advice than I can, but I do hope you find a resolution to your unpleasant situation.


You have to sell yourself with confidence. Employers often want people who have enthusiasm (not just skill).

Unfortunately, people who had a really tough career like the author often tend to lack enthusiasm (which is understandable) - It's one of life's vicious cycles and it's almost impossible to get out of.

You just have to hustle. Try a lot of different things and make yourself known to as many people as possible - It's all about odds. If you find a way to spam out your resume to thousands of potential employers, you're bound to get some responses.


Feels pretty accurate. The real source of the problem is political, meaning how people perceive tech in modern days. It's very different when you look at IT business history.

Going mainstream implies major changes, which are not technological, but still exclude many players because big corporate players bring immense business differences.

To be honest, skill and intelligence never mattered when it's about success. Humans want to be happy, technological progress interests nobody. That's where the "overskilled" comes from.


This should come with a huge YMMV.

The demand for programming skills varies across locations, skills and age. Certainly you can be an unemployed programmer but adjusting locations/skills can greatly improve circumstances. ODesk/Freelancer gives you very little control over demand and hence, you are just a commodity. I've yet to see anyone doing well out of it from a contractor side but plenty of people doing well who need cheap contractors fast.

Understand the market or someone who does will take advantage of you...


It appears that the OP is in Germany, which is probably a more significant issue when trying to get work with US companies and/or with US-centric sites than not having a degree.


I would look too into jobs where programming is an asset. I wasn't initially contracted as programmer (caption reviewer of all things), but managed to bring code into most problems, automate away lots of repetitive processes and create tools and workarounds for whatever we didn't have yet on our main app, or even to help customers integrate with our API. Conditions may not be as good as a plain software engineering position, but you may have a bit more freedom.


What about people that instead NEVER had a job?

I got my degree in 2009, at the height of the crisis (for now at least... here in Brazil the crisis of 2009 is finally getting worse), I NEVER had a legal job, all the stuff I put in LinkedIn were semi-legal or outright illegal stuff (or my startup).

Also my programming language of choice were clearly a poor choice, I learned C, and C++ and whatnot when I was a kid (I was 6 when I started to learn coding), those are clearly mostly useless now.


How are they poor choices? Methinks you're just looking in wrong places if they're languages you want to continue using at a job.

Embedded is hot right now, so sign up for the Jack Ganssle's Embedded Muse Newsletter http://www.ganssle.com/tem-subunsub.html. The jobs are going to be mostly US based, but some place to start.

And look for companies that you know are going to be using C/CPP from their products. Even if they don't have jobs posted, find someone on the engineering team via GH, FB, LinkedIn, their blogs, guessing their email address, conferences, where ever and email them a nice note talking about their products and how you'd love to work with them if they have a position open.

If you can engineer a piece of code, I feel you can also socially engineer your way to a contact somewhere you want to work.

Else if you really want to be some "rockstar" web developer (and I only ever use that term as a pejorative), then start using a relevant language, and learn how to talk to employers about how your deep C/CPP experience is actually an advantage that no other diploma-mill code-school grad is going to have.

It's never more depressing then when you've hauled in a candidate for a review because they've got great past experience, but the candidate has zero ability to relate that experience to conversation at hand.


They are poor choices because most jobs available to me are for java/ruby/python/etc...

I personally like Lua (that I NEVER saw a job opening for this), and C and C++ that I learned as a kid.

When I find the rare C or C++ job, usually they want 20+ years of experience or soemthing impossible like taht to me (I am 27 years old, obviously I can't have 20 years of experience), or are jobs in other countries, but unwilling to help with visa.

C and C++ became sort of too specialized, only use for high-performance stuff, even games now (what I really like to code) several companies prefer to use .NET or Java, the few C or C++ jobs that exist usually are in countries with some engineering history (like Germany, I saw lots of C++ jobs there), or in US (that has lots of jobs of lots of things).


I do feel kinda like you, though I'm more of a "jack of all trades". You can find C jobs in the embedded industry, in Brazil, have you considered it?


Yes of course, I got ONE interview (coincidentally, yesterday, in a company that makes cashier machines).

And I mean ONE interview over the course of 6 years looking for a job


Perto?


I actually have the completely reverse experience. I've been writing software for more than 15 years and C++ always got me a job.

When I was unemployed, I always had at least ten potential employers calling me for my C++ skills. And with C++, you can get a lot of various jobs like multimedia, systems programming, security, banks (even if you know nothing about it, they will teach you what you must know whether it's a big bank or a company doing embedded devices). My resume is rather generic and I don't have any specialization.

It's definitely not a useless skill. It seems to be a bit rare and I'm sure that's why I always had companies hiring me to write C++ code.


C/C++ are almost all I use all day, with some Lua for good measure. If you can find a register in a memory map and have a good concept of time and how it relates to the hardware clock you'd probably make an excellent embedded developer.


Our consulting firm sent 5 c/c++ dev's to a high profile client last month, the interview lasted 10 minutes before they instantly grabbed all of them. Anecdotal of course but choice of language is a poor excuse.


I can empathize. Perhaps getting involved in open source would help?

The OP was a little bit light on details of the exact work under-taken at the 'company' but I'm guessing it wouldn't be interesting enough to pass the sift of most recruiters.

That's tough but with Open source you could get involved in anything you felt like, make a contribution, get recognition and reboot/re-skill that way?

Still, it's not an easy or quick solution though and YMMV.


You don't have a degree, do you have a portfolio? If not, then how can you expect to get a foot in the door with no easily verifiable proof of competency?


My first job out of college in 1999 (getting my CS degree) was a startup. The other devs there laughed at me and told me my CS degree was worthless. I went home and seriously contemplated whether I did indeed waste my time in college. Fast forward 5 years, a dotcom crash and several interviews later, and I can tell you with certainty that degree was worth it every step of the way.


Reading this and other posts, is there even a market for an American Mediocre Programmer?

Seems like employers would rather just hire a H1-B from TCS instead because then they know are tied to them via the H1-B, whereas a mediocre programmer who is trained up would become a better programmer and might leave once they are good at their salary doesn't commensurate?


I think the important thing that the author acknowledge he missed is not getting to know the right people. Get to know your coworkers, connect with them on LinkedIn, and keep those connections fresh. When you need to find a job later, you can tap your contacts network and have a much better chance than randomly applying or using a hiring agency.


Working 10 years for a company looks like a reasonable history in my eyes. Show what you have done and learned in that time.


If you can find some spare time, perhaps invest in open source? It's an easy way to diversify your CV.


The whole 'do an open source' project is a crock. I single-handedly wrote a large Javascript plug-in module for a well-known editor. It's used by hundreds of people around the world but all the folks employing 'front-end' programmers seem to bin my CV as my current fulltime job is 100% Python. It baffles me that they want someone who is both a CSS3/LESS/SASS design guru and understands closures/promises/OO/etc.


I almost always get an interview, which almost always leads to an offer, and my resume is laid out so that open source takes up 2/3 of the page.

http://irc.sircmpwn.com/Drew-DeVault-CV.pdf


I watched a few of your live coding streams on twitch. Cool stuff!


As some said this post feels completely uninspired. If you breathe code you have a world of options to create a living wage. Go out, meet people, work with them (create their minimal products, help them further their agenda) and you will see results.


Sorry to hear you are having hard times. I notice you don't mention anything about your skillset? I am based in the UK and there seems to be a huge supply of work around in mobile and web. Whats your current skills in?


I sympathize with anyone that have convinced themselves they are stuck even though conditions for success is at an all time high. Chin up and either network or build something usefull yourself.


Depending on your circumstances, there may be a strong argument to be made for your completing a degree program. There are MANY more options now compared to when you were in school.


Where are you based? What programming language skills do you have?


Where do you live and what is your skill set? If you know PHP, .Net or Java, look for jobs in the Washington, DC, area. There are plenty.


You've got a few things working against you but I doubt you're actually unemployable. I don't want to say you're doing it wrong or that I have a better formula, but here are some things to think about.

Your age, the buzzwords ("skill sets") on your CV, lack of college degree, possibly lack of recent relevant experience -- all of those can be negatives and will keep you out of a lot of jobs. So don't try to get those. You can't fight prejudices or stupid hiring processes.

You have to present yourself as someone who can solve business problems, because that's what companies actually hire and pay for. No matter what the job posting says no company or client actually needs a PHP or Ruby programmer. What they need is someone who can translate business requirements into working software. Get the focus on your ability to deliver.

When I talk to a potential client I start by asking them to tell me their top handful of business problems or pains. I pick one that I think I can help with and talk about that. We almost never get into technology or languages because those are incidental to actual business requirements. Many business problems are not actually programming problems. Just because a client has 300,000 lines of Ruby code I don't need to write Ruby to help them with their PCI compliance audit (real client). Another client had an enterprise logistics system written in Java, but that had very little to do with shipping charges calculating wrong -- I don't have to be a Java guru to figure it out. The problem was fixed with almost no programming, just correcting some data that was formatted wrong between systems.

My point is that you need to present an appealing package with some obvious business value to the client or employer. You don't choose a car based on a list of the parts in it (CV), you choose it based on perceived value, appearance, and emotional appeal.

Instead of applying for every job and putting yourself on job sites and scraping the bottom of the freelancing barrel on Fiverr develop a few skills you are really good at and sell that expertise. Identify companies or business niches you want to work at and knock their door down. Make the deal low-risk: I don't charge clients if I can't fix their problems.

Meet more people. Most people get their jobs from contacts, friends, even casual acquaintances -- I got a job lead from a guy at a bar in LA after we started talking about bourbon. Get out in the world. Don't treat everyone you meet like another node in your network, though. People like to help friends and people they like, so be the guy people like. People don't like to help the constant network-builders.

I'm not saying it's easy, but you need to play a different game, because a programmer in his 40s without a lot of recent relevant experience with the latest toys is not going to stand out. Sorry, but no one cares about your startup experience or what you did five years ago. They care about what you can do for them right now, so focus on that and don't get bogged down trying to win the recruiting numbers game.


Presumably it was the author that posted this. So why hasn't he commented?


That's my biggest fear trying to make a living in this world.


Coffee and techno, dude. Coffee and techno.


I can relate to the author of the article.

Programming is seen as the silver bullet to solve employment in many countries resulting in you competing against a whole continent with a 100 million IT pros, all super smart foreign students who studied in the US, thousands of school leaving kids wanting to become programmers because they grew up playing games or owning laptops/iPads/smartphones and programming is made a core skill in schools. They're even teaching programming in prisons. With all the free online courses and code schools there isn’t a barrier that stops anyone from becoming a programmer where as other industries have barriers of entry. If you are a tech professional, you're competing against the biggest pool of potential workers in the world all willing to do anything to get a foot in the door.

In my experience I find there is a huge ageism issue in the IT sector. At his age the author seems to be insinuating it's due to his lack of degree but I can safely say it's his age and not the degree. I find a manager in his early 30s late 20s won't hire a programmer older than him. Similarly a manager in his 40s won't hire a developer his same age. In applying for positions I find I can make it to the final interview but then it comes down to my age not making me the perfect fit. It's like the unasked question is why you haven’t made it and if you are still looking for a job at 40 so you must be damaged goods. The other big disadvantage in the tech sector is years and years of experience is not valued as it is in all other industries. At 40 the stigma of old tech being listed on your resume is seen as a negative rather than a positive. Fitting in with your co-workers is another big issue with hiring managers and HR and it seen as a risk that you won’t fit in with people 10 to 20 years younger than you.

When I complain to others I hear stories of someone who knows of x developer at 40 who still works as a developer but they’re obviously not starting from step 1 looking for a job so that comparison I always find stupid.

I do agree with other posts that networking is the problem as 90% of job are not on job boards. However as a programmer I find networking is hard because you are focusing on completing x feature/project and generally want to work uninterrupted for long stretches rather than spending time at sucking up to a manager or co-worker that might help you in the future. Also I find unless you have something that someone wants I find networking at 40 is difficult because people generally don’t want to network with you.

The lessons I’ve learnt are primarily the entitlement that I felt x years ago is something I have to get rid of very quickly. I’ve always thought if you give me problems and I always solve it that means I am special. However I realize I’m just like the other billion wannabes with the huge disadvantage of my age. I feel like I have to work 10 times harder now that I’ve been given the scarlet letter of age to wear around my neck. That said knowing the problem is the first step to solving it so I can at least be optimistic.

My advice. Understand you always have to learn and have to solve the networking/self marketing problem. Try to have a purpose even if it’s just a dream of a purpose. Even if have to take up a non IT job full-time because of your situation you can always code part time. With a strong base and today’s ease of access to information, picking up new language is surprisingly easy.


The press, and some people here, are always saying they can't find good programmers, and it is certainly something that is overstated. One reason there aren't enough good programmers are people in your situation - you got by for a while programming Javascript and web full stack in Germany, yet now, during an economic boom in tech, you are increasingly having trouble finding work. As you get older, and if the tech market slows, you could be in worse shape. You're a data point for bright, young people who want to increase their tech skills towards why they should not want to go into IT.

That aside, I think you can still get work. You just sound discouraged after the rejection and sound like you are beginning to think a little fatalistically. Yes, not having a CS degree hurts you and yes, being at one company for over a decade slightly hurts you (not that much though) and yes, being in your early forties also hurts you. You don't say whether you're working that full-time decade long job any more (or maybe I missed it), if you were laid off, that also will hurt you more than if you're still working there, companies prefer hiring people already employed. You are over-discouraged though, you can still get work in this market.

You talk about going through many hoops, talking to many people, and a lot of weight given to college. Which sounds like a lot of applications to big companies. Only a big company could spend so much effort on each person, put a lot of weight on official credentials etc. So one thing to do is - don't just apply to big companies! Apply to small and medium sized companies as well. They often don't worry about college degrees as much, you're often talking directly to the decision makers right away, if they like you they often have the authority to hire you. Applying for big companies is fine, but mix it up a little.

Another thing - you say companies are interviewing dozens of people for each position. OK. What is going to put you over the top? The answer is different in different situations. From small to big companies the answer is usually technical and personal. For technical - picture the people interviewing as being a Gaussian curve with a normal distribution - the x-axis is how technically good you are, the y-axis is how many people reach that level. Where do you have to be on that curve? If a friend is bringing you into the company, you have to be in the middle or better. If you are going into a company cold, you have to be (if you're having trouble like you are) one standard deviation above the mean in terms of ability. If you're two standards above the mean, then you should be having no trouble.

What you have to realize is most people are in the middle of that bell curve. Most Javascript programmers can tell you what data types in Javascript are, what the "this" keyword is etc. You probably can as well. But if you start digging deeper into how well they know Javascript or frameworks their knowledge is not that deep, and they start mumbling the answers. The average Javascript programmer with your experience have an almost interchangeable amount of knowledge - they all have the same level of depth. But every dozen interviews or so you get someone who really knows Javascript and certain frameworks backwards and forwards. People who know more than you. When you are interviewed, you should write down the answers afterwards and honestly ask yourself if you explained things clearly and in depth. Honestly, you should be able to knock every question you are asked out of the park with a very in-depth and clear answer. Because there are people who are being interviewed who can do this. Giving some sort of half-answer where I know you know it a little, and then missing a few questions doesn't cut it - because most other Javascript programmers with your experience can do the same. Knowing this cold is what puts you above the pack.

Insofar as personality - it depends on the company, the people and how badly they need someone. Most of the time, if your technical skills are one standard deviation above the norm, and your personality is normal, we usually offer the job. I've interviewed people with very strong technical skills but their social skills were not just slightly poor but very poor. They continued answering questions after being told several times that their answer was sufficient, and continued talking even after being told "OK, stop talking"! (obviously things had become a little bizarre on their end when we the interviewers felt we had to tell someone "stop talking" - which they ignored, and continued talking!) Or people who were great technically but seemed very angry and had their arms folded in front of their chest the entire interview, and made a kind of sarcastic grunt after each question. Actually I would have even hired that person, but my boss torpedoed him and I wasn't surprised. I mean, I myself have made a faux pas when I have gone on an interview - but at least I knew from the interviewer's reaction that I had made one! Some people seem oblivious.

Another thing - just hit up everywhere. Put your resume on Linkedin, look on Stackoverflow careers, Craigslist jobs board, angel.co jobs, whatever people do in Europe (and also look for remote Javascript positions in San Francisco and elsewhere). Jobs aren't always posted everywhere - if there is a Javascript meetup or jQuery meetup in, say, Berlin, their mailing list might have job postings you can't find elsewhere. See where people are meeting up in your city, or nearby cities, to talk about jQuery or Javascript or full stack web development. Go out, talk to people. Pass out your business card. If you don't have one, make one, they're not expensive, you can make them same day if necessary at some local print shops. Your best resource is often letting programmers you already know know you're on the market. Some of this is for future reference though - one reason it's good to keep in touch with people once in a while is so you're not only contacting them when you want a favor. Not that them possibly getting a referral bonus for their big company hiring you is exactly that much of a favor.

For the longer term (not now), if you think not having a CS degree is blocking you, you might think about getting one, perhaps at night. It helps in a number of ways - human resources prefers hearing you're halfway to having a CS degree to not having one. It also gives you a technical foundation - you'll learn things like what is first normal form, second normal form, third normal form etc. are if you don't already know. Also you meet people and your network can grow - again, that depends on you meeting people and keeping in touch.

Another longer term thing - I am an Android programmer. Android was first released in 2008, but even in 2011 the local Android meetings were pretty empty - we could all sit down at a table in a local bar. Now local Android meetings sometimes have dozens, if not hundreds of attendees. I picked a new technology stack which took off (one billion Android phones sold last year). Lots of companies are looking for senior Android people with a lot of experience, but the only people they have to choose from are those handful people who were sitting around the local Android meetup table in 2011. Whereas Javascript is 20 years old and Javascript programmers are a bit more a dime a dozen. The thing though is - there are a lot of local programmers who write Java web backend programs (for Tomcat, or Wildfly/JBoss). They have a solid job, so why change. Over the past few years, web has been fading a little, and native iOS and Android have been rising. It is still to the extent that it is too early to put much weight to it. It's understandable why someone making $120k a year or more with a lot of Java web work around might not take the risk of jumping to an Android job. Why they wouldn't play around with it as a side project is more of a mystery - this is where they start to get into your situation. Because I can tell you, the middle-aged go-getter guys from our local Java group are always working with the cutting edge so they don't fall behind. They're working with Android Tango at the moment, which even I feel is too far ahead of the curve for me. Although maybe if I was smart I'd order those $500 tablets and start tinkering with them.

You were too complacent over the last decade - it should be obvious to you know. It's not fatal as times are good. When you get your next job, you have to make an effort to get a diploma, keep up with the latest technology, keep in touch with people and so forth, or you'll be in a worse situation next time around.


Spot on! Couldn't have agreed more. I'm currently hiring JS dev and 99% of them are self proclaimed "experts" 10 out of 10 but they barely scratch the surface with the potential of JS.


20 somethings aren't comfortable hiring 40 somethings. That's the bulk of it, and if you think this isn't true you're lying to yourself.


This. I've been on teams that have straight up turned people down because of age (sorry, "culture fit").


If you're in your late 20s and coding is all you've ever done, be afraid. Domain knowledge is where it's at.

I am in a similar situation to the OP having started off with a ZX Spectrum, did CS, coded, but in my late 20s I was tempted into fixed income finance, and did that for 15 years at the highest level (unrelated to coding - I was a strategist and trader). Then in my late 30s I picked up Python, then R, and now know both really well (plus C and a bit of JS, Ocaml). What I find in my interactions is that the whizz-bang programmer guys, who are better than me at coding (though not by much - I picked up again pretty fast), are completely useless at mapping their skills to the finance domain, while my knowledge of both fields is where my value lies. I would strongly suggest to programmers that they ensure they know a non-CS domain too, preferably a niche one (we're such a big world now), and know it well - practise it as a primary activity for a few years. Climb the learning curve again even if it's hard at first. It is in the nexus between CS and other domains that opportunities are still plentiful.


I have been interested in doing a similar thing for some time now. Can you drop me an e-mail if you could give me an insight into a couple of things I've been wondering about?


I'm a bit past my mid-20s, so I might be talking out of my ass, but can't you rebrand yourself as an "independent contractor"? "Years of industry experience, broad skills applicable to your situation, comfortable with legacy code bases, able to get started immediately, flexible payment options tailored to your project, etc."

Better yet, find some more people like you, as you're trying to do, and start a consulting company together. You could each use your connections to find work for the others, put in a bit of your profits towards upkeep of the company, grow your network and so on.

You may be unemployable if you put yourself in the same bucket as the recent college graduates, so make your own bucket.


Being unemployable is fucking great. You don't need to put up with any of the bullshit that comes with the 9-5. My holy shit moment was when I found a major corporation was willing to pay my year's salary as a dev for a software I created. You mean I just sell you this license at the cost of my entire annual salary as a dev without having to work 9-5 for the entire year? Fuck yeah I'll do it. An interviewer might not even have noted the sheer challenge behind designing & shipping by oneself with no pay for over a year (obviously rote memorization is of much more value), but somebody at some large company found it valuable enough to pay the equivalent of my year's salary had I been a developer. The best part is there's very little maintenance or cost involved. Just answer email and provide support. After the sale, the hard part of the work is done. I guess I could get somebody to manage the after-sales part but I really enjoy talking to my customers and the greatest thrill that it's helping their business.

Since then I've been practically unemployable. It makes no sense if I could make an entire year's worth of salary after a few phone calls and a quick demo. The only downside to this is that you have a lot of idle time. Obviously you can't do sales 24/7 (I wish I could). I'm still trying to figure out how to best use my idle time instead of obsessively commenting on HN or Reddit or playing Counterstrike. Get out? Travel? I don't know yet.

You can do this too. You absolutely can. Don't sell yourself short so you could have a 'secure' job. Don't become a slave to appease others and censor yourself to keep a job. Your time is the single most valuable asset in your life. DO NOT SELL IT FOR CHEAP. Control your destiny. This is capitalism. This is North America.

I had too much coffee, I'm out. mic drop

TL;DR: Get your money's worth. Don't waste time applying and going to interviews for a 9-5. It's not for you.


"People at the office were nice. They had very modest and orderly lives, but they didn't have any interest in science, creative tinkering, or anything fanciful really, so very unlike the people I had worked with before."

I really hate this characterization. Are there people at the office like this? Of course. But there are also plenty of offices that have people like this. They just have their own interests outside of the office job that they like to spend their time on.


To the author of this piece:

Have you tried any of the following alternative in your quest to land a job:

1- Theme marketplaces like Envato.

The competition is really fierce but you could make it and establish a name and sharpen your skills and be up to date when the latest trends and movements in our profession.

2- Kickstarter campaign to crowd-fund a technical project that you're passionate about to showcase your technical skills and expertise and as an opportunity for you to reboot your career.


He said his skill weren't up to date. That's the whole point. Companies would rather hire kids out of college with recent experience than someone with years of experience that's not the what's in fashion.


Average is over.


Moral of the story is: stay in school, kids.


A reasonable conclusion.


Not a fan of this. I think the OP exhibits some toxic mindsets.

> As a final station, I'd like to describe what online freelancer markets look like for people like me. On freelancer.com and oDesk, you compete with hundreds of lowest-wage programmers from third world countries for exceedingly crappy "projects". It's an unmitigated race to the bottom.

Why does the OP feel entitled to not have to compete with others? Why should he be given a "not crappy" job? Because you were born in the US?

Fuck that attitude. Here's what happened. The OP stagnated, and other parts of the world didn't. Being from a first world country does not make you special. And it no longer shields you from the brutal realities that most of the world goes through with respect to human competition.

> Maybe even more alarming, the nature of these jobs has changed, too. A year ago, you could sell some landing pages and some basic web programming. Today, almost every inquiry you get is for some illicit script to scrape social media sites.

Yes, the world moves on, the nature of work changes, and things that were valuable 10 years ago become commodities. Being a programmer means being able to program many different things; you know how demands are changing, so either adapt or die. Or switch what field you work in. Construction workers can get $35 an hour, and it's better for your body.

> I feel obsolete, and I'm afraid it's starting to show outwardly.

Woe is me.

> While I was asleep at the wheel during my generic office job, the world moved on without me.

So what are you going to do about it?

> Being able to get work in this field without a fancy background is still possible, but only if you have the right connections.

So work at making those connections.

> Personally, I will just keep looking. Maybe something will turn up.

No, don't do that, it's the same shit that isn't working for you. Go to some meetups, conferences, hackathons, etc. Take a part-time job doing something else to be able to afford the time to build the connections you see as being so important. Buy books and read tutorials (and build side projects) regarding new technologies you want/need to learn. Hey I'm not saying this is the best plan, but any plan is better than no plan.

Or are "connections" your way of excusing your ego for slumping in life? I can blame others for having good genetics all day long, but I'm still going to go to the gym to improve my physique.

---

Be proactive when shit hits the fan, when you miss out, when you make mistakes. There is no alternative.


True story: had an uncle who outperformed everywhere he worked. He faked his own references (via fax at that time) to get in the door, and when people made reference to university he just sidestepped the question or gave vague "yeah" type answers as he had not attended but had left school at the minimum legal age and become self employed (and failed a couple of times). Everyone else studied for 4 years to do what he did better than them.

Not saying you should fake it, I'm saying employers need to stop thinking donuts can't be iced by anyone with less than a masters degree. I've seen a masters grad unable to get through a door that had a security card swipe thing because there were no instructions, even though she had the card in her hand. Sometimes a course isn't what's needed to get a job done.


I get where the OP is coming from, but it was his responsibility to move on sooner. I worked DoD for a time and lasted 9 months before I left out of a) boredom and b) feeling my skills completely rot away. I chalked it up as a retirement job I would go back to when I was ready to hang out from 9-4 every day.

I had another job where I learned a lot, but after a couple years the job became repetitive with no further learning opportunities. At that point it was time to leave, because if you are not moving forward you are moving backwards.

People need to take control of their own careers.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: