In the second part of our series on bringing a product to market Fergus Hurley discusses the role of developers in the development stage. He has been, and still is, heavily involved in the development of Clixtr and PicBounce. The first question we put to him is, “Where to start?”
“With development it is crucial to pick your technologies first and stick with them. There are a lot of frameworks for building these web application and when you pick a framework you are by association picking a language that most of your applications are going to be built with. Your developers are going to need to know that language.
“Ruby on Rails is very popular right now and that is one that we use. It is a great framework to get you up and running.
“The main thing now with web applications is that there are a lot of libraries available and APIs and gems which is the word they use in Ruby for pre-coded packages that you install in your application. The advantage is that you can leverage this code that other people have written and not have to do it all yourself.
“So the first question is, “What frameworks am I going to use?” The framework is tied to the language but also tied to the gems that are available for what you are trying to do.
“If you are trying to do location based stuff then Ruby on Rails has some gems that you could use but Python has a lot as well. Python is the language that is used in Google. They are pushing out a lot of stuff and they will be pushing out even more so that is something to take into account.
“Python is the number one priority language for Google and the framework for building applications in Python is Django. So, if you want to work with their service you will have to build your application in Python.”
How much code does an entrepreneur need to know?
“As with design the entrepreneur needs to understand development as well. They need to be able to look at the code and ideally, be able to write some code themselves. If you look at most successful web companies like Twitter and Facebook, most, if not all, of the founders and early employees were able to do development themselves.
“However, development is not rocket science and people need to start learning the development process themselves. I would say the first step is to learn Ruby on Rails and before that you need to learn to use the Ruby language. To be able to use Ruby effectively you need to learn how to program. Those are steps of the process of learning to code.“
If you are not a great developer yourself then how do you find one who is?
“Finding brilliant people is always the hardest part and finding great developers is extremely difficult. Your first step would be to ask your friends. Ask them who they worked with in the past that has been brilliant and that might be able to work on some stuff.
“What I found that has worked well for us and has worked well for a lot of friends is to attend a lot of these developer events like Hackathons and work with some developers there.
“Maybe the entrepreneurs might not be brilliant developers themselves but they get to work with these developers and they can get to really see who are the best ones. Then they get them to work on some side project with them and then over time they become full-time people.
“You really have to network to get the best developers in the world and they are really hard to get.”
What are the cost factors to look out for in development?
“The cost of development has gone way down which means that your cost of development is your developer. With Amazon services you can be up and running in half an hour with a full website and a full hosting environment on a dedicated server if that is what you want. You can scale it up and down with a click on your computer. You don’t have to pay for the licences and servers and so on.
“A really awesome developer, like a really awesome designer, can do way more in a short space of time then a newbie who doesn’t know anything. If someone has built an application that is very similar to your one before then they will have made a lot of mistakes along the way. So, when they build it the second time, the third time, the fourth time, they are going to be way more efficient and know which mistakes to avoid.
“Most of the time-sinks in development are when you don’t know the solution to the problem that you are trying to solve. You have to spend hours googling, going to stack overflow, going online to Quora and other different websites, messaging your friends, messaging helpdesks and so on, trying to find an answer. A great, experienced developer can help you bypass a lot if not all of that.”
What should we keep in mind for the future?
“Development of web applications has got much easier over the years but building mobile applications is really where there is a huge shortage of developers and there is going to be a lot of opportunities there. A lot of developers are going to be moving over to mobile because every company in the world is going to need to have a mobile presence.
“In the web and development space that we have right now we are not really solving that many hard technical problems. I think we are entering a transitionary stage on the web where it is now about design. However, in a couple of years time the development will become more advanced and much more important again.”
You can watch Fergus give a talk on design, development and delivery from his presentation at BlogTalk 2010 in Galway last year.