Java, Technology

Outsource the Scaffolding

Just today, I twittered a link to an insightful blog post, “Here’s the Deadliest Catch: Hiring an Agency to Build Your Startup”.  The title is largely self-explanatory, and I may blog my own riff on it at a later date.  Digg is often raised as a counter-example to outsourcing development of a startup, with version one developed for $200.  So how do you decide what the right balance is for you?

Ruby on Rails has this concept of “scaffolding“, which makes it trivial to get a simple web application running to perform create/read/update/delete operations on a simple business object.  So if you wanted to build a basic address book, Rails could basically create that application with a one line scaffold generate script.  It produces a simple web interface, and handles all of the database calls for you.  Java code to accomplish the same task is typically more verbose, but even if you wrote it from scratch in any language, it would be fairly intuitive for an experienced developer with no knowledge of your business to immediately understand the app and how to extend and maintain it.

At some point, almost any app becomes more complex.  The current version of Digg could not be developed for $200, and I dare say it would be foolish for someone like Digg to build an application of its current complexity completely contracted out.

I’ve been in startups all along the continuum, and made transitions between different mixes of internal versus external product development and infrastructure.  My current opinion is to outsource the scaffolding.  If you’re deploying a java/tomcat/MySQL app on a plain vanilla linux distribution, you can probably have a contract sys admin put that together for you – any other competent admin can look at how it’s configured and fix your problems.  When you start depending on all sorts of custom extensions, configurations, replication, huge scale, and/or DB sharding, it’s probably time to hire some admins that can own that custom knowledge you depend on.

The same thing goes for product development.  Are you building out a marketing web site?  An app that could be built with Rails scaffolding?  Contract it out – good contractors will realize how easy it is and crank it out for cheap (though maybe more than $200).  Most capable software developers you would hire or have hired don’t want to build or maintain that stuff anyhow.  Save internal development for the custom, proprietary stuff you need to spend time on, the meat and potatoes code that differentiates your application from everybody else’s.  The stuff that will take even a good developer more than a couple of hours to really comprehend.  Start throwing the switch to internal resources when it starts to get complicated – you’ll be much happier.  Trying to insource knowledge of a complex application that’s already been written by someone else is doable, but quite a challenge.

Advertisements
Atlanta, Java, Technology

The Next Episode

Back in March, I reached a decision to leave WeTheCitizens and spend some time in a contract role with Premiere. At the time, I expected that a contract gig would let me spend less after-hours time thinking about the day job, and more time on side projects and other interests. It turns out that even as a contractor, I cared about what I was working on. I consider that a good thing, we built up a good team, cranked out some pretty cool software, met some awesome people – I truly enjoyed my time at Premiere. The challenge for me on contract, was balancing life with billing more hours. In some ways, having a dollar amount directly attached to each hour of your time helps you better value your time. In other ways, it’s easy to imagine how working just a few more hours that week can earn you a shiny new gadget.

In spite of that, I was able to hatch FeatureFrame during my off-hours. It did occupy much of my creativity, and the process of building a product prototype, a pitch for Startup Riot, filing a provisional patent, designing a logo and business cards, and creating an actual business entity has been exciting, challenging, and in a twisted sense, fun. Many thanks to my Twitter posse, who often functioned as my co-founder, providing feedback and helping with decisions where I needed more than just my opinion. No I do not have stock options for any of you. Some interesting FeatureFrame news may yet be around the corner. It is still an interest and a passion of mine, and it will live on, but it’s not quite ready to be my main job.

The other thing I suspected when I left WeTheCitizens was that there were some interesting opportunities out there that weren’t crossing my inbox either because they were being filled by recruiters we’d used at WeTheCitizens, or because people generally seem to have the (often correct) impression that an executive in a startup isn’t really looking for another opportunity, at least until the startup’s been bought/folded and the earn-out is done. Being on contract actually did seem to send a clear signal, “Hey, I won’t be doing this new gig for too long, and I’ll need something interesting to do after that.”

A few moderately interesting things came and went, but one opportunity stood out, and I’m now a few weeks into my new role with Good Egg Studios. For all the times we jabbed at one of my Premiere colleagues for his work on Barbie.com, I never thought I would be working to build a virtual world for kids.  But here I am working on Elf Island.  A glance at the site and the blog should begin to make it obvious why.  This is an amazingly talented team, with the right marketing, the right funding, and the right product at the right time. The creativity and talent of the creative team is off the charts, and has combined with some talented technical resources to build a virtual world that a generation ahead of what kids are currently using.  The $2 billion valuation of Webkinz and Disney’s $700 million acquisition of Club Penguin are both examples of companies who have made this space extremely profitable.  The “secret” of Elf Island and our “play games, do good” mantra (which allows users to directly help non-profit causes) are going to be very sticky features that I think kids and adults will enjoy (even before launch, we’ve already had eager & hopeful users build us a fan site).  Our office space in west Atlanta is a win both for commute and for awesomeness – I need to take some photos, or come by and visit some time.

So that’s the news.  We are hiring a Java developer, a Flex developer, and a technical project manager (dev mgr?), so if you are somebody or know somebody who would enjoy such a role, do let me know.