11

I have always wondered about this and perhaps experienced folks here can comment on this. I always read that big established software companies such as Google, Microsoft, etc are always wary of hiring software engineers/(or other related professionals) who don't exactly meet the job requirements, and would rather turn down a close "Yes/Maybe" decision.

There's also the general perception that start-ups are generally more willing to hire such "less-than-perfect" employees. But to me this sounds counter-intuitive: start-ups are generally much smaller and resource constrained so they would actually need a "10/10" hire while established companies with bigger teams and more resources would be willing to take a (small) risk on a hire.

Anyone have any comments on this from first-hand experience?

Thanks,

yannis
  • 39,547
  • 40
  • 183
  • 216
fjxx
  • 827
  • 4
  • 12
  • It be interesting to see what the success/failure rate is on programmer hires at the big companies. – JeffO Nov 02 '10 at 16:38
  • Small business rarely has the resources, E.G. the "top guy" needed to make that kind of evaluation in the interview process. In other words, the average person/small company doesn't know what to look for. Even good programmers have difficulty evaluating the skills of a potential hire in a very short period of time. – P.Brian.Mackey Jan 24 '11 at 17:04
  • @Jeff O - the failure rate of whom or what? The programmer's bad code, the programmers crappy requirements skills, the client's crappy idea, the client's constant mind changing, the technical managers decision to re-write instead of refactor...? – P.Brian.Mackey Jan 24 '11 at 17:08

9 Answers9

18

Having worked (and recruited for) a few start-ups I have to say my personal experience is that any start-up with their salt should be more fussy about programmers than a large corporate.

Paul Graham backs me up nicely in his great How to Make Wealth Essay:

Steve Jobs once said that the success or failure of a startup depends on the first ten employees. I agree. If anything, it's more like the first five. Being small is not, in itself, what makes startups kick butt, but rather that small groups can be select. You don't want small in the sense of a village, but small in the sense of an all-star team.

It is naturally a lot harder for start-ups to find suitable candidates. Pay is lower, risk is higher. But there are a surprising number of people who are attracted to the lack of corporate BS and being able to make a visible difference (early stock options help too.)

realworldcoder
  • 1,690
  • 1
  • 11
  • 16
7

My experience is that smaller startups are much more willing to hire someone who can do the job but may not have the credentials, so to speak.

what this means, is the smaller startup companies don't have much of an HR filter for you to get through. They usually are more willing to to hire those without formal training/degrees and more likely to take a chance on someone then the larger companies. They either don't have an HR staff or, at least, have a smaller one. In many cases, the engineering staff (vp/ceo/etc.) can directly interview pretty much anyone because they have the time and resources to do so.

The larger corps simply don't. Can you see The Gates interviewing every single developer who sends him a resume and is even remotely able to do the job? I don't see THAT happening.

Muad'Dib
  • 2,608
  • 18
  • 14
6

Well, I do have some experience with this situation. A point you may be overlooking is how those established companies have a reputation that may well allow them to be picky. For any position, if there are hundreds of applications they can weed out whomever they want in a sense. Start-ups do not get the same deluge of resumes which can mean that if filling the position becomes crucial to the success of the company, they will take the best they can get which will often be less than perfect. Your counter-intuitive point does make business sense but there are plenty of times where when theory meets practice, practice brutally teaches the world a lesson, in my experience. If you want to see this in action, just go to the University of Waterloo and each semester look at the jobs posted by big established companies like Microsoft and notice how many applications go into those boxes compared to others that may be with a much smaller company.

An example of that would be the idea of releasing software with bugs. In theory, if there are bugs in the software, this should be fixed before one ships the software. However, if one really holds that view, the software will likely never ship.

I have had a couple of interviews for positions at Microsoft. The first one I bombed rather horribly and couldn't believe I had the issues that I did. The second time I got up to the hiring manager being on the fence and I declined to try to fight for why I should get hired as there were 2 areas where I seemed to be so-so and thus wasn't a solid, "Yes, we should get him," situation.

JB King
  • 16,795
  • 1
  • 40
  • 76
5

Smaller startups need good hires as much as corporations. There may be a higher percentage of "risk" hires in startups because potentially there are less people to perform interviews and thus fewer diversified opions.

Additionally, when you are hiring someone, there's no such thing as a "maybe". If the candidate isn't a fully qualified YES, then they're a NO.

Walter
  • 16,158
  • 8
  • 58
  • 95
  • By "maybe" I meant a split "yes/no" ratio in the interviewing team. – fjxx Nov 02 '10 at 16:24
  • @fjxx - My experience at larger companies has been that one "no" is usually enough to have a candidate be rejected. If others are able to make a good case they might come back for a second round if other, stronger, candidates were not identified. – rjzii Nov 02 '10 at 16:56
  • 1
    @Rob - that's my experience too. – Walter Nov 02 '10 at 20:17
  • 2
    @Rob, et. al. It depends on the position. If you are hiring a senior level developer, the candidate better fit the bill. If you are hiring a junior developer, you are more likely to take the "best of the bunch" as the risk is much smaller. This "best" is more likely to be a "gut feel" hire than a senior developer as well. – Wonko the Sane Nov 02 '10 at 20:47
3

Startups do tend to hire people who may not be fully qualified for the job because:

  1. Expertise: start-ups generally do not have the expertise to hire more qualified people. The CEO's generally hire less than perfect IT managers because usually they don't know any better. These IT managers tend to hire other IT professionals who may be less than perfect for their jobs because managers are not fully qualified to perform good interviews themselves.

  2. Financial Constraints: start-ups are tied for funding so they look for folks who are willing to work long hours and put in extra effort to get the product/service out the door for lesser money, no matter if the code base internally truly sucks and is a real maintenance nightmare . They generally offer promises for promotions, bonus, equity, etc. which mid-level folks do not mind working extra hard for. It's common human psychology -- why should I work 10+ years to become a VP when I can work 1 year and if successful I can have the same title. Or why should I work 20+ years to save $250k when I might be able to get that in a couple of years if the start-up is successful. Big corporations generally pay a fair market salary to their employees, may or may not offer bonus/equity, and generally have clear career paths.

  • Point #1 can also apply to large corporations. – Larry Coleman Nov 02 '10 at 17:04
  • @Larry: Not to mention that a mediocre IT manager at a large company can last a lot longer than one at a startup. There's a lot of "good enough" in big business. If you do what everybody else does, you'll get average results. The average large business does reasonably well. The average startup doesn't get going enough to crash and burn, but rather fizzles. – David Thornley Nov 02 '10 at 17:39
  • Point 1 doesn't even address the question - the question is about why would a startup hire someone they are unsure of, it says nothing about their competency in hiring. – Jeremy Nov 03 '10 at 00:37
3

When running my startup Tribily.com I took a risk on some people, which didn't always work out very well. The trick is that I start with every person on a freelance basis. If it works out, we can go look at a contract, although right now all 5 of my engineers are contracted freelancers. I just find it works a lot better for my situation. That said, we are completely self-funded. I could see this be a lot less of an issue if there's actual funds to hire people :)

Walter Heck
  • 131
  • 2
  • I'm curious how you expect to hire A-people if you only take freelance on trial bases? Those who are freelancing and good likely will stay freelancing; others who are good likely have heaps of experience but would not find freelance->perm enticing? – Jé Queue Jan 24 '11 at 05:51
  • 1
    Top people are likely to consider freelancing on a trial basis, since they'll be confident of passing any reasonable trial. The question, for them, is what they can expect once they show what they're capable of. They're likely to want more than freelance pay (and a startup will typically not be offering high rates) fairly soon. – David Thornley Jan 24 '11 at 15:40
3

Google's job descriptions (as posted on their website) are a lot broader than many other companies. Take their posting for "Software Engineer" in Mountain View:

Requirements:

  • BS, MS, or PhD in Computer Science or related technical discipline (or equivalent).
  • Extensive programming experience in C/C++ and/or Java (strong OO skills preferred).
  • Several years of large systems software design and development experience, with extensive knowledge of Unix/Linux.
  • A solid foundation in computer science, with strong competencies in data structures, algorithms, and software design.
  • Coding skills in Python or Javascript/AJAX, database design and SQL, and/or knowledge of TCP/IP and network programming are a plus.

They seem to have less of an instance on particular skills, and more of an instance on being a smart and capable developer and computer scientist. It's obvious that they're looking for people who will learn on the job the skills they need to tackle a particular job within the company.

Many smaller companies are much more specific about their requirements. It's obvious they have a particular position they want to fill, and they want someone who has many of the relevant skills as possible so they can be as productive as possible from their first day on the job. For example:

We're looking for someone who has significant experience developing cutting-edge websites and/or applications, preferably on an open-source (LAMP-style) platform. We want someone with a strong dedication to web standards and web-development best practices. The ideal candidate will have extensive experience with database-backed web development and a history of development in dynamic languages.

If you havent written Python or Django before, thats OK! Were looking for smart computer scientists with broad interests like natural language processing, digital signal processing, machine learning, and more. We want to give you a chance to put your skills to use building a first-of-its-kind web platform and sophisticated application interfaces. If you have little or no experience in web development, well give you the opportunity to learn.

Some web experience on top of your CS expertise will admittedly give you an advantage. Knowledge of Python, Django, PostgreSQL, (X)HTML, CSS, JavaScript (including JSON and AJAX), web standards, and web-development best practices. You should also have a working knowledge of LAMP-style platforms and source control (we use Git, but SVN or CVS is a start). That said, were more interested in a willingness to move fast and eagerness to learn and contribute than we are in how well versed you are in any specific language or platform. Were looking for a proven, results-oriented person with a focus on delivery.

Ken Bloom
  • 2,384
  • 16
  • 20
  • Google does have a comparatively more general job description, but its also clear that they vastly prefer extensive experience writing code in C++ or Java, which I believe alongwith Python are the languages most prevalent at Google. – fjxx Jan 24 '11 at 05:01
  • Your 2nd example is from Cox Media -- hardly a *small startup*. Side note -- The reason I know this is that I happen to subscribe to python-jobs, and this exact ad with the exact same copy recently showed up in my inbox, except it was directly from someone at Cox... – red-dirt Jan 24 '11 at 16:31
  • I didn't mean to imply that it was a small startup -- just that it was a different company with a different hiring strategy. – Ken Bloom Jan 24 '11 at 17:37
2

Partly, it's supply and demand. Established companies will get a lot more applications, and so they need to trim down the number of applications to something they can handle. This means that resumes will be used to reject people initially. If the company has 100 resumes for a position, throwing out the questionable ones will still leave excellent candidates. It may weed out the best candidate, but they can live with that.

Startups tend to get fewer applications, because they're less attractive except for people who like high-risk high-reward and they can't advertise as effectively. In addition, they're typically looking for qualities that won't show up as well in a standard resume, so they're more reluctant to sort on resumes alone.

David Thornley
  • 20,238
  • 2
  • 55
  • 82
1

Large tech companies like Microsoft and Google hire people with a solid grounding in computer science and worry less about specific higher level skills needed in the job. For instance the job ad at Microsoft may require experience in C#, ASP.NET, ..., the reality is the hiring managers don't care so much about that. Someone with zero experience with those technologies can get a job pretty easily if they demonstrate the CS competence.

How a startup hires largely depends on where it came from. For instance if the startup is in Seattle or the Bay Area and was started by ex Google and/or Microsoft employees, they essentially hire the same as large tech companies--maybe with a little more emphasis on the specific frameworks they're using.

It's a cultural thing. Smaller, lesser known, or "IT shops" tend to hire people with experience in the toolchain they're currently using, where well known tech companies (and people who came from those companies) tend to hire for core CS skills.

rreeverb
  • 434
  • 4
  • 5