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.)
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'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.
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.
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.
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?
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.
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.
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.
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.
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.
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.
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 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.
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.
My advice to the OP would be to find and get in touch some of the older recruiting companies, the ones that exist more than 10 years on the market, and work with them. Steer clear from the startup scene. Normal companies still need the job to be done - why not by you?
I 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.
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.
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.
After a few months I realized I was unemployable and set out to change it. Being unemployed, I luckily had a lot of free time. I made a study of the programming job ads in my target market and if I didn't know what a technology was, I looked it up. I tried to figure out which language was the most asked for, and decided it was PHP (at the time). Also in my studies and in the job ads I noticed that most of the work involved these new-fangled Content Management Systems and so decided I needed to learn one of those, and I chose Joomla. It was a choice I would later come to regret but it got me a job.
To learn these, for both PHP and Joomla I ordered a book from Amazon.com. I limited my search to books published in the last few years and ranked them by customer satisfaction and chose one near the top. And then I made myself go through reading these books and doing the exercises at the end of the chapters. This was very very boring but I made myself do it. Then I created a few Joomla websites for local small businesses for free.
And then, after 6 months of unemployment, I had made myself employable again. I saw a job ad that I was now now barely qualified for, applied, and was hired to maintain a legacy Joomla website. Was it a glam job? No, but it was somewhere to start. And the rest is history. I do think if I found myself unemployable again I could repeat the process and figure out what is being asked for these days and learn that.
I haven't done a study of it lately but I would guess almost any kind of expertise in a major JavaScript framework like Angular, Ember, or React/Flux might get you a remote job fairly easily, as there are very few experts in this and many companies seem to want it. Also most developers don't want to do front-end/JavaScript stuff like that so there is less competition. That's where I'd start looking anyway.
Did some serious SEO and soon was racking up a couple of thousand hits a week. This soon hits the million mark. That gets me interviews, even with people who don't want that old tech, they just see results.
I am currently doing a bit of Drupal for a client, there are a TON of half baked modules. Take some of them and make them work. Make them work with the backup module, the restore, the import.... then your CV is padded with a ton of neat stuff.
This is super common advice, the trick is to actually take it. Get all OCD about it and make it work.
First, as 20 something I can't imagine how hard it must be to wake up with the realization that you no longer have a job. Second, I think you deserve some real credit for 1. identifying that you were unemployable and 2. fixing it.
However, the real trick is identifying when you're unemployable (or even starting to get close to it) before you're unemployed. This is a game - and one that you'll never really win. But like all games: you keep playing - you get better. The trouble lies in that this is a game in which you need to be ahead of the gamemaster (that is - current and future employers).
> I do think if I found myself unemployable again I could repeat...
I want to stop you right there. I think your objective from here out is to make sure you never find yourself unemployable again - rather than waiting and/or hoping it doesn't happen.
> almost any kind of expertise in a major JavaScript framework like Angular, Ember, or React/Flux might get you a remote job fairly easily
These are valuable skills and expertise to have - and they will land you a job - but don't let it make you a one tricky pony - as that's a fast-track ticket to unemployment. I think few of these front-end frameworks will be here for the long-haul.
If I were in your shoes (of course I'm not in your shoes - it's 100% your choice) I would take what you've developed so far and start to dive into the fundamentals and then get the expertise.
For example: get to know the architectures of these frameworks: analyze and criticize them, attempt to improve them if you can; learn design patterns and identify the anti-patterns (important !); learn your algorithms - as it is these features that make you a valuable professional in the long run. Not just another PHP/JavaScript/ColdFusion dev.
Then you can wade in deeper and build up deep full-stack expertise. You could think about:
"Oh how can I optimize view rendering in Angular?" "How can I solve head-of-line blocking when using web sockets?" "What is the optimal compression algorithm in order to serve JavaScript files for mobile devices?"
I can't imagine a huge number of people think about how to solve these challenges - but I would bet that a lot of people face them.
All the other stuff is just tools to enable you to apply your expertise easier and faster.
I think that's kinda like saying, "I want to stop you right there. Instead of buying auto insurance, your objective should be to not get into a car accident again." It's a nice goal, but you're gonna need a backup plan for if something goes wrong.
What I did was rewrite my resume to target the things I did like build reporting engines and dynamic web pages. I mentioned more of my impact on my job and accomplishments over what technologies I knew.
I highlighted more general skills like SQL programming and downplayed other language specific references like VB5/6.
I landed a job no problem. I spent the week leading up to the job studying up on the tech they used and was ready enough.
This sentiment regularly comes up on HN, and I find it a little exasperating. Human interaction has always been an important part of career.
There's a subtle (or not so subtle) contempt for soft skills in these laments. You can write code and have fun, but if you want to get paid for it that's a career. As part of this career, you will produce software as a byproduct. However, the primary purpose of this career is solving problems.
You work in the sales department of your own career. Sell your ability to solve problems. Do not sell bits.
So, while the value while looking may not have changed the number times people look for a new job has.
Personally, I am always wary of this rationalization (and I say that generally being on the winning side of it). It's not "all numbers", it's people, and the second one loses sight of that one starts to let in the door all sorts of evil crap.
That's a pretty good way of putting it.
Every couple of years (ok, at least every year) I'll try to apply to non-defense jobs, and I get the impression that there's a glut of highly qualified engineers in the private sector -- "Sorry, we're being deluged with applications right now, we'll totally get back to you someday." And the interviews generally involve 3-4 rounds of hazing via Knuth. In the defense sector, they verify your clearance and credentials, check for a pulse, then show you to your desk.
Some are interested until they hear my current salary "You'd have to be a 10x RockNinja to make that kind of salary here." Yes, even Silicon Valley companies (and I live in an area with a relatively low COL). I'd love to find a remote job, but those seem to be even more competitive (understandable, I suppose).
Guess I'm stuck.
Except we can't get out because of two factors:
1. The non-defense ecosystem won't fix their insane hiring processes.
2. If you do actually get an offer, it is 80% of what you currently earn, or less.
There is not a glut of highly qualified engineers in the private sector. There is a glut of barely adequate engineers, and the employers out there seem unwilling to pay reasonable rates for anyone better, aside from some exceptions in the tech hub cities.I'm stuck, too.
I would jump ship in an instant if only someone would offer me 102% of my current pay, 40 hours a week, and the opportunity to do more fulfilling work.
If you wouldn't mind, in your experience what is the general range of pay for development work in the defense sector?
The catch is that the work is terrible, and your coworkers will likely be pretty unqualified.
Some friends and I refer to a clearance as 'Golden Handcuffs' because the money is good, but you end up trapped since you're still writing code for Java 5 or 6, deploying in weblogic or jboss 4.
> Some are interested until they hear my current salary "You'd have to be a 10x RockNinja to make that kind of salary here." Yes, even Silicon Valley companies (and I live in an area with a relatively low COL).
Its finding the company willing to sponsor and foot the bill for the clearance that is the trick. But yeah, I've noticed outside of E-Commerce, Defense & Finance, I'd like to leave my current position too...but I want something other than those three. I'm tired of being responsible for other people's financial data [e.g. Credit cards] or having a guy flip out because I got up to go to the bathroom and forgot to lock my screen. xD
We sometimes hire fresh grads without a clearance, but experienced hires are generally expected to already have them. It's not cheap (and definitely not fast) to get someone a clearance. Though, some companies/contracts/projects are probably more flexible on this, especially if they have something unclassified you can work on while they wait for your clearance to come through.
No, really. He put out CDs and all. Technically he's a former rockstar I guess, but close enough. He rocks.
We still lack a ninja. We have been unable to find one who could do low-level programming and get a US (not Japanese!) security clearance. So far we've had to settle for Nerf dart skills, which really isn't up to ninja standards.
Maybe it's harder to find in the States. I had a Canadian clearance for ten years (it wasn't a low level one either), and could never get a job, even with experience in whatever stack they were utilizing. The reason? Couldn't speak french. Even thought the coding language is all either English or math, and from contacts I have in the industry it's completely English, no dice.
Then again I can't get work for any defense company in the states because I'm not American so that's always fun too.
The OP might well have lots of relevant experience but it hardly comes across in the post. Neither does any appreciation, or indeed even an active lack of appreciation, that "knowing people" is the way to break through the HR process. After 20+ years in development there's a degree of expectation that you have built bridges along the way with people who can recommend you - because they want to work with you again. Because that's the flip side of being the experienced hire, you need to have the soft skills to utilise that experience - be it coaching and mentoring, writing well, negotiating and influencing etc.
Strange, I read it very differently. Just because those things aren't specifically addressed didn't leave me with the impression there isn't anything there. Very early in the article it was stated how they spend a lot of time honing their skills, presumably all their life, not sure I agree with your impression this is an unskilled individual.
> After 20+ years in development there's a degree of expectation that you have built bridges along the way with people who can recommend you
That's different from just asserting they lack in skill, however. If you read the article, it's clear why they can't satisfy this specific expectation. It seems callous to simply proclaim they should have built industry relations all their lives, and now there is nothing left to be done.
I've been writing this on and off for the past 6 years. Whenever something peaks my interest I write it up.
s/peaks/piques/
Dude, just get out and actually talk to women.
I'm not going to say how to get gigs, jobs, etc because I'm out of my league with the great people who post here. But whenever I see a post like yours, I see a lack of creativity and human contact.
I understand that you probably get tunnel vision from the stress. But try different things and different approaches. Try to get to know people. Get involved in different developer ecosystems. Talk to real people. Or get someone to talk to real time if not in person. Get that human touch going.
I like James Altucher's idea of list building. Brainstorm a list of different approaches you could take to land different work. Brainstorm other types of work that you could do. Brainstorm a list of side-gigs you could work on. Brainstorm anything, just to get that idea creation machine going.
You got lost somewhere by being the same for X years. What you need is chaos. You need to shake things up. Routine is good for the things you don't want to spend a lot of cognitive overhead (bedtime, eating, etc) on so that you can focus on creating explosive interactions in your mad scientist lab.
As a side note. Don't farm out your dev skills for less than a solid professional rate. Lowering the value that you get for your skills is a rabbit hole. No matter how far you go down that hole, there is still room for people to devalue you. They try to get the work cheaper, they complain about what you do. You could pay them for the opportunity to work for them and it would still be ugly. Better to take a minimum wage job than to farm your dev skills at less than a solid professional rate. Better to be a starving artist waiting tables than to cheapen your artistic skills by selling them to people who don't value them.
That's a lot easier said than done.
The parallel with employment is actually not bad: one doesn't find a job by approaching random offices asking for work any more than one finds a wife by asking random if they would like to get hitched (yes, some small number of people succeed with both approaches); one often finds a job by being introduced to the right opportunity by people who know of those opportunities. Now, those introducers might be recruiters (matchmakers) or people one has worked with before (friends), but at the end of the day it's all about networking.
Actually one does, this is in fact one of the best (though not the easiest) ways to get jobs.
In my very first semester in college my whole class had to find internships (Waterloo representin'), and being effectively high school graduates with no real experience, it was pretty tough going.
The "smart" advice was to go to as many job fairs as possible, look at as many job boards as possible, apply to as many jobs as possible, and hope for the best.
A good friend of mine, who was a good deal older than the rest of us snotty 18 year-olds - who had a rougher life than most and was later to the college game - decided to drive down the highway with a stack of resumes and stop at every company along the way. He'd insist on talking to someone sufficiently senior (aka not the assistant) before leaving his resume with them.
Took about a week for him to get a job - while the rest of us were still waiting by the phone for a call-back. The job was unadvertised at any job board or job fair, and they in fact weren't planning to hire an intern at all.
It's not conventional, but it does work. Most job opportunities are unadvertised, and indeed many job opportunities don't exist until you ask for them. A lot of companies have problems they'd like solved but haven't formalized it into an open position.
To be clear - soft skills are incredibly important for everyone, and by all means you should be networking your butt off, but randomly approaching offices asking for work does work, really well.
Derive your self worth from yourself and you'll never feel awkward. Everyones interesting in some way. Just get out there and talk, if she doesn't like you or is rude, who gives a shit? Move on to the next.
"Cold calling" is a great method for making sales.
Cold calling and talking to women is hard, but doing hard things is a great first step for breaking out of a shell and getting ahead.
The more you practice defeating your resistance to change, the more you build your confidence that you can do it. It may or may not become easier, but at least you can become familiar with and even embrace the pain. Feel the burn!
Taking it easy may have been what got him into this mess in the first place.
Maybe not "random" offices, but otherwise that's exactly how I found my first programming job out of college. No one does this, and you'll get a lot of rejections, but it can work to get a quick in-person chat with a hiring manager about your skill set. Doing some research on the companies beforehand is useful, of course.
If within a year you made only a thousand dollars, why didn't you spend more time working on a side project, or sharpening your skills? Maybe the ones you currently have are not much in demand?
Also, freelancing sites do have a lot of low quality jobs, but if you spend some time digging around you can find decent jobs; e.g. I, a poor country resident, have found jobs that made me in a week as much as you claim to have made within the year.
And btw, I'm thirty-something, university drop-out and with a couple of huge holes in my CV. But that's not what I bring forward when asking for a job. Instead I project the most confident image that I have for myself and that's my advice to you, too (i.e. don't focus on the negativity of your current situation, it's not going to help you find a job).
The reality is that CEOs talk up a shortage while holding salaries absolutely steady and even while laying off thousands of programmers:
http://www.latimes.com/business/hiltzik/la-fi-hiltzik-201508...
The reality is also that a 40+, non-degreed programmer will have their resume thrown away by the first line HR people in 95%+ of cases. Not qualified for senior jobs due to lack of a degree; not qualified for entry-level jobs due to lack of a degree and age.
If you want to be educated on this, feel free to make up a fake resume of a 40+, no-degree programmer and shop it around. Make a list of any responses you get. You can keep that list on an index card.
In this context I have to say though that the HN freelancer thread, while yielding uneven results, has mostly been very good to me. (YMMV)
The deeper problem as far as the actual hiring process is concerned, however, might be - as hinted at in the article - the amount of work and hoop-jumping necessary just to earn the privilege of showing up for work. I found this astonishing, too, especially given the fact that most programming positions probably have a high turnover rate, and I believe it does have to do with hundreds of applicants showing up for a single position. The ensuing filter process is not only a drain on the applicants, but also on the companies that are paralyzed with making this decision.
I believe the mere existence of TripleByte and SmartHires shows over-supply is a problem, and it's underscored by the fact that they have no problems turning people away.
But couldn't that simply be a result of an inadequate selection process, instigated by a flood of applicants, and then worsened by an inability to judge who will be good in what role? It seems very easy to dismiss anyone looking for work on the grounds that they must not be very good to begin with. All we know is not enough long-term suitable applicants make it to the end of the hiring pipeline.
It's not about you. It's about your user and what they accomplish with the tools you build for them.
It doesn't matter who you are, what you know, what education you have, where you've worked before, what turns you on, or what you think is cool. It only matters what you can do for others.
It's really that fucking simple.
So forget about all the window dressing and find a way to demonstrate to others what you can do for them. The first step is to find out what they really need.
Like many others here, I am self taught, pretty decent, and love what I do. But the thing that has always separated me from other just as capable but "umemployable" programmers has been my absolute resolve to program for others, not myself.
I even remember one interview when I didn't present a resume, but instead a one-page project plan itemizing exactly what I would build over the next 90 days to help them solve their problem. I got the job instantly. (An extreme example, but you get the idea.)
I have never lacked work. And I'm confident I never will with this attitude. Try it, please.
Since I started writing software not because of any love for it, but to solve various problems I was having at the time, it's always sort of shocked me that some people manage to get so far into their careers without realizing what they're being paid for.
I quite enjoy it now, but rarely in the revel of pure creation. Usually it's from the satisfaction of a problem solved in a reasonable amount of time under well considered constraints.
A small example: you have some internal database, and now different teams want to have some data analysis done.
The fun thing to do would be to write a generic reporting front end, and easy enough to use so that non-technical people can use to create their own report.
And the pragmatic solution that is to instead spew out all relevant data as CSV with a BOM, so that Excel can easily read it. Turns out a generic data analysis tool exists, and it's unlikely you can beat Excel at its job.
Producing some CSV files from a DB is orders of magnitude less work than creating your own analysis front end, so in nearly all cases, this is the solution you're paid to do.
I believe you. But that's also because you started this path in life a long time ago. If you're 40+, you've never done freelance/contract work and you need to start finding customers or new employment in a hurry then it's going to be a hungry winter.
experience = programming if you can show a active github profile with clean code that shows you are pro-active or a expert in stack or domain, why would "they" not atleast contact you back.
on the other side, if you have just been coding closed source, brain farts and clones that have no innovation or any overlapping area in what you are applying for, then why would they hire you.
if your looking to get hired by a Oracle or a HP, freelance experience wont cut and i doubt a github profile either, but besides huge corporate companies. most small/medium sized startups are willing to hire programmers that can learn and supply added value.
value is the keyword here, having more then 1 trick in your bag is a must if your coming at it from the "no diploma" angle. Thats why i recommended people to write code for readabilities sake. if nothing else, someone can read it. even if its some crusty 10 year old code.
What I'm suggesting is being the first to present a believeable plan to solve someone else's problem. You're right, finding them and figuring out what they need isn't easy. But once you do, you have a huge advantage over all the other "unemployable" programmers.
The problem is "value" comes through a subjective lens. Different employers value a given work product differently. The OP's big-co employer is likely to value process and documentation.
In this start-up environment, speed is also relevant. Make lots of value quickly.
edw519's 90 pitch works largely because he presents himself in a manner for his customer to clearly see the value he would create. He spelled it out.
Its less about talking about yourself and more about talking about them.
The key thing the OP needs to do (and should have been doing) is networking (outside of work). As others have pointed out, with that much experience, you also should have a network of folks to reach out to.
It can take a long time to build a network. Fortunately, there are tons of opportunities in tech to do so. I'd imagine one of the best paths might be to fine a moderately significant trending (but not trendy) open source project and start getting involved in the community (in whatever way the community needs (maybe not coding initially)).
Learn the code base inside and out. Read the forums, discuss things with people. Create value! Find something needed and do it!
You'll meet people (virtually) along the way. Build a public reputation (very important), and maybe find a job. At least you'll be able to reference your relevant skill in said open source project. You'll then be an older developer, but with very relevant job skills to someone out there.
[1]: http://www.cracked.com/blog/6-harsh-truths-that-will-make-yo...
When writing resumes and doing interview prep, I always try to put myself in the other person's shoes. Would I hire me? Would I be offering what is wanted?
Some people are perfectly capable of doing the work, and are passed up for completely irrational reasons. Empathy, try it, please.
The worst thing about all of this is how harsh and degrading everyone is when you want to get into the industry. Questions are met with disgust derision, as if you are spoiling everyone's worldview. But I am just trying to describe my experience for survival reasons.
Never, never, never admit to any hiring person that you weren't in charge of your career path at all times. That's one of the few distinctions they can make with technical people about whether or not they're qualified or not. Don't make it easy for them.
I don't have any clue how to talk to hiring people. Ever since I got a degree, they were experts at fishing the worst things out of my life that somehow disqualified me from employment. Whether it was a bad grade I got somewhere that is somehow completely my fault, or the way I am supposed to ask and beg for a job as an unemployed person.
If I knew how to make my own job I wouldn't be starving and homeless.
> The worst thing about all of this is how harsh and degrading everyone is when you want to get into the industry. Questions are met with disgust derision, as if you are spoiling everyone's worldview. But I am just trying to describe my experience for survival reasons.
I have no idea what this super vague paragraph means.
I think this thread serves as a good example. Someone wrote a blog post saying "I'm having trouble finding a job."
Look at the top comment, it's basically saying "You don't know what the fuck you are talking about, get out of here. Clearly you're doing something wrong, but I'm not going to try to actually address this problem or help you. Shoo now, you're ruining our perfect view of the tech sector."
Maybe you have personality defects which make people unwilling to work with you, but you are blind to them. Therapy could help you to identify whether or not the case, and if it is, to get better.
I have a difficult time believing this. I've worked for & know of companies through connections that care 10x more about your portfolio than degree. We've passed on Stanford grads & even a guy who worked at NASA, because they just couldn't physically bring themselves to code when we needed them too, they couldn't sit in front of a computer & actually build out a test feature despite loving to talk intelligently about the problem. It's not nerves... Degrees/ credentials can create these terrible comfort bubbles that prevent programmers from actually diving in & being productive. When you've been around enough it's easy to spot this type.
In my experience, portfolio is the #1 factor, and I think most companies would take you seriously if you have one w/ at least a couple full, impressive projects.
companies dont care what you think you can do, because you have a degree. they care for what you can do for them, if what you are doing in your own time complements the things they would like somebody have done for them. the choice becomes easy.
Not everyone does it. Not every company that does it does it consistently. It is largely subconscious. Technical or "cultural fit" excuses are typically cited to explain and justify the rejection of the taboo candidate.
There are a number of non-technical criterion that frequently push genuinely qualified, competent, indeed exceptional candidates into the "not qualified" category. These include:
o Over thirty-five
o Looks over thirty-five (worse)
o White or gray hair (even worse)
o Has a Ph.D.
o A new or recent (within 2 years) Ph.D. (worse)
o Lack of a college degree
o Identifiable membership in certain low status minority groups, notably African-American or someone with a Spanish surname and visible American Indian ancestry
o Female
o Over ten years of purely technical experience regardless of age.
o Less than three years of paid professional experience (working for a University or government research lab often does not count)
o Expresses skepticism of a currently popular fad in programming
o Obviously knows more or is smarter or both than the people conducting the technical interview.
o Just plain different from the dominant group at the potential employer is some visible way.
o A long recent period of unemployment (over six months, probably over three months)
By his own account, the OP lacks a formal college degree and is well over 35.
Your network, on the other hand, becomes more important as you get older. Hiring an unknown person in his/her 40s or 50s has a much lower risk/reward ratio than hiring a random developer in his 20s who will a) do whatever you tell him without questioning anything b) work himself to death and c) work for almost no compensation.
Stay away from oDesk and online freelancing in general. Most of what's outsourced online is low skill, low risk and low reward work (landing pages, analytics integration, etc). Almost everyone can do it, so suddenly you're competing with everyone on the planet instead of just a couple of 100-1000 freelancers in your city. One of your biggest advantages over 2nd/3rd world freelancers is your location, language proficiency and cultural background. Use it to your advantage.
Also, hiring is really tricky. No one has really figured out how to do it right and so you have these hiring rituals with IQ tests, personality tests, weird screening procedures etc. In the end no one wins, because interviewees have gotten insanely good at playing the hiring game and employers have become overly careful just not to hire a random guy who will mess up their code base in 6 months and then leave for the next gig.
My personal advice to the OP: if there are tech/startup/... meetups in your region, go there. It's a good starting point and it's fun most of the time! You can get to know some interesting people and that might open some doors!
Best of luck, if you're reading this!
What many other posters here has said is true, you need relevant experience in place of the degree. This is either projects you've worked on or jobs that are appropriate.
It's odd that the author seems convinced that they are more productive than 'hipster rockstar programmers' who aren't motivated and don't get stuff done. Isn't that what they do by definition? And what's truly strange is how he seems to think that those types of people don't "eat and breathe code", when the prevailing sentiment on HN is that these 'rockstars' have poor work-life balance and don't do anything except code on evenings/weekends. It feels like he's lashing out at 'young people' in general who seem to be able to get jobs.
I seems that the author's lack of success obtaining a job stems directly from a lack of effort - or knowledge of how much effort is required. He seems to think he is entitled a job just because he's been doing it since he was a kid or because he's had a job for ten years.
I can say from experience as someone who was looking for a development job with no experience, much more is needed than passively posting on a job board, listlessly browsing oDesk, or even sending out a few resumes. Every intern hiring season, my classmates all end up disappearing from class and social life for a few weeks - sending out hundreds of resumes and applications, dozens of emails (cold or introductions), spending hundreds of hours studying for interviews, tens of interviews - pounding the proverbial, virtual, and literal pavement - resulting in most of us receiving one or (more often) multiple job offers.
Care to e-mail me a CV?
What I don't have is a college education. I'm also in my mid thirties, don't really have any US contacts, nor do I know very much about the job market there. Throw in some impostor syndrome and stuff like this creates a certain level of anxiety, to put it mildly.
Most cannot tell the difference between private and protected.
Most have no idea what an abstract class is or a static variable. Let's not even talk about an interface.
The vast majority have no idea what transactions are.
These are stupid basic things. I don't ask any library or framework questions. I stick to the basics, to the core language. It's the most depressing thing ever. I don't even go into language specific details.
I understand why there are so many unemployable programmers. They let themselves rot. :-(
And then I never hear from them again.
I am not making this up. And this has happened on multiple occasions. I get strong positive feedback during an interview, then the company falls into a black hole. They don't contact me. They don't return phone calls or email. Ever.
It happens at least once a month, whenever I start looking for new jobs.
Hint: If you are offering "market rate" or "competitive" salaries, you're probably going to get mostly dog applicants.
They show what you can do, and that you are able to solve problems. Maybe the editor plugin is not doing that. A cool demo is worth more than a thousand lines of well written code.
I work for a company now that frequently interviews front end/js devs and frankly if we find ANY github/public code it puts you in the lead above the next guy. What you normally write doesn't matter a whole lot because most concepts transfer to any language.
Most of our applicants give us no previous code they have actually written. I fail to see how it can ever be argued that something < nothing.
javascript is typically something you shouldnt focus on as open source experience imo. so many people doing it and doing it badly for feelsy points.
you think the person who wrote nginx wouldnt get hired? something mission critical that alot of businesses use.
There are "unemployable" developers out there, but they are 10-20 years older and have 15 years of niche in-house platforms in some huge enterprise, and now they have no experience with anything anyone recognizes.
Unemployable because just 1 company on CV, no degree and around 40? Sounds strange.
Part of the blame lies on the company for not giving the employee a growth path, but the largest part lies on the employee for not continuing to grow on their own. Software as a profession is one where you have to constantly be learning. People need to know going in that it is ultimately their responsibility to keep their skills growing and up to date.
Reading the article, I don't think "Now, life at a traditional office was not that bad: barely any work to be done, it mostly involved sitting at a desk and writing some emails all day. " means he had a developer job.
1: We expect everything to be perfectly packaged and ready to go, including people. We aren't interested in investing in people. A cog is a cog.
2: Older programmers are more expensive (see: skilled), and are more likely to have families or obligations that prevent their hustle (see: working bullshit hours for free).
I've got a Mechanical Engineering and Masters degree, 14 years dev experience on multiple stacks, so that does help my resume look nice, but shit man. Businesses are dying looking for qualified people.
So, this is the reason why no one will hire you? I find it hard to believe. The current company I'm working in found out that I don't have a degree after I signed the contract — they just didn't care at all.
But I would have huge problems hiring someone spent last 10 years responding to emails and doing nothing.
Judging by how easily you dismiss advice about github, you must have tried it. Care to give a link?
Come on. We are so lucky we did choose technology as a way of living. Sorry but stop complaining and start learning back new stuff. Can't believe what someone has to read.
-- A developer in his forties.
There's an even bigger push for this now. It seems like everywhere I turn someone is learning to "develop". Sad to say, most of these people only know how to pump out good SASS or HTML or know how to throw a bunch of APIs together.
This of course is a skill of its own, and clearly one that pays bills, but the market will become saturated and the bubble will burst again.
That and the money they save on stupid HR process goes to my salary so that is great too.
There is a lot of survival bias. So far, I did not hear any salary higher than 50k euro from face to face talk in Germany (mine is higher, with no coding job). Thus, I am also not clear how real is to have one of those $100k+ salaries just doing "normal" coding (no managerial stuff). If that were possible and achievable even in a 3 years span, I'd definitely jump into it, but reality tells me it's not. At least out of the tech hubs (SV, etc.), but then the 0.1% thing kicks in, so you have a 99.9% chance of not getting any of those jobs, while you have plenty of opportunity to get a steady carrier just where you are.
And finally, programming will go through some kind of "commoditization", it's already happening. It might be good to "only" be coding today, but 10 years from now, older and with kids (so no possibility to work week ends anymore), this will probably not be enough and will move you more towards the unemployable zone.
Just some thoughts from an ex-wannabe programmer.
I think you shouldn't really take these at face value. If you can give any justification why you can cross off one or two of these, that should probably be enough to get you an interview.
> hus, I am also not clear how real is to have one of those $100k+ salaries just doing "normal" coding (no managerial stuff). If that were possible and achievable even in a 3 years span, I'd definitely jump into it, but reality tells me it's not.
I got one of those. No managerial stuff (though also not purely coding, also systems engineering. But a purely engineering job), right out of University, with a math degree and I wouldn't consider myself especially capable. I'd say it's definitely possible with a degree and a degree should be within the advertised three-year range if you are borderline competent (most people at my university aren't and they are still getting their degree).
To be fair: You have to take into account where you are going to work. A friend of mine is also getting around 50k in Hamburg, I am moving to switzerland for my job. There is a huge difference in pay based on location.
I definitely think that "just coding" isn't enough. Employers are looking for a degree for a reason, there are certain skills you will probably not learn when "just coding", like abstract thinking, algorithmic analysis and stuff like that. And you will find tons of people bitching at University about how that is totally irrelevant to a software job, so we shouldn't learn it. But you should.
All of that being said: I doubt you will make significantly more money than in the finance industry. From what I've heard, if you want to make real money, work for a bank. Finance vs. SWE is definitely a lifestyle-choice, not primarily a money one :)
I've found myself doing the same. "What has this person done?" is my internal dialogue while I parse through resumes.
I've interviewed with a couple companies just to see what it's like out there. I usually ask for some ridiculous salary b/c that's the only way I would leave my current job.
I find the interviewing process stupid. I had one company ask me to code up a fully functioning Angular site from scratch in some jsfiddle clone that I had never seen in 1 hour. It took me around 5-7 minutes just figuring how to work with the fiddle clone.
All the while I went in there as a guy who had written a pretty good Angular JS clone from scratch - recursive compiler and all. You would think that would be proof enough that I am pretty good at JS/front end dev. I just laugh at these interviews.
Not having a degree doesn't help finding work (it shouldn't make a difference, but unfortuantely with most HR depts it does) but if the poster had been willing to aggressively work on their career instead of coasting at the "traditional office" the story could be very different.
I've done a few years with a mixture of small company/freelance work myself and I'm back in an enterprise company for the first time in ages and on a purely technical level it's a giant step back. There's huge resistance to changing existing code and/or introducing new technologies. Often with good business reasons (the product is done, it's in production and huge changes are not needed) but if you're on the technical side then you absolutely have to be looking out for your own skills if you ever want to work outside of that company again.
If I was a hiring manager, seeing 10 years at a "traditional" company on a CV with no signs of interest in the field outside of the job would be setting off alarms. I absolutely would rather hire someone with experience and fully developed professional skills than a fresh grad, but the nightmare is that your experienced hire is used to just following their 80 page internal process guide every day and they wouldn't be able to handle any new situations.
Ageism works against the young as well as the old. Most of these 20 something people I'd suspect, if they haven't been developers since they were 9, have run into it. The advice is still sound.
An employable skillset is now a moving target. You can't depend on job websites to get the job done. Your number one job is to be your own salesperson. Find someone who is where you want to be and find out how they got there, you're probably not that far off from being able to replicate their methods if you're already in the field.
Being hopeless and depressed about the issue doesn't solve anything, and if you're over 40 you have plenty of advantages. Become a consultant and sell yourself to companies who won't even give a 20 year old the time of day. They may not want to hire your outright, but they can definitely see they need your expertise.
http://www.likewise.am/2015/07/too-cool-for-school-a-retrosp...
I don't think BS is going to help. So here are a couple of options. If you really want to do startups and glam and make hundreds of thousands... you'll have to learn how to program in modern ways. It's going to take some time and effort. And you will have to build some real stuff. You might not have the time.. you are in your 40's, and you might not have the real desire to put in the effort. It's not you can't do this, you probably can but it's going to be difficult and take some real desire and most important some time and a lot of effort.
Here is another option that might be a better one. Go back to a BigCo. You have a history of job stability. You know about BigCo ways of doing things. You are good with computers. Get a certificate or two if you need to. It's not a million dollars but given the required effort, the pay is pretty decent for sitting at a desk. Forget about the 100K+ salaries you see bandied around. That's for something else.
But the story just smells "funny" for some reason. I guess because I've met people like I'm referring to in parent comment. People who haven't put in the effort but want the advantages. People who know a little about computers or have been help desk and suddenly want to be programmers without the required skills or effort.
This might not be OP though. I maybe judged a bit hastily.
That sums it up.
Yes, there are plenty of "lowest-wage programmers" on those sites. I never bothered to compete with them on price. I simply charged what I thought I was worth, and ratcheted my price up and up as I discovered that the market thought differently. Interestingly, as my price went higher and higher, the constant noise of "crappy" job offers quieted down and was replaced by a small number of great offers.
If I wouldn't have had a job as a programmer on the side (first a few months as intern) while studying, I wouldn't know much about programming.
Anecdotal story: I found myself working at a warranty company and a friend of mine worked at a specialized software company. We got together one day for drinks and lamented the fact that we had problems finding the right people. His problem was that everyone who applied was fresh out of college and had no true hands on experience, where he wanted senior programmers. My problem was that everyone who applied had a Masters or Doctorate degree and was applying for mid level/entry position.
If you're finding yourself unemployable in a particular area, you're probably right. More than likely though, you could find an excellent job at a company that isn't directly a traditional tech company. Every company in the world now needs to have an IT strategy of some sort. With an IT department of some sort. And I can guarantee that there are enough out there who are just looking for experience that they would hire you on the spot. The problem though is reaching out and finding them.
We're trying to recruit a devops with AWS experience. We really don't care about which uni you went to or didn't go to.
Probably no good for you as we're in Manchester, UK but I don't think we're that unique.
Show to them why you are a worthwhile risk instead of showing them that you are more of a risk than you are.
I don't have time to type up my whole story, and a lot of it is in my comment history, but the gist is:
I started programming with BASIC and later QBASIC. Self taught, no degree. Video games / text adventure games were my thing. Later fell into web dev and loved it... until I got further along in my career and was entangled in some really vicious office politics. I also suffered from untreated depression for years (which I have now managed to get under control). Those things combined with some really stressful personal family issues coalesced into a nervous breakdown of sorts and I holed up in my house.
I haven't had a fulltime job in 4 years - I just contract remotely. Almost everything I've done has been through recommendations which is really the only way to go when contracting. I've had multiple clients whom I've never seen - just spoke to on the phone for a few minutes and then slack / email for the rest of the contract. Sometimes this works out well, sometimes it doesn't. I only made $30k last year and it was very spread out - there was at least a full week where the only food in the house were biscuits made with water. This year has been better thankfully.
Contracting is not my end goal - independent video game development is. At the end of the day I don't care about the money all that much. If magical riches await me in the future then I will accept them with open arms of course - but I'm only seeking enough to survive. I care about making things - I really don't want to go implementing the ideas of clients. I always fancied myself a creator and need to find a way to make my projects profitable so that I can find self-fulfillment through the things I create.
So, in addition to contracting for these last 4 years I've spent the vast majority of my free time improving my skill set (improved my python, dabbled with node, started building "modern" websites - SASS, Bower, Gulp etc).
I also started teaching myself how to make 3d games using Unity and c# (in case you're wondering, I'm creating my own assets, not purchasing them - and I have almost zero interest in creating mobile games). My girlfriend teamed up with me, started teaching herself 3d art and has already produced some pretty impressive models for the game we are working on.
I'm very interested in teaming up with a programmer similar to myself, or perhaps a group of similar programmers.
Edit: left out some words
The benefits are plentiful. I've learned more about JavaScript that I thought possible. It also demonstrates you have a passion for technology and it's just not a job. You have the satisfaction that are helping others solve technological challenges. If anything, you are more marketable which is the point of that article. Good recruiters and hiring managers look beyond your resume and looks for way that you standout.
A degree doesn't show how smart you are, it shows you have the ability to get things done (or at least show up and do your work). But guess what? So does shipping real products.
Best of luck, UP. You seem like a smart guy so keep up the perseverance and get more stuff on that resume!
Unfortunately, people who had a really tough career like the author often tend to lack enthusiasm (which is understandable) - It's one of life's vicious cycles and it's almost impossible to get out of.
You just have to hustle. Try a lot of different things and make yourself known to as many people as possible - It's all about odds. If you find a way to spam out your resume to thousands of potential employers, you're bound to get some responses.
Going mainstream implies major changes, which are not technological, but still exclude many players because big corporate players bring immense business differences.
To be honest, skill and intelligence never mattered when it's about success. Humans want to be happy, technological progress interests nobody. That's where the "overskilled" comes from.
The demand for programming skills varies across locations, skills and age. Certainly you can be an unemployed programmer but adjusting locations/skills can greatly improve circumstances. ODesk/Freelancer gives you very little control over demand and hence, you are just a commodity. I've yet to see anyone doing well out of it from a contractor side but plenty of people doing well who need cheap contractors fast.
Understand the market or someone who does will take advantage of you...
I got my degree in 2009, at the height of the crisis (for now at least... here in Brazil the crisis of 2009 is finally getting worse), I NEVER had a legal job, all the stuff I put in LinkedIn were semi-legal or outright illegal stuff (or my startup).
Also my programming language of choice were clearly a poor choice, I learned C, and C++ and whatnot when I was a kid (I was 6 when I started to learn coding), those are clearly mostly useless now.
Embedded is hot right now, so sign up for the Jack Ganssle's Embedded Muse Newsletter http://www.ganssle.com/tem-subunsub.html. The jobs are going to be mostly US based, but some place to start.
And look for companies that you know are going to be using C/CPP from their products. Even if they don't have jobs posted, find someone on the engineering team via GH, FB, LinkedIn, their blogs, guessing their email address, conferences, where ever and email them a nice note talking about their products and how you'd love to work with them if they have a position open.
If you can engineer a piece of code, I feel you can also socially engineer your way to a contact somewhere you want to work.
Else if you really want to be some "rockstar" web developer (and I only ever use that term as a pejorative), then start using a relevant language, and learn how to talk to employers about how your deep C/CPP experience is actually an advantage that no other diploma-mill code-school grad is going to have.
It's never more depressing then when you've hauled in a candidate for a review because they've got great past experience, but the candidate has zero ability to relate that experience to conversation at hand.
When I was unemployed, I always had at least ten potential employers calling me for my C++ skills. And with C++, you can get a lot of various jobs like multimedia, systems programming, security, banks (even if you know nothing about it, they will teach you what you must know whether it's a big bank or a company doing embedded devices). My resume is rather generic and I don't have any specialization.
It's definitely not a useless skill. It seems to be a bit rare and I'm sure that's why I always had companies hiring me to write C++ code.
The OP was a little bit light on details of the exact work under-taken at the 'company' but I'm guessing it wouldn't be interesting enough to pass the sift of most recruiters.
That's tough but with Open source you could get involved in anything you felt like, make a contribution, get recognition and reboot/re-skill that way?
Still, it's not an easy or quick solution though and YMMV.
Seems like employers would rather just hire a H1-B from TCS instead because then they know are tied to them via the H1-B, whereas a mediocre programmer who is trained up would become a better programmer and might leave once they are good at their salary doesn't commensurate?
Your age, the buzzwords ("skill sets") on your CV, lack of college degree, possibly lack of recent relevant experience -- all of those can be negatives and will keep you out of a lot of jobs. So don't try to get those. You can't fight prejudices or stupid hiring processes.
You have to present yourself as someone who can solve business problems, because that's what companies actually hire and pay for. No matter what the job posting says no company or client actually needs a PHP or Ruby programmer. What they need is someone who can translate business requirements into working software. Get the focus on your ability to deliver.
When I talk to a potential client I start by asking them to tell me their top handful of business problems or pains. I pick one that I think I can help with and talk about that. We almost never get into technology or languages because those are incidental to actual business requirements. Many business problems are not actually programming problems. Just because a client has 300,000 lines of Ruby code I don't need to write Ruby to help them with their PCI compliance audit (real client). Another client had an enterprise logistics system written in Java, but that had very little to do with shipping charges calculating wrong -- I don't have to be a Java guru to figure it out. The problem was fixed with almost no programming, just correcting some data that was formatted wrong between systems.
My point is that you need to present an appealing package with some obvious business value to the client or employer. You don't choose a car based on a list of the parts in it (CV), you choose it based on perceived value, appearance, and emotional appeal.
Instead of applying for every job and putting yourself on job sites and scraping the bottom of the freelancing barrel on Fiverr develop a few skills you are really good at and sell that expertise. Identify companies or business niches you want to work at and knock their door down. Make the deal low-risk: I don't charge clients if I can't fix their problems.
Meet more people. Most people get their jobs from contacts, friends, even casual acquaintances -- I got a job lead from a guy at a bar in LA after we started talking about bourbon. Get out in the world. Don't treat everyone you meet like another node in your network, though. People like to help friends and people they like, so be the guy people like. People don't like to help the constant network-builders.
I'm not saying it's easy, but you need to play a different game, because a programmer in his 40s without a lot of recent relevant experience with the latest toys is not going to stand out. Sorry, but no one cares about your startup experience or what you did five years ago. They care about what you can do for them right now, so focus on that and don't get bogged down trying to win the recruiting numbers game.
Programming is seen as the silver bullet to solve employment in many countries resulting in you competing against a whole continent with a 100 million IT pros, all super smart foreign students who studied in the US, thousands of school leaving kids wanting to become programmers because they grew up playing games or owning laptops/iPads/smartphones and programming is made a core skill in schools. They're even teaching programming in prisons. With all the free online courses and code schools there isn’t a barrier that stops anyone from becoming a programmer where as other industries have barriers of entry. If you are a tech professional, you're competing against the biggest pool of potential workers in the world all willing to do anything to get a foot in the door.
In my experience I find there is a huge ageism issue in the IT sector. At his age the author seems to be insinuating it's due to his lack of degree but I can safely say it's his age and not the degree. I find a manager in his early 30s late 20s won't hire a programmer older than him. Similarly a manager in his 40s won't hire a developer his same age. In applying for positions I find I can make it to the final interview but then it comes down to my age not making me the perfect fit. It's like the unasked question is why you haven’t made it and if you are still looking for a job at 40 so you must be damaged goods. The other big disadvantage in the tech sector is years and years of experience is not valued as it is in all other industries. At 40 the stigma of old tech being listed on your resume is seen as a negative rather than a positive. Fitting in with your co-workers is another big issue with hiring managers and HR and it seen as a risk that you won’t fit in with people 10 to 20 years younger than you.
When I complain to others I hear stories of someone who knows of x developer at 40 who still works as a developer but they’re obviously not starting from step 1 looking for a job so that comparison I always find stupid.
I do agree with other posts that networking is the problem as 90% of job are not on job boards. However as a programmer I find networking is hard because you are focusing on completing x feature/project and generally want to work uninterrupted for long stretches rather than spending time at sucking up to a manager or co-worker that might help you in the future. Also I find unless you have something that someone wants I find networking at 40 is difficult because people generally don’t want to network with you.
The lessons I’ve learnt are primarily the entitlement that I felt x years ago is something I have to get rid of very quickly. I’ve always thought if you give me problems and I always solve it that means I am special. However I realize I’m just like the other billion wannabes with the huge disadvantage of my age. I feel like I have to work 10 times harder now that I’ve been given the scarlet letter of age to wear around my neck. That said knowing the problem is the first step to solving it so I can at least be optimistic.
My advice. Understand you always have to learn and have to solve the networking/self marketing problem. Try to have a purpose even if it’s just a dream of a purpose. Even if have to take up a non IT job full-time because of your situation you can always code part time. With a strong base and today’s ease of access to information, picking up new language is surprisingly easy.
That aside, I think you can still get work. You just sound discouraged after the rejection and sound like you are beginning to think a little fatalistically. Yes, not having a CS degree hurts you and yes, being at one company for over a decade slightly hurts you (not that much though) and yes, being in your early forties also hurts you. You don't say whether you're working that full-time decade long job any more (or maybe I missed it), if you were laid off, that also will hurt you more than if you're still working there, companies prefer hiring people already employed. You are over-discouraged though, you can still get work in this market.
You talk about going through many hoops, talking to many people, and a lot of weight given to college. Which sounds like a lot of applications to big companies. Only a big company could spend so much effort on each person, put a lot of weight on official credentials etc. So one thing to do is - don't just apply to big companies! Apply to small and medium sized companies as well. They often don't worry about college degrees as much, you're often talking directly to the decision makers right away, if they like you they often have the authority to hire you. Applying for big companies is fine, but mix it up a little.
Another thing - you say companies are interviewing dozens of people for each position. OK. What is going to put you over the top? The answer is different in different situations. From small to big companies the answer is usually technical and personal. For technical - picture the people interviewing as being a Gaussian curve with a normal distribution - the x-axis is how technically good you are, the y-axis is how many people reach that level. Where do you have to be on that curve? If a friend is bringing you into the company, you have to be in the middle or better. If you are going into a company cold, you have to be (if you're having trouble like you are) one standard deviation above the mean in terms of ability. If you're two standards above the mean, then you should be having no trouble.
What you have to realize is most people are in the middle of that bell curve. Most Javascript programmers can tell you what data types in Javascript are, what the "this" keyword is etc. You probably can as well. But if you start digging deeper into how well they know Javascript or frameworks their knowledge is not that deep, and they start mumbling the answers. The average Javascript programmer with your experience have an almost interchangeable amount of knowledge - they all have the same level of depth. But every dozen interviews or so you get someone who really knows Javascript and certain frameworks backwards and forwards. People who know more than you. When you are interviewed, you should write down the answers afterwards and honestly ask yourself if you explained things clearly and in depth. Honestly, you should be able to knock every question you are asked out of the park with a very in-depth and clear answer. Because there are people who are being interviewed who can do this. Giving some sort of half-answer where I know you know it a little, and then missing a few questions doesn't cut it - because most other Javascript programmers with your experience can do the same. Knowing this cold is what puts you above the pack.
Insofar as personality - it depends on the company, the people and how badly they need someone. Most of the time, if your technical skills are one standard deviation above the norm, and your personality is normal, we usually offer the job. I've interviewed people with very strong technical skills but their social skills were not just slightly poor but very poor. They continued answering questions after being told several times that their answer was sufficient, and continued talking even after being told "OK, stop talking"! (obviously things had become a little bizarre on their end when we the interviewers felt we had to tell someone "stop talking" - which they ignored, and continued talking!) Or people who were great technically but seemed very angry and had their arms folded in front of their chest the entire interview, and made a kind of sarcastic grunt after each question. Actually I would have even hired that person, but my boss torpedoed him and I wasn't surprised. I mean, I myself have made a faux pas when I have gone on an interview - but at least I knew from the interviewer's reaction that I had made one! Some people seem oblivious.
Another thing - just hit up everywhere. Put your resume on Linkedin, look on Stackoverflow careers, Craigslist jobs board, angel.co jobs, whatever people do in Europe (and also look for remote Javascript positions in San Francisco and elsewhere). Jobs aren't always posted everywhere - if there is a Javascript meetup or jQuery meetup in, say, Berlin, their mailing list might have job postings you can't find elsewhere. See where people are meeting up in your city, or nearby cities, to talk about jQuery or Javascript or full stack web development. Go out, talk to people. Pass out your business card. If you don't have one, make one, they're not expensive, you can make them same day if necessary at some local print shops. Your best resource is often letting programmers you already know know you're on the market. Some of this is for future reference though - one reason it's good to keep in touch with people once in a while is so you're not only contacting them when you want a favor. Not that them possibly getting a referral bonus for their big company hiring you is exactly that much of a favor.
For the longer term (not now), if you think not having a CS degree is blocking you, you might think about getting one, perhaps at night. It helps in a number of ways - human resources prefers hearing you're halfway to having a CS degree to not having one. It also gives you a technical foundation - you'll learn things like what is first normal form, second normal form, third normal form etc. are if you don't already know. Also you meet people and your network can grow - again, that depends on you meeting people and keeping in touch.
Another longer term thing - I am an Android programmer. Android was first released in 2008, but even in 2011 the local Android meetings were pretty empty - we could all sit down at a table in a local bar. Now local Android meetings sometimes have dozens, if not hundreds of attendees. I picked a new technology stack which took off (one billion Android phones sold last year). Lots of companies are looking for senior Android people with a lot of experience, but the only people they have to choose from are those handful people who were sitting around the local Android meetup table in 2011. Whereas Javascript is 20 years old and Javascript programmers are a bit more a dime a dozen. The thing though is - there are a lot of local programmers who write Java web backend programs (for Tomcat, or Wildfly/JBoss). They have a solid job, so why change. Over the past few years, web has been fading a little, and native iOS and Android have been rising. It is still to the extent that it is too early to put much weight to it. It's understandable why someone making $120k a year or more with a lot of Java web work around might not take the risk of jumping to an Android job. Why they wouldn't play around with it as a side project is more of a mystery - this is where they start to get into your situation. Because I can tell you, the middle-aged go-getter guys from our local Java group are always working with the cutting edge so they don't fall behind. They're working with Android Tango at the moment, which even I feel is too far ahead of the curve for me. Although maybe if I was smart I'd order those $500 tablets and start tinkering with them.
You were too complacent over the last decade - it should be obvious to you know. It's not fatal as times are good. When you get your next job, you have to make an effort to get a diploma, keep up with the latest technology, keep in touch with people and so forth, or you'll be in a worse situation next time around.
I am in a similar situation to the OP having started off with a ZX Spectrum, did CS, coded, but in my late 20s I was tempted into fixed income finance, and did that for 15 years at the highest level (unrelated to coding - I was a strategist and trader). Then in my late 30s I picked up Python, then R, and now know both really well (plus C and a bit of JS, Ocaml). What I find in my interactions is that the whizz-bang programmer guys, who are better than me at coding (though not by much - I picked up again pretty fast), are completely useless at mapping their skills to the finance domain, while my knowledge of both fields is where my value lies. I would strongly suggest to programmers that they ensure they know a non-CS domain too, preferably a niche one (we're such a big world now), and know it well - practise it as a primary activity for a few years. Climb the learning curve again even if it's hard at first. It is in the nexus between CS and other domains that opportunities are still plentiful.
Better yet, find some more people like you, as you're trying to do, and start a consulting company together. You could each use your connections to find work for the others, put in a bit of your profits towards upkeep of the company, grow your network and so on.
You may be unemployable if you put yourself in the same bucket as the recent college graduates, so make your own bucket.
Since then I've been practically unemployable. It makes no sense if I could make an entire year's worth of salary after a few phone calls and a quick demo. The only downside to this is that you have a lot of idle time. Obviously you can't do sales 24/7 (I wish I could). I'm still trying to figure out how to best use my idle time instead of obsessively commenting on HN or Reddit or playing Counterstrike. Get out? Travel? I don't know yet.
You can do this too. You absolutely can. Don't sell yourself short so you could have a 'secure' job. Don't become a slave to appease others and censor yourself to keep a job. Your time is the single most valuable asset in your life. DO NOT SELL IT FOR CHEAP. Control your destiny. This is capitalism. This is North America.
I had too much coffee, I'm out. mic drop
TL;DR: Get your money's worth. Don't waste time applying and going to interviews for a 9-5. It's not for you.
I really hate this characterization. Are there people at the office like this? Of course. But there are also plenty of offices that have people like this. They just have their own interests outside of the office job that they like to spend their time on.
Have you tried any of the following alternative in your quest to land a job:
1- Theme marketplaces like Envato.
The competition is really fierce but you could make it and establish a name and sharpen your skills and be up to date when the latest trends and movements in our profession.
2- Kickstarter campaign to crowd-fund a technical project that you're passionate about to showcase your technical skills and expertise and as an opportunity for you to reboot your career.
> As a final station, I'd like to describe what online freelancer markets look like for people like me. On freelancer.com and oDesk, you compete with hundreds of lowest-wage programmers from third world countries for exceedingly crappy "projects". It's an unmitigated race to the bottom.
Why does the OP feel entitled to not have to compete with others? Why should he be given a "not crappy" job? Because you were born in the US?
Fuck that attitude. Here's what happened. The OP stagnated, and other parts of the world didn't. Being from a first world country does not make you special. And it no longer shields you from the brutal realities that most of the world goes through with respect to human competition.
> Maybe even more alarming, the nature of these jobs has changed, too. A year ago, you could sell some landing pages and some basic web programming. Today, almost every inquiry you get is for some illicit script to scrape social media sites.
Yes, the world moves on, the nature of work changes, and things that were valuable 10 years ago become commodities. Being a programmer means being able to program many different things; you know how demands are changing, so either adapt or die. Or switch what field you work in. Construction workers can get $35 an hour, and it's better for your body.
> I feel obsolete, and I'm afraid it's starting to show outwardly.
Woe is me.
> While I was asleep at the wheel during my generic office job, the world moved on without me.
So what are you going to do about it?
> Being able to get work in this field without a fancy background is still possible, but only if you have the right connections.
So work at making those connections.
> Personally, I will just keep looking. Maybe something will turn up.
No, don't do that, it's the same shit that isn't working for you. Go to some meetups, conferences, hackathons, etc. Take a part-time job doing something else to be able to afford the time to build the connections you see as being so important. Buy books and read tutorials (and build side projects) regarding new technologies you want/need to learn. Hey I'm not saying this is the best plan, but any plan is better than no plan.
Or are "connections" your way of excusing your ego for slumping in life? I can blame others for having good genetics all day long, but I'm still going to go to the gym to improve my physique.
---
Be proactive when shit hits the fan, when you miss out, when you make mistakes. There is no alternative.
Not saying you should fake it, I'm saying employers need to stop thinking donuts can't be iced by anyone with less than a masters degree. I've seen a masters grad unable to get through a door that had a security card swipe thing because there were no instructions, even though she had the card in her hand. Sometimes a course isn't what's needed to get a job done.
I had another job where I learned a lot, but after a couple years the job became repetitive with no further learning opportunities. At that point it was time to leave, because if you are not moving forward you are moving backwards.
People need to take control of their own careers.