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.
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).
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.
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'.
> 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.
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>
>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. :)
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.
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.
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.
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.
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.
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.
>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.
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 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.
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.
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
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.
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...
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.
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
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.
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?
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.
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...
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.
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.
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.
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 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 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.
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.)