I would agree with OP, until when I has become a hiring manager myself. I do understand years of experience may not equal to competency in certain skill sets. But if you are going to run a hiring post, what kind of metrics could you use, on top of years of experience? Putting something too generic (e.g. intermediate programmer, mid-level, etc.), you tend to attract a lot of non-relevant, hello-world sort of people. P…
Hire talent, not five years with Java
61–70 of 121 posts
Re: Hire talent, not five years with Java
#621. A degree. While degrees are nice and prove somebody is considerably "intelligent" and not a "complete waste of time", many talented programmers, especially the ones you want to hire; are fully capable of teaching themselves without a lecturer.
There are some developers who have already studied the dragon book and have a sophisticated understanding of how operating systems work because they hack on Linux.
A developer may make a very reasonable and logical decision not to go to college because they dont want to accumulate debt, for an education they already possess, and ultimately waste time not working on their software projects.
A degree doesnt mean they are a good programmer, and a lack of one doesnt mean they are a bad one either.
Im not saying college is a bad investment, rather recruiters should not turn away an applicant just because he passed on that, as they see it, inherently flawed "life experience".
2. Years of experience. Assuming the project is well documented... If it takes a developer longer than 2 weeks to figure out how to use a project's api, even if they have no prior understanding of the technology.
They are not a good programmer.
If you are looking for a developer to actually understand the internals of a project well enough to be able to commit, even linux shouldnt take 5 years of studying before a talented developer is able to visualize whats going on.
Real developers spend almost all of their time reading code and studying something they havent learned yet.
if they cant adapt quickly to your projects, while perhaps even teaching themselves the new technology along the way unbeknownst to you. (new programming language, library dependency api's, network protocol, etc)
They are not a good programmer.
3. Previous Work Experience [as {insert stupid job title here}]: First, there is nothing sillier than job titles for programming positions. The only valid titles that should ever exist for a programmer's job are Hacker, Bit Composer, Code Poet, Git Wizard (seriously, this is the only valid specialized hacker position)
Second, Just because Bob has 30 years of work experience as "Lead Programmer" at "FooBarly inc.", that doesnt mean he is a better engineer than 21 year old, no work experience, Alice.
While Dino Bob may be able to write optimized, neat, software. And although he might able to debug rather complicated bugs, and ultimately lead a team to write a program that does what its supposed to.
Alice may have been an exceptional, innovative, and disruptive programmer who could have not only written the software but innovated the concept into something beyond the scope of the original concept design.
There are some hackers out there who can see data structures and algorithms like a painter can see the scene painted on the canvas before they make the first stroke. Innovation requires an exceptional level of creativity and the ability to abstract an opaque idea into a deep, detailed conceptual model.
People cant be taught to think this way. Much like a professional musician, whom despite practicing each day for hours to perfect their art; will always lack the skill of a virtuoso mind like Mozart. Many people are great engineers, but could still lack in talent against someon who was just born with an exceptionally creative and brilliant analytic mind.
These are the kind of programmers that you cant afford to let your competition snatch up. Yet you just foolishly tossed Alice's resume in the trash because Grandpa Bob has credentials and she doesnt.
Interview Quiz: When given questions like, "given two arrays, find all the elements in one array that are also in the second array". in attempt to talent scout.
A good programmer will claim the real right answer is either the obviously simple choice or the theoretically most efficient, and well tested sort algorithm that can be found using google.
If comparing two arrays is seriously a performance bottleneck that requires optimization, you might as well skip the bs and go with the best. We arent solving problems if they no longer exist, and a programmer not solving problems is a programmer wasting time.
4. Portfolio A portfolio is the only valid option to consider when you want to be absolutely sure you hire the best developers.
If the person hiring cant identify what good code is, then your startup is screwed anyways. You dont need a degree to build a portfolio, and if somebody does choose to college they get to build their portfolio as part of the class projects.
If a developer doesnt have a portfolio or if the software in their portfolio doesnt actually do anything useful then you know they arent a real hacker.
Hiring a programmer should only ever be based on the quality of software they have authored.
Like Linus said, "Talk is cheap, show me the code".
Re: Hire talent, not five years with Java
#63Once upon a time (1969-ish), my father was hired as a programmer. He was an electrical engineer by training, but had zero programming experience at the time. Given a shortage of programmers, IBM placed an ad in the newspaper, hired smart people, and taught them how to program. Assembly. On mainframes. 40+ years later, companies are in a similar situation, but instead, given a shortage of engineers, they are simply wh…
There is one difference, though - the opportunity to learn programming (actually, to learn most things) has exploded in the past few decades. In 1969, I think you needed access to expensive technology (like a mainframe) to have the opportunity to learn. Now, a few hundred bucks and a web connection gets you started. So if someone wants to be hired into a programming position with no experience in 2013, that does say something about the candidate that it didn't say in 1969.
Re: Hire talent, not five years with Java
#64Earlier quoted context omitted.
The cool thing with EE is, in a lot of cases, the older you get, the more in demand you become (or at least, not any less wanted), since experience is so crucial in EE. With CS, it seems like every company's looking for young, energetic undergrads fresh out of college who know the latest technologies, in many cases to replace the older people. It's always seemed a little too short-sighted to me... not sure how my gen…
Don't overlook the fact that a lot of times the reason they want to hire younger folks is because they are much more likely to tolerate working insane hours and being on call 24/7. Due to their enthusiasm, lifestyle (often single with no kids), lack of experience, etc. And many companies still think that a coder who works 100 hours a week is obviously better than one who only works 40, or god forbid, 15.
Re: Hire talent, not five years with Java
#65In general, this article belongs among the best articles nobody will read. It looks like I might finally get a job as a Django/Python developer after 3 years of unemployment. Encouraged by my local course for unemployed, I visited the company personally and handed them a dead tree CV and cover letter. I was mildly amused to find they seem to be just 3 guys in small dusty room. I ended up on a job interview of sorts I…
Also maybe print it in an unusual size -- that way they can't file them away for "maybe later" as they won't fit and they are forced to have the CV on their mind. An unusual color might also prevent it from getting lost in the stack of resumes.
Re: Hire talent, not five years with Java
#66Perhaps the better approach to solving this problem is to stop repeating it on tech blogs, and start moving to publishing and discussing it in HR blogs and similarly appropriate, targeted mediums. As stated elsewhere[1], this is undoubtedly the existing mentality of the audience to whom this article is written. Those who actually need this advice are the existing and future HR managers and departments who are in char…
I don't think you're wrong. But could you define talent? That's something that bugs me endlessly. Talent gets thrown around recklessly everywhere. Is talent smart and gets stuff done? Is it more than that? I feel pretty confident I can identify "talent" but the blog post you are responding to isn't written for me or you, it's written for people who are already doing things the wrong way and content with it. We say hi…
It may sound squishy, but it's really not. You can tell smart people pretty quickly from talking through logical problems with them. Dumb people will ask irrelevant questions and want you to hold their hand and walk them through it. Smart people will ask smart questions and deduce a path to the solution.
Re: Hire talent, not five years with Java
#67I would agree with OP, until when I has become a hiring manager myself. I do understand years of experience may not equal to competency in certain skill sets. But if you are going to run a hiring post, what kind of metrics could you use, on top of years of experience? Putting something too generic (e.g. intermediate programmer, mid-level, etc.), you tend to attract a lot of non-relevant, hello-world sort of people. P…
Re: Hire talent, not five years with Java
#68Here's the strategy we feel is working pretty well for us. First of all, our tech stack looks like this: Java/Spring(MVC)/MyBatis/Hibernate/etc Ruby/Sinatra/ActiveRecord/etc JavaScript/Angular/etc A bit of SQL (MS) We look for candidates of all skill levels who have experience with any "systems" programming language (Java/C/C++/C#) and any scripting language (Ruby/Python/JS). Once we've found a candidate that has any…
>Hugely over-architected solution? Eliminated For a code interview I can see myself over-engineering a solution even though my day-to-day coding style is all about flexibility and readability. In my mind being able to over-engineer shows an ability to code.
Re: Hire talent, not five years with Java
#69Here's the strategy we feel is working pretty well for us. First of all, our tech stack looks like this: Java/Spring(MVC)/MyBatis/Hibernate/etc Ruby/Sinatra/ActiveRecord/etc JavaScript/Angular/etc A bit of SQL (MS) We look for candidates of all skill levels who have experience with any "systems" programming language (Java/C/C++/C#) and any scripting language (Ruby/Python/JS). Once we've found a candidate that has any…
>Hugely over-architected solution? Eliminated For a code interview I can see myself over-engineering a solution even though my day-to-day coding style is all about flexibility and readability. In my mind being able to over-engineer shows an ability to code.
Re: Hire talent, not five years with Java
#70Once upon a time (1969-ish), my father was hired as a programmer. He was an electrical engineer by training, but had zero programming experience at the time. Given a shortage of programmers, IBM placed an ad in the newspaper, hired smart people, and taught them how to program. Assembly. On mainframes. 40+ years later, companies are in a similar situation, but instead, given a shortage of engineers, they are simply wh…
Part of it is the difference in programming culture. With startup culture, which has many good aspects, also came the idea that the death march should be the norm. Meaning, 20-somethings should be working 80 hour weeks on a regular basis and projects should be shipped at the soonest possible moment it's even remotely feasible to do so. This sort of working environment has no slack, no capability to operate effectivel…
They want engineers, programers, etc. with huge experience and paying a little. Just yesterday I saw a news article talking about the lack of car mechanics... and they say (like it is a great thing) that salaries go high as $450 bucks a month (40h per week)... they don't understand why nobody wants to be a mechanic :P