9 ms·
I just wonder how much of this talent gap is real. For example, if I am looking for Ruby on Rails experience and I have candidates with strong python and Django
by avenger123 13y ago
I just wonder how much of this talent gap is real. For example, if I am looking for Ruby on Rails experience and I have candidates with strong python and Django experience are they off the list? Or how about someone that has done PHP for a long time and you are looking for RoR.
Or let's say someone with Java experience is available but you are looking for Scala. I just use these as the initial comparisons but I'm sure there are more. Can you not let the python person train up on Ruby on Rails and have a strong candidate?
I understand its best to match one to one what is being looked for, but I wonder how many good candidates are being passed by because they don't fit the perfect stack but are likely able to perfectly adapt.
- nbouscal 13y agoNope, people with Django experience are definitely not off the list. PHP isn't off the list either, though the signal-to-noise in that community does seem (anecdotally) to be a lot lower. In my experience people cast a wide net for senior candidates in terms of what they've worked on, the important thing is how they've worked, what roles they've taken, what teams and projects they've led and shipped. Basically, people that can be trusted to build a solid foundation for the more junior candidates to build on top of. Even with a wide net on the specifics of their experience, candidates like that are still not easy to find.
- gambler 13y agoIs this specified in your position description? Because that's anything but standard. I feel a lot of employers are exceptionally bad at communicating their actual requirement. Ironically, one of the sure sighs that your job description is bullshit is having a line that says "excellent communication skills". Anything about "fast-paced environment" too.
- nbouscal 13y agoWell, at risk of going on a bit of a tangent here, realistically my experience in every field is that a distinct minority of jobs ever get filled through formal job advertisements. The vast majority of hiring happens through referrals and networking. Bringing it back to tech specifically, in my (anecdotal) experience people are rarely bothered by lack of knowledge of a specific framework assuming that the candidate has experience in something similar, or more generally if it is safe to believe that the candidate can get up to speed and contribute in a reasonable amount of time. At this point we are of course just comparing anecdotes. I will also note, though, that there are a lot of very different subsectors within tech, and hiring practices vary widely between them. In accordance with the venue I am here mostly referring to startups (including late-stage startups).
- Jormundir 13y agoWith all the articles about how terrible just about every company is with hiring, do you think maybe the "talent shortage" is a misnomer and side-effect of companies being outright terrible at judging "talent"?
- nbouscal 13y agoI think that both phenomena exist and that both contribute to the problem. Which is more significant is hard to tell. In my experience, the talent gap is a bigger problem, but I'm sure there are plenty of people with the opposite experience.
- Jormundir 13y agoWell based on what you said, the claim that there is a "talent shortage" seems baseless, given that companies are unable to judge talent. I suppose the salaries of engineers are evidence enough that there is a talent shortage. Though, I've been perusing for a job and would not respond to maybe 85% of job postings because companies can't clearly articulate what they do and what the position they're offering is. I've been to plenty of interviews where they clearly haven't looked at my github, and then ask me odd, incredibly domain specific algorithm questions, and then turn me down as untalented. I've been to plenty of interviews where they think I'm talent, but in all their bragging about how talented their team is, I see signs of lazy engineers. I think your judgement of how small the hiring problem is is way off. Coupled with companies' unwillingness to hire and train mid-level engineers to senior level (which really only takes a few months with an interested candidate) is the bigger problem.
- nbouscal 13y agoSome companies are unable to judge talent. Others are able to judge talent quite well, and those companies still have difficulty hiring (mainly at the mid to senior level). That is my argument for there being a talent shortage. Re job postings, most jobs are not filled through job postings. If you want to find a job at a company that knows how to hire, you will have much better luck if you find the opening through networking or a referral. I have literally never got an engineering job through any other channel. (Note that this does not serve as evidence toward your indictment of HR, most networking/referral hires still go through HR to at least some extent).
- a3n 13y ago"For example, if I am looking for Ruby on Rails experience and I have candidates with strong python and Django experience are they off the list?" I think in most companies yes, they're off the list. Bottom line-ism is king these days. Companies see bringing someone in and up as a cost, not an investment. All they want to do is pull from the well, but not put anything in. They want perfect fits, and they want other companies to make them. It sounds like a frighteningly random and risky policy.
- nbouscal 13y agoIs this your guess, or are you speaking from experience?
- a3n 13y agoMostly my cynical guess, and I've seen it personally. But I'm one guy.
- vpears87 13y agoI agree. Labor is viewed as a cost rather than investment. You can find this paradigm in many econ/business courses. You invest in capital; you pay for labor.
- EricDeb 13y agoWould it be possible to sign employees to a contract then? Flip this on it's head. i.e. we're happy to take you on board, but you have to work here for 2 years at X rate.
- RogerL 13y agoIn the US (I know, this is a global community) we are largely 'at will' employment (a quick google suggests that only Montana is an exception). Such a contract is not enforceable. To lock people in we use things like vesting - you get stock grants, bonuses, or what have you, but only vest into them over time.
- billmalarky 13y ago
- daemin 13y agoIt's not a language talent gap, as learning the ins and outs of a new similar language is not a big deal. It is the talent gap of all the other related tasks that go into engineering and development. Yes these can be learnt by a motivated junior developer reading books and the like, but they can be taught and explained better and faster by a senior developer. Case in point when I started at a real programming job, I already knew how to program pretty well, but it was the other organisational and system design concepts that I needed help with.
- philangist 13y agoWhat books would you suggest this junior developer read?
- lstamour 13y agoMany of them. :D Pragmatic Programmers was always a fun start for me back in the day, even some MS Press and plenty of O'Reilly. Most of what I learned came from blogs and time spent at a computer, however. There's no substitute for practicing the art of programming to learning actually useful programming skills. Write, run, rinse, repeat. Have fun :) Oh and when applying for jobs, I found http://pragprog.com/book/algh/land-the-tech-job-you-love http://pragprog.com/book/algh/land-the-tech-job-you-love useful.
- daemin 13y agoThe Pragmatic Programmer, Code Complete, and others in that sort of vein come to mind. Though some of those can be a bit language (and version thereof) specific. It comes down to living in the trenches yourself or learning from someone that has already done so.
- ath0 13y agoSpeaking for myself on the specific points you've raised: We're a django shop, but being a rails dev doesn't rule anyone out. A demonstrated record of shipping product and solving hard problems, regardless of language, is generally better than a lot of buzzwords that happen to be on point with the tech I'm working with to day. That candidate will probably get a phone screen, at least. A list of job responsibilities or technologies on a resume won't get you an interview if that tech isn't a good match for what I care about today. But that's rails... ruby is a pretty strong language, and it's a much closer map to python than other options. As for your other languages... Someone who's spent their life in PHP with no experience outside that language? At this point, I'd probably pass on that resume. The problems I deal with require a breadth of experience in deeper software engineering-y topics: networking, storage, maintainability... my assumption would be that you haven't been given hard enough problems that require you to get outside of the PHP box, if that's all you've ever done. Similarly Java vs. Scala. I see a lots of J2EE resumes, and my experience with interviewing those folks is they may understand the J2EE/Hibernate/SOA/webapp stack, but when it comes to non-webapp problems, they're lost. I'd be more likely to talk to someone who has Java, C and Python experience, but no Scala, than someone who's got a broad Java base but has never branched out of that particular language. Scala experience, whether or not immediately relevant, is more likely to be correlated to be harder problems, self-development and exploration -- at the very least, that someone is trying to keep up with industry trends. Maybe my J2EE and PHP judgments aren't fair; but they're heuristics developed over some time.
- FLUX-YOU 13y agoIt seems like the requirements for jobs continue to increase. Not too long ago, you could get a job just having experience in one/a few language(s) with a few things in a portfolio. As a guy who's always looking for advice on getting an entry-level position, I've been told to learn a dozen or so technologies before applying for a junior position: HTML, CSS, JS, Python/Django||Ruby/Rails||PHP, Linux, Data Structures and Algorithms, Photoshop, Design Principles. I also need to have some good quality projects and approach hard problems, which can be time-consuming and difficult on your own. Even then, some places filter out candidates who don't have a CompSci degree. To me, this seems a little high for a junior position (Any company, not Google) and sounds more like a full-stack web developer (I'm just shooting for a Front End spot). With no professional experience, there's no way I'm going to be proficient in all of those domains unless I spend a long time learning on my own and that doesn't exactly pay the bills. As the problems get harder and more people drift towards CompSci, the requirements for even a minimum-level position will continue to increase, while the time to learn all of the requirements remains the same. This will hurt the talent pool in the long run, although people that have been riding the wave will command very large salaries if the talent gap continues to widen.
- pkteison 13y agoI don't think the experience requirements are exactly where you're imagining, but I think it's still there. I've been doing database backed web development for quite a while now, and I've had jobs doing that in C, TCL, perl, java, C#, python, Delphi and ruby. But they were all chiefly database backed web development, so basically the same thing, despite being completely different languages. I expect I would have significant trouble getting hired to do a different specialization, like parts of a videogame engine (say c or C++ or python or lua). So as long as database backed websites are in demand I'm probably ok, but if those disappeared tomorrow I could become a statistic - if everything becomes apps, I'll manage, but that round of interviewing won't be as easy as the last few rounds of interviewing were and I'll probably have to take some personal time developing a demo to talk about. I've seen two friends with mainframe experience end up having lots of trouble finding new jobs - they could certainly program, but had nothing they could point to that seemed relevant to the web dev jobs. And a friend who works on videogame engines is trying to make a switch to websites and it's looking hard to make that switch. So, I don't think it's strictly along language lines, but I do think employers are hesitant to sub in one type of programmer for another. I'm not convinced they are wrong - there's lots of specialized knowledge to pick up along the way that mostly seems to be taught by screwing up a project at some point, and it's safer to hire somebody who has already screwed it up elsewhere once.
- jheriko 13y agoTalk to your developers. Unless they are quite inexperienced they should have a personal appreciation for why language and platform experience are not the most important things to look for...
- NCorcodilos 13y agoI think you nailed it. Employers today have been taught by database/algorithm-drive search that they can get the perfect candidate if they just keep polling the database. In many, if not most, cases, I think they're far better off hiring a smart person who can ride a fast learning curve without falling off. They also get the high motivation that comes with a new hire who is pumped to be doing/learning something new. But, how many managers are really good at picking out people who can learn quickly and come up to speed?