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?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: