If dev then hire
December 6, 2011 1:49 AM   Subscribe

What skills do I look for in an developer? What do I test?

I'm thinking of hiring a developer for my communications agency. I'm looking for someone who can do html and css and all that, of course, so we can develop websites in house.

But I also want him or her to know their way around Twitter, FB, LinkedIn etc. API's, and to develop some custom tools for social media and Google analytics if needed. It would be great if he or she could develop simple apps for Android or iOS too.

What exactly is the skill set I'm looking for? Is this a typical skill set of a developer, or should I forget about finding all of this in one person. As you can tell, I'm still at the start of the recruitment process. Any insights into recruiting developers is welcome.
posted by NekulturnY to Computers & Internet (7 answers total) 8 users marked this as a favorite
A decent dev should be able to fulfill most requirements that you've specified. The exception would be developing apps for Android AND iOS because that involves two different eco systems with their own platforms, programming languages, tools, libraries, etc. It's not impossible to learn, of course, but finding someone who is competent in all three areas combined - web development, iOS, Android - might cost you more than you think.

Joel Spolsky has written The Guerrilla Guide to Interviewing, which I think you should read. From a developer's point of view, make sure you understand The Joel Test and how you can use it as a business owner to attract good developers but also understand what developers have come to expect from a work place in terms of it support and sane development practices.

Also, having a full-time employee might not be the best solution for you. If your business allows for it, working with freelancers can be cheaper but also much more flexible because you have access to a much larger competence pool.
posted by Foci for Analysis at 2:14 AM on December 6, 2011 [5 favorites]

One specific expertise that might be worth considering is Appcelerator Titanium. It's a development platform that essentially allows someone with strong javascript skills to build native apps for both Android and IOS. The transition is much, much easier to deal with for existing web developers than launching headlong into Objective-C or Java. Titanium is somewhat limited compared to those more traditional platforms, but if you're not writing the next GarageBand or Angry Birds, it's an avenue worth considering. Any really competent web developer should be able to pick it up very quickly.
posted by le morte de bea arthur at 3:11 AM on December 6, 2011

You want to developed sites. What kind of websites? One-off static brochures? Then you need an HTML coder and a designer. (Those are rarely the same person.) Structured blog-like sites that can be based on an existing CMS without too much customization? Then you need someone with skills with that platform's template system, and a designer. Highly interactive sites that need a lot of custom coding? Then you need a real back-end developer, and probably a database guy. Oh, and a designer. Working with the social media APIs you mentioned will require at least some server side coding skills; the extent depends on what it is you actually want to do.

iOS and Android developers are a completely other kettle of fish. There's some overlap in skillsets between those devs and web guys, but you're extremely unlikely to find one person expert in all three. Good iOS devs aren't going to be bothering with much web work these days because the iOS work is very in demand and the pay is a lot better. Android is an overlapping but different skillset from iOS -- think Mac vs windows and you won't be too far off. It's impossible to say whether you could get away with using one of the JavaScript-to-mobile frameworks ('appcelerator' or phonegap) without more details about what you want to build. Oh and for either one you'll also need a designer too (one who knows mobile; it's not the same as designing for the big screen.)

Basically you are all over the map here. You are not ready to hire or manage a full time developer; if you try you're going to get ripped off or wind up in a blind-leading-the-blind situation. I would recommend dipping your toes in by speccing out requirements for one narrowly-bound project, hiring freelancers or a design house, and working with them as closely as possible, just to get a feel for how this stuff works before you dive in head first by hiring someone you'll be stuck with for a while.
posted by ook at 5:53 AM on December 6, 2011 [2 favorites]

Then you need an HTML coder and a designer. (Those are rarely the same person.)

I goofed this up while editing. Designer with HTML skills is pretty common. Designer with back end dev skills is not.
posted by ook at 6:36 AM on December 6, 2011 [1 favorite]

What ook said. One person who is good at all these things is extremely rare. If you can find a good back end developer--the kind of person who can cope with APIs, custom tools and conceivably apps--their rate is going to be far too high for you to want to waste their time dealing with rendering HTML/CSS mockups.

Here are some typical people in the world of web development:

Designer: Great at visual/interactive design, ok with HTML/CSS. Their job is to say how things should look/behave, and secondarily help with actually producing the things.

Front-End Developer: Great at HTML/CSS, good with JavaScript, competent with your CMS platform of choice (WordPress/Drupal/etc.), and mediocre with any programming languages required for styling your web applications (PHP/Ruby/Python/Java/C#/etc). Their job is to implement designs, but when the going gets tough, they defer to your...

Back-End Developer: A programmer. Great with the languages (PHP/Ruby/Python/etc.) and frameworks (Rails, Django, .NET) for your web applications, and the databases (SQL/NoSQL) which drive them. Your CMS is just another application to them. Good with JavaScript just by virtue of being a skilled programmer in general. Can handle APIs, and if anyone in a web development shop has a shot at app development, it's the backend developer. If you don't have anyone really good at system administration, they probably deal with that too. Anything technical is their problem.

That said, as ook said, I don't think you should be trying to hire these people unless you and your firm understand the underlying technologies enough to be able to articulate what you're looking for. You're either going to have to subcontract until you've learned the ropes, take an expensive gamble on someone who can deal with all your technical needs for you, or take a cheap gamble on a junior front-end developer relatively fresh out of undergrad who might be able to help you inch your way to technical literacy.
posted by tsmo at 7:13 AM on December 6, 2011 [2 favorites]

My company recently hired some developers and while we make apps, we decided to have the developers not have to be app people. We are outsourcing the apps. I would put money on you guys reaching the same conclusion.
If you can only hire one person, an hire a back end developer, they will be more expensive than a front end person but well worth it and a lot more flexible.
It is rare to find a back end person who has good design instincts, so you will need to either have a designer on staff or someone who can make realistic mock-ups (wireframes) of how you want the webpages to look and then the back end guy can code them to match. You'll have to be careful and do a lot of rounds of checking and making sure you got what you wanted in terms of the look and feel of the site.
posted by rmless at 12:24 PM on December 6, 2011

I'd choose a platform (Drupal, Wordpress, ... ) and look for a developer for the platform. These products have very large communities, and people tend to be passionate about them, which usually means they know (or want to learn) how to work with all the things you mention (except mobile apps). The other benefit is that these products have an endless supply of modules for interfacing with external APIs.

I've been into HTML+CSS coding for many years, but the time for hand coding pages has passed. Professional sites use CMSs.

Mobile app development is a whole 'nother thing, though. Yeah, the average developer could do it, but it may not be great -- this is where a professional designer should be heavily involved.
posted by coolguymichael at 12:42 PM on December 6, 2011

« Older Really warm socks?   |   Fruitcake. Bleh. Newer »
This thread is closed to new comments.