Selecting a Software Developer
Question
I am about to hire a software developer to work on a new web-based business I am launching. Any tips for how I should approach this?Answer
Because you are developing a web-based business, the software infrastructure, how it is built, and what code it is written in, is a very strategic decision. Be sure to think through everything thoroughly.
Rule #1: Determine your business strategy prior to determining your technology strategy. Be sure to nail down exactly what you are trying to build in terms of your business value proposition first and then you can determine what the supporting technology strategy should be. For example, if you are merely putting up a blog, there is very little strategic value in one blog technology over another as long as the blog software meets your basic needs. However, if you are building a sophisticated e-commerce site with very specialized capability and work flows that you need to be able to dynamically change, your technology infrastructure is of high strategic importance to you.
Rule #2: Determine your technology strategy prior to selecting the technology talent. If you do it the other way around, you will only get what the techie knows how to deliver and your website will be subject to all of his biases. Learning new programming languages is hard and technology talent abounds, so don't get this backwards. It's tempting to hire your best friend who knows language X, but if your strategy is better suited by language Y, you will be in trouble. Your technology strategy will likely consist of infrastructure strategy and language strategy:
In terms of the infrastructure strategy, your choices are as follows: 1) build from scratch; or 2) assemble pre-made widgets, modules, components or use entire packages that are already built. The more strategic and the more differentiated your process flow needs to be on your website would tend to push you towards building your own, while the more generic an infrastructure component, the more you should tend towards pre-built components. Don't let some techie talk you into doing what he knows how to do, you as the entrepreneur need to make this decision.
In terms of the language issue, this will be influenced heavily by the infrastructure strategy you made above. For example, if your basic infrastructure strategy is fairly generic and there is a great out-of-the box Microsoft-based program that carries a low license fee, you are already headed down the Microsoft aisle, but that's just fine. Your two high-level choices you need to make on language are as follows: 1) open source; or 2) Microsoft-based. Both have their upsides and downsides and most developers are adamantly in one camp or the other, so choosing language based on strategy and not whatever your friend knows is key. Realize that because technology is changing so fast and because the tools sets are getting better all the time, whatever you do will cost you more today than it will tomorrow. In other words, what costs $100K to assemble today will likely only cost $50K next year because by next year, so many more tools such as Software Development Kits (SDKs), widgets and mash-up components will be available. Weigh this against your need for speed in terms of your business plan. Also, be sure to pick tools and languages that are likely to survive over the years so your website doesn't get stranded. Do this research on your own and do not rely on your friend that wants you to hire him. Case in point: Google just rolled out a new that is likely to be a category killer over time in terms of web hosting, web infrastructure and application development. It is too new to tell, but if I was to give a young techie just starting out advice on what type of languages and tools to learn, I would point him towards the . It's a play to make Google the complete web operating platform using open source SDKs at absolutely no cost. Pretty hard to pass that up.
Rule #3: Write a detailed specification yourself prior to actually hiring your selected technology expert. The detailed spec will help you accomplish a couple of important things:
- It will help you clarify for yourself exactly what you are trying to accomplish
- It will help the techie determine how to size, scope and price the project (and whether or not he can even handle it)
- It will save you an enormous amount of time and money by communicating in detail, up-front, exactly what you want
Rule #4: Hire a technology expert that has experience building very similar functionality using the very same tools. This is no time for you to pay a techie to learn on your dime. He needs to come to the table fully-equipped to do exactly what you need with exactly the right tool set. For some tips on finding the right talent, see the Finding Good Technology Talent post.
- April 24, 2008
- Technology
- Ask a New Question
Please login to post a comment.
Member Log In
Register Now
Register now to gain access to all of the resources available on our site. Basic membership is free!