10 is more than 5. Hiring a great developer for 10 a month costs twice as much as hiring a good developer for 5. Maybe you’re not building the next Google. Maybe you’re not working on processing petabytes of CERN experiment data. You probably don’t need a genius to write the code of your application. You hire the good one and pay less, then end up paying way more.
It’s not what you pay them, it’s what they cost you.
A good developer will write a good, simple piece of code that’ll work for your purpose. Then your business will change – expand, contract or simply shift – and the application will need to change. The good developer will comply and patch her original work to fit the new purpose. The cycle will continue, but with every change your developer will more often use words like “impossible”, “limitation” and “revamp”.
You will hear that the system was built for the original purpose some time ago. It now cannot handle the things you need it to handle. It needs to be built anew. How much will it take? One year. Two years. Forever.
The good developer’s design was limited by his abilities. It didn’t use the advanced, abstract features of your technology of choice. It did the job in the simplest way possible, without much thought put into later development. All the things a great developer would have planned for and done.
The good developer’s work cost you hundreds of thousands or millions in:
It’s not what you pay them, it’s what they cost you.
The insane part? It’s the reality at most companies these days.
Being in a startup means going to startup events to meet other startups and talk about startups. You may think of a “startup” as two guys working feverishly in a garage and suddenly dropping the bomb of a revolutionary new product onto the unsuspecting world. But what I saw is best summarized by a friend’s comment: “have you actually seen them ship anything?”
Business is about earning money, and you do that by delivering something of value to a customer. A “customer” is, by definition of a befriended accountant, “someone who paid.” Startups, in order to be legitimate businesses, also need someone to pay and they indeed find such people. They’re called venture capitalists.
Now, before you start sending me examples of startups actually delivering something and getting paid for it, I assure you I’ve seen them. I just wouldn’t call them startups. You won’t meet their founders on most startup events. You can meet them at work, when they’re not meeting their customers, or spend quality time with their cherished families. They’re just plain, old businesses.
The market for something to believe in is inifinite. I haven’t seen any better evidence of this being true, than during yesterday’s finale of Startup Weekend Warsaw. The team with the most daring, creative, inspiring idea for a project won by a landslide and swept away half of the numerous prizes. Business played second-string.
Some people were clearly dissatisfied with the outcome. Perhaps rightly so, perhaps not, but the truth is that an event of this type isn’t about building a business. You can’t build anything of quality and value in a 48-hour, caffeine-laden, sleep deprived, headlong running weekend. You are constantly distracted, overworked, haunted by the ever closer deadline, so as a result you cut corners – lots of them, just to be able to show something, anything in the end.
You can achieve two and only two things, really:
Running a business requires True Grit. Precisely the like of sheriffs in the old days of the Wild West. Staying atop an angry bull for 8 seconds will make the crowds cheer, but how about trying to catch that bull when he’s out in the wild? And what if the bull doesn’t care? “Being in business means fighting obstacles, one after another, EVERY SINGLE DAY” (via @ForPiter) is the smartest thing I heard over the last weekend and it’s something that all participants will eventually learn, if not from others’, then from their own experience.
I saw that kind of persistence in Justyna Goławska of TradycyjneJedzenie.pl and Przemek Białokozłowicz of CAREgiver who pursued their projects despite having little popularity among the crowds. I raise my glass (of coffee, for now) to the underdogs.
Try, fail, adjust, go back to step one. So it goes on until failure turns into success or you get bored and leave to do other stuff. Such is business. It’s extremely rare that an original idea becomes immediately successful. Most ideas go through an iterative process of trial and error and the end success comes from a sometimes completely different idea than the initial one.
Take the Confected application that we are building. We set out with certain expectations, built and tried it out during this year’s TEDxWarsaw. Some of the expectations were correct, some were utter failures. We collected all the lessons and went back to our workshops to adjust the project. Meanwhile, while we’re talking to other conferences about setting up the application for them, we often stumble upon ideas for the application that are significantly different from the direction we’re pursuing. And our success relies upon whether and how we’ll take those offshoots into account, because as they say, climbing a ladder faster won’t help you if it’s placed against the wrong wall.
So when you consider any Agile methodology for software development, irrespective of whether that’s Scrum, Kanban or any other funny name, they’re nothing else than a business approach to engineering. You correctly assume that you’re unlikely to get it right the first time, so you try, fail, and adjust. You collect feedback and put it right into production, often completely changing the original designs.
It’s a way of working that’s quite familiar to business people but often strange to programmers. “But the specs said nothing about this!” Indeed they haven’t, but our knowledge of the world changes (or the world itself does) and refusing to adjust is asking to become evolution’s prey.
If a development team is the heart of an IT firm, then the sales team is its face. The eyes that scan markets, the mouth that speaks about products, ears that listen to customers and the nose that sniffs for opportunities and problems. There are successful companies with great sales and lousy technology, while marvellous technologies with bad salesmen perish quickly. Why would you want to operate your business without a face?
The first thing you’ll find out when trying to work in sales is that it’s hard. It requires constantly exposing yourself to rejection, ignorance, abuse and a lot of pressure. You get targets, which are strictly bound to your salary and therefore living standard, if not survival. Then if one-on-one meetings with customers weren’t bad enough, you have salesmen from other companies competing for the same dollars you’re trying to collect. Why not help yourself? Let another entity do the sales for you:
Pretty nice, isn’t it? With sales out of the way all you have to deal with is working to improve your products.
Truth is you’re not making the products for the fun of making products. Well alright, you do, but only after you deliver them to someone who’ll value them more than the money they’ll give you in exchange. Since you’re making products for others, you probably want to be in touch with them often, so that you get plenty of feedback.
Now, who knows your product best? Who cares the most about your product? Certainly not the commission-based salesmen. They’ll know what you’ll tell them, which is a small subset of what’s available. They’ll have products from different vendors, so if yours doesn’t fit, they’ll choose another. No feedback, no chance for you to adjust, improve and deliver. You cut yourself away from the very source that feeds you, both with new ideas and with cash to keep running: your customers. Think well before you choose that path.