One one end, this is fuelled by the availability of many mature open source frameworks and tools, along with the proliferation of services running in the cloud. These tools and frameworks make it possible to spend very little money to start building fairly complex products. (Why, today it is even possible to write and compile code in the cloud).
You would think that running those products would be costly, but public cloud infrastructure services like AWS, Rackspace, Joyent or Azure, or platform solutions like Elastic Beanstalk, Heroku or Google App Engine are proving otherwise — they allow anyone to host complex and scalable SaaS and similar products without purchasing expensive server hardware and hiring experienced IT staff to manage the infrastructure.
The end result is that anyone has a go at their product idea, which is awesome. The more ideas are being tried the more innovative products will become available and further push the boundaries of what we can do with technology. But there is one problem with this picture. Cloud computing may make it appear as computing resources are infinite, but code is written by people and people, particularly those with the experience you need for your product are not infinite.
Valuable skills are costly and hard to come by. Most startups can’t afford to hire the best and most experienced engineers and managers. Instead of throwing money at their staff, they focus on incentives designed to give people ownership (e.g. shares or stock options) and they put a lot of effort in building a culture that resembles a family and makes working together fun and exciting. They also take a lot of risk on unproven cutting edge technologies as smart people like to work on them.
The problem with this is that mistakes are proliferating and technical debt is created in loads. The lack of experienced technical architects and people who know how to productize and deliver an idea into a working software makes it hard to predict or understand the unknowns until too late. Product quality and attributes like reliability, scalability or availability are either trusted to inexperienced developers and QA playing the role of part-time IT or assumed to be built into the cloud platform of choice. In an environment in which things are easy to prototype and push to customers, no one is accountable for the long term impact of the immediate decisions.
Luckily, I think there is a solution to this and it doesn’t require loads of money. While certain skills are essential and core to the startup to build successful products, I have come to realize that some architecture and management functions can be brought into it on an as-needed basis. By seeking for part-time consulting from highly experienced people who’ve been there, done that, it is possible to get a share from their experience at a fraction of the cost you would need to pay if hiring them full time.
The added bonus to your organization is that you’re free to focus on building the company culture you want as these people won’t influence it much, being external to your organization. It also lets you use those consultants to mentor your own people and help you grow their experience and career so they are able to take on the challenges of a growing business – a very valuable asset that allows you to go through bad times thanks to the loyalty of your team and push hard to reach the next level thanks to their passion for the product.
The community of startups around you benefits too as you are able to share the same CTO, CIO, technology architect, etc. and go around the problem of finite experience in the pool in which you all belong. This gives those consultants a chance to help you avoid certain problems someone else in the community have run into before you and it increases the chances to improve collaboration and knowledge sharing between businesses, strengthening the startup culture around you and attracting more entrepreneurs to join the hub.
In my consulting, inadvertently at first, I have been doing exactly what I am trying to inspire with this article. I personally love being able to add value to a number of companies at the same time and help them build the great products they strive for, improve the technology processes their organization needs to continue growing and removing impediments blocking progress. I am now on a mission to meet more people who are dedicated in doing similar work and those I found so far share the same passion for helping others succeed as me.
If you are able to identify yourself with the title of this article, I would love to hear from you. If you are a startup looking to hire a CTO, CIO or similar, I hope I made you think about the part-time pay-as-you-go approach and aim for someone with a strong experience and passion to help. The cloud computing has changed the way we use and pay for computing resources – there is no reason why we can’t do the same with skills and experience.