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.
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.
I jumped at the first job that even looked interesting to me... I couldn't handle that much mundane.
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.
I have a friend with chemistry PhD who has - with no exaggeration here - applied for at least 300 jobs with varying levels of success.
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.
About 80% reject me before phone interviews, etc.
Literally the only pre-interview cited rejection reason was a lack of 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.
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.
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.
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.
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?
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 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 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.
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'.
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.
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 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.
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.
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?
https://medium.com/@opirmusic/why-software-developers-should...
I guess I'm just overly priviledged by the german educational system… :-/
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>
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.
Do people actually get value out of conferences? Those always seem more like cash grabs and marketing events than actual training value-adds.
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.
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. :)
I suspect there's plenty of value in the well-known conferences.
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.
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.
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.
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.
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.
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 [email protected] 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.
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.
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.
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.
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-...
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 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.
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.
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.
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.
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.
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?
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.
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.
How could you do that if you don't have a degree? Very few grad schools will admit someone without an undergrad degree.
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.
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.
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.
Third sentence: "If I remember right and we did reject you..."
---------
Where do I even begin with this.
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.
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.
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.
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.
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.
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.
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.
(The last couple are usually Idaho or Nebraska or one of the other corporate-fief states.)
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 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'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.
Anyone saying there are no jobs in this area has a crappy resume or no skills
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...
I enjoyed that.
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.
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.
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.
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.
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.
How many years of experience and how much demonstrated expertise did he require from these" entry-level" candidates that he supposedly can't find?
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.
Pass along his email if you can: [email protected]
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.
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.
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.
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?
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.
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.
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 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.
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.
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.
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.
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 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.
- 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?
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.
You may laugh, but I've seen that far more often than an actual CI/CD process in place...
Both were pretty entry level positions.
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.
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'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.
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.
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.
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.
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.)