Ask HN: Can drones be a solution to dealing with higher level talent shortage?

5 points by diminium ↗ HN
There's a lot of new startups. Most startups want the best and the brightest to continue on. There's only so many best and brightest. Without pillaging another company, anyone have any simple ideas on how to fix this?

Corporations answers to this is to hire a ton of "drone" programmers and throw lots of them at a problem. That hasn't worked so well for them. Then again, most mega corporations aren't the prime site of innovative thinking.

So I've been wondering, instead of hiring let's say 5 best of brightest, has anyone innovated a way that we could use 50 "drone" programmers to do the same thing? The difference? An innovative founder who wants to do something new.

Has any startup made this bet yet? If so, how did they do?

9 comments

[ 3.8 ms ] story [ 23.7 ms ] thread
I could see this working, but my concern is with the "drone" part. When you have a few of the best and brightest they usually build off a very general idea using their own ideas ans creativity, and since there are so few they can work with each other. However, when it comes to the drones they would have to be given very detailed instructions for each step, they would need programming if you will.

If you already have an idea and want drones to do the work they would need a lot of guidance so everyone's work flows together.

Then of course the good side of having some many drones is if you do allow them to run away with their creativity; even if someone can't build upon their own idea(s) there are 49 other minds there to throw thoughts at it.

So depending on how you approach it, having 50 drones can be a very good thing or possibly a huge pain in the butt.

Just think about the overhead of hiring 50 drone programmers, vs hiring 5 brilliant ones.
So, as someone who works at a giant drone-filled corporation, my guess is that the answer to your question is no. My experience, based on the state of our own codebase, is that mediocre programmers tend to write code that's brittle, unmaintainable, untestable, etc... such that you end up with some classic anti-pattern like big ball of mud. The more people you have, the more you exacerbate this problem (see: Brooks' Mythical Man Month). Plus, with more programmers likely you have more churn, thus more who are relatively new to the codebase and liable to make mistakes, etc...

There are probably unique situations where the above doesn't apply. Perhaps something where you can parcel out relatively routine chunks of code that would otherwise be difficult to automate. Say, an ETL system that has different file formats, where each format requires a custom module. Still, even in such a case I could envision a template system or gui tool that a non-programmer could use instead. So I'm hard pressed to come up with a good example.

Perhaps a craftsman/artist metaphor is apt here: could 50 drone painters pool their talents to create a Mona Lisa?

That said, sometimes folks rise to the occasion. Perhaps some drones are only drones because they've been given boring work. I feel like there's a fair amount of stymied talent in the enterprise.

I used to work in a company where the drone approach did work out well. We wrote screen scrapers for insurance websites that ran in a framework that would kill them if they went off the rails, handled serious errors, and was the major interface between our component and the front end products the company actually sold. The scrapers weren't terribly technically challenging, and at the time I left, I could crank one out in roughly 3 days which was a pretty good pace.

When I left, I mentioned in the exit interview that, for my salary and benefits, the company could hire 4 interns and put them to work. Even if they were twice as slow as I was, which was unlikely given all the work that went into the framework, the company would have a net productivity win, not to mention the benefits that come with having interns around to recruit from. Last I heard, they took me up on that suggestion and picked up 10 interns who are all writing and maintaining scrapers and freeing up full-timers to work on less routine work.

It can work, but you need a steady supply of relatively routine work that's set up in such a way that nobody can break the system with a simple bug or logic error.

What kind of framework was this? Who designed it? So it sounds like if I build a big enough fence, it can work out pretty well?
It wasn't an off the shelf framework. "Scraping engine" may be a better phrase to describe what it actually did. External components would make a call, saying something like "I need the data for this particular patient from this particular hospital". The engine would then spawn off a thread containing the scraping code for that particular hospital, and it would run off, scrape the website and then return a well formatted version of that data or one of a series of error messages. If the thread got hung up, the engine killed it and returned an error.

We built the engine when we realized that these scrapers were a competitive advantage for the company and we'd be writing a lot of them (when I left, we had around 250 of them with a backlog of near 1000 to be written). It became worth the investment to write the framework because there were features we wanted that would have been hell to integrate any other way - for instance, killing long-running scrapers that may have been hung up. The engine bought us lots of other niceties too - for instance, centralized error reporting. If one particular scraper returned lots of errors, odds are that the site changed and we knew to give the code some attention.

When you describe it as a "big enough fence", that's only partially true. It's more about a series of independent tasks that don't depend on each other. When you have that and those tasks have only minimal impact to the system as a whole that you have a scenario which suggests drone programming.

Probably not the Mona Lisa but they did create The Simpsons.
I'm not sure about "drone", but Zoho comes to mind. They've built a workforce by hiring young kids out of high school/college and training them on the job. I suspect they turn out to be pretty good programmers.
If you are taking the drone approach, I recommend that you hire in mexico. for the price of a drone you can hire great devs, and for the price of drones in mexico you can hire -lots-.

i can give you advice on this