If I have seen further, it is by standing on the shoulders of giants. – Isaac Newton
I’ve been watching programmes about Fog Creek Software on Amazon Prime recently – one called Make Better Software and the other called Aardvark’d.
They offer a glimpse into how a real software company works – something that most of us never get a chance to see.
They also led me to the blog of the co-founder, Joel Spolsky, and his thoughts on software development.
It’s not really updated these days but given he started writing in 1999 you can’t really get too upset about that.
Especially when you stumble on some quite interesting ideas pretty quickly.
Take this essay on icebergs, for example.
Most of us know bosses and managers who believe that you must have a specification in place before you do anything.
This point of view is not limited to bosses, however.
Many people also say they can do anything you want as long as you tell them exactly what you want.
The problem is that most people don’t know what they want.
What almost everyone can tell you, on the other hand, is what they don’t want.
It’s funny how the things we want to avoid come to mind so much more easily than the things we want to have.
So the smart person, according to Joel, gets that customers will never know what they want.
Instead, you have to build something that they can look at and tell you what they don’t like about it and what they want changing.
Another insight has to do with people on your team.
It’s tempting to think that everyone around you has to do something technical.
But the reality of most businesses is that only one or two people really need to be that technical.
And that’s because once a problem is solved using software or a system is created for a customer the jobs that are really needed are ones that focus on helping them.
If you’re going to build a company, in the beginning you need people who know stuff and can build stuff.
But pretty soon you need people who can bring in customers and keep them happy.
And that’s actually going to be the bulk of your workforce.
It’s tempting to think that you can make lots of money by outsourcing that work to someone else.
But the chances are that’s a mistake – technically and financially.
It’s not going to save you as much as you think and, if you’re going to be a customer, we already know that you don’t know what you want.
The lesson hidden in all this is really that working for someone else is hard to do.
It’s much easier creating a product and saying do you like this.
And you can do that even if you have a job.
You can wait to be told exactly what to do.
Or you can have a go and create something new and then see what the reaction is.
And if you keep doing that one day you’ll make something that the people who make decisions like and you’re on your way to creating a job or a business where you’re in control.
But it all starts with having a go and building something on spec – with the hope that it will be useful to someone else.