by Daniel in New York
Perhaps you're wondering how Eric managed to pay my salary. I certainly worried about it. After all, the little equity he had in his tiny Manhattan apartment would not keep us afloat for long.
Now, some startups are born with $100 million in the bank. They take on the business world by storm. Perhaps you have a scene in your mind as to how these startups are conceived. A budding young entrepreneur wraps up his business pitch standing in front of the overhead projection of an upward trending line-graph. A sparkle hits his eye at the exact moment he concludes. The lights come on. The VCs stand up, applaud, shake the entrepeneurs' hand. They'll pause for a photo op with a $100 million novelty check. Cameras flash. It's an American success story, really, a testament to what one can achieve with simply the power of their ideas.
Social Darwinist was not one of those startups. Social Darwinist has been fighting and clawing for funding since day one and the battle still rages on. Before the VCs enter the picture the startup's cash lifeblood comes from a much less orthodox investor classes: family, friends, and fools. These "three-F" investors are otherwise known as angel investors.
You know the conventional wisdom about (NOT) going into business with family? Well, that gets handily ignored when the CEO is desperate. Family's the first to hand over money when your ass is really on the line. A really close-knit middle class family can be counted on for $5-10k each. Your parents may kick in $50k if you're the upper-middle class type. Friends will do about the same, but without a genetic bond to hold you two together don't expect them to kick in nearly as much.
The last class, fools, is a bit of misnomer. If you're a gifted salesman you may be able to lift a significant amount of money from old pensioners. Unfortunately, the non-friend non-family investors in your company are anything but fools. They're more like mercenary VCs. They come in for amounts between $10-250k. What kind of person invests $250k in a strange startup? It's definitely not going to be a millionaire.
To a millionaire, $250k is nearly a quarter of their net worth. Have you ever met anyone who is comfortable gambling with 25% of their net worth? I have, but only because 25% of their net worth ended up totaling to $27.50, not $250,000. To get their hands on that kind of money, CEOs of startups need to angle for fish who are comfortable looking at $250,000 and fully accepting the real possibility that they'll never see it again.
These angel-fish come in three flavors:
* "Uncle" Ted. He's an entrepreneur just like the founder, except he's actually had success. Investing in the startup is sort of his way of reliving the thrill of his youth. He'll be a sage advisor and friend to the startup. When you guys make the exact mistake he warned about, he will be there not to say "I told you so" but to pat you on the back and tell you everything's going to be OK.
* Ruthless Tycoon. This guy might know what your business did if they listened to you finish your pitch. Instead, they'll express interest, leave the room, and summon their level 50 attorney equipped with Briefcase of Fury to close the deal. Their attorney will then proceed to savage your startup in ways you never thought possible by reams of paper. After the deal closes, the worst part is yet to come. Months, maybe years will pass without so much as a peep from Tycoon until one fateful day, when the startup is at its weakest, Tycoon's attorney reappears to strike maximum damage. You are wounded fatally. You die. Figuratively speaking. What actually happens is Tycoon gets cut in on more stock, or a better stock class, or whatever other punishment the trap his attorney set for you years before demands.
* Eurotrash Playboy. He was born born rich, wears all Adidas, and tours the world looking for A) girls to lay, and B) startups to invest in. Eurotrash Playboy demands regular status meetings but offers little in the way of constructive insight or criticism in how to run the business. In total, these guys work against their own financial interests by forcing the founders to indulge their ego-trips when they could be spending the time on meaningfully growing the business. The Eurotrash Playboyis optionally accompanied by a Mr. Smithers which handles all of the dirty laundry related to point A.
With funding secured for the next 3 1/2, 4 months tops, it's time to start building: The Prototype.
Wednesday, July 23, 2008
Saturday, July 19, 2008
Contractual Obligations
by Roger in California
Never have non-technical people enter and sign agreements or services contracts with technical vendors. It's basically the worst idea in the world. You never want anyone who can't read code vetting a contract with these kind of people because they're the bastard offspring of sharks and vultures and will absolutely rob you if you don't know what's going on. All of their lawyers have technical backgrounds and their service obligations are defined by ex-engineers. They're playing for keeps.
And by "read code" I mean any kind of code - legal code, accounting code, building code, computer code, an engineering calculations sheet, it doesn't matter. The vast majority of individuals that have never had to deal with rigorously defined language or numbers will simply not know how to interpret it or synthesize their own. They will scan. They will browse. They'll get the gist of it. They'll do everything but actually read the damn contract and think about what it's actually saying.
I'll give you an example to set this context for you a little bit. Here at Well Funded Startup Corp we have a hosting contract with a company that I won't mention. Actually, yes I will, it's Rackspace. Everybody's favorite Texas colocation company. Anyway, we have a hosting contract with these people that was "negotiated" (I'm using this term loosely) by the former COO. To get an idea of how terrible this contract is, just think of the worst case scenario, and then scale up all the cost and acceptable downtime parameters that pop into your head by one order of magnitude.
* Over $1000 per month per server. Single Xeons with 2GB of RAM and no RAID. Read that twice and let it sink in for a second. We have more than 10 of these matchboxes sitting in a rack somewhere. We've already paid the cost of these machines almost 10 times over, by my estimates.
* No direct access to load balancer or firewall. We have to file tickets with their "fanatical support" technicians to do things like block spam-generating subnets.
* No internal backhaul network. Yes, that's right, our database traffic and internal traffic (version control checkouts, file transfers, etc) were going out on the same ethernet interface as our web traffic. You can imagine how confused we were when we first installed a graphing package to monitor inbound versus outbound traffic. Which brings me to my next point:
* No monitoring solutions. If you don't specifically request it, rackspace doesn't provide you with so much as uptime monitoring. If your machines go down... good luck. Hope you're by a computer.
* Arrogant technicians. Have you ever had an MSP's technician login as root on YOUR server and start moving things around? No? Well, you haven't had the pleasure of being at Rackspace then. How they actually did this is beyond me. It wouldn't surprise me in the least to find out they are running backdoored kernels.
* 10 days grace period for "issue" resolution. That isn't a typo. Our servers could explode, or some dimwit cagemonkey could drop his screwdriver into our web cluster's power supply, and we have no legal recourse as long as they bring it back before the 240th hour. Two hundred and fortieth. Hour. This nice little clause pretty much puts you at the top of the list for:
* Atrocious support. We requested that they upgrade a disk controller on a file server and they gave us a service window. 30 minutes later, the machine is still down. I had to call them three times before they finally admitted that the tech had "grabbed the wrong card" and had to run back to the depot to grab the right one. Meanwhile, our machine sat powered off outside of the service window. Unbelievable.
At this point you're probably saying: even the nightmarish task of migrating data centers isn't worth bad service, 10 days of downtime, and outrageous costs every month. Well, of course you'd say that, because you don't know about the big fat cherry on top of this delicious cow dung pie:
* Contractual lock-in. Yeah. 24 months. Inquired about the enforceability of this clause through legal of our parent company and they told us we were pretty much screwed.
If you've ever negotiated a really good deal on hosting and wondered "How the hell do these companies make money?", wonder no longer. They make money when idiots with zero technical background call them up and ask for a sweet hosting deal after clicking on the stupid ad they saw on Ziff Davis or wherever the hell. The "good deal" customers subsidize the bulk purchase costs for hardware and energy so they can take advantage of the "bad deal" customers. This is how the hosting business works.
I'm pretty sure when sales guys get these accounts on the phone they immediately reaches into the "for idiots" contract pile and start thinking about what they're going to do with his $5k commission. That goes a long way in Texas.
Never have non-technical people enter and sign agreements or services contracts with technical vendors. It's basically the worst idea in the world. You never want anyone who can't read code vetting a contract with these kind of people because they're the bastard offspring of sharks and vultures and will absolutely rob you if you don't know what's going on. All of their lawyers have technical backgrounds and their service obligations are defined by ex-engineers. They're playing for keeps.
And by "read code" I mean any kind of code - legal code, accounting code, building code, computer code, an engineering calculations sheet, it doesn't matter. The vast majority of individuals that have never had to deal with rigorously defined language or numbers will simply not know how to interpret it or synthesize their own. They will scan. They will browse. They'll get the gist of it. They'll do everything but actually read the damn contract and think about what it's actually saying.
I'll give you an example to set this context for you a little bit. Here at Well Funded Startup Corp we have a hosting contract with a company that I won't mention. Actually, yes I will, it's Rackspace. Everybody's favorite Texas colocation company. Anyway, we have a hosting contract with these people that was "negotiated" (I'm using this term loosely) by the former COO. To get an idea of how terrible this contract is, just think of the worst case scenario, and then scale up all the cost and acceptable downtime parameters that pop into your head by one order of magnitude.
* Over $1000 per month per server. Single Xeons with 2GB of RAM and no RAID. Read that twice and let it sink in for a second. We have more than 10 of these matchboxes sitting in a rack somewhere. We've already paid the cost of these machines almost 10 times over, by my estimates.
* No direct access to load balancer or firewall. We have to file tickets with their "fanatical support" technicians to do things like block spam-generating subnets.
* No internal backhaul network. Yes, that's right, our database traffic and internal traffic (version control checkouts, file transfers, etc) were going out on the same ethernet interface as our web traffic. You can imagine how confused we were when we first installed a graphing package to monitor inbound versus outbound traffic. Which brings me to my next point:
* No monitoring solutions. If you don't specifically request it, rackspace doesn't provide you with so much as uptime monitoring. If your machines go down... good luck. Hope you're by a computer.
* Arrogant technicians. Have you ever had an MSP's technician login as root on YOUR server and start moving things around? No? Well, you haven't had the pleasure of being at Rackspace then. How they actually did this is beyond me. It wouldn't surprise me in the least to find out they are running backdoored kernels.
* 10 days grace period for "issue" resolution. That isn't a typo. Our servers could explode, or some dimwit cagemonkey could drop his screwdriver into our web cluster's power supply, and we have no legal recourse as long as they bring it back before the 240th hour. Two hundred and fortieth. Hour. This nice little clause pretty much puts you at the top of the list for:
* Atrocious support. We requested that they upgrade a disk controller on a file server and they gave us a service window. 30 minutes later, the machine is still down. I had to call them three times before they finally admitted that the tech had "grabbed the wrong card" and had to run back to the depot to grab the right one. Meanwhile, our machine sat powered off outside of the service window. Unbelievable.
At this point you're probably saying: even the nightmarish task of migrating data centers isn't worth bad service, 10 days of downtime, and outrageous costs every month. Well, of course you'd say that, because you don't know about the big fat cherry on top of this delicious cow dung pie:
* Contractual lock-in. Yeah. 24 months. Inquired about the enforceability of this clause through legal of our parent company and they told us we were pretty much screwed.
If you've ever negotiated a really good deal on hosting and wondered "How the hell do these companies make money?", wonder no longer. They make money when idiots with zero technical background call them up and ask for a sweet hosting deal after clicking on the stupid ad they saw on Ziff Davis or wherever the hell. The "good deal" customers subsidize the bulk purchase costs for hardware and energy so they can take advantage of the "bad deal" customers. This is how the hosting business works.
I'm pretty sure when sales guys get these accounts on the phone they immediately reaches into the "for idiots" contract pile and start thinking about what they're going to do with his $5k commission. That goes a long way in Texas.
Startup.com
by Daniel in New York
Twenty-three incidents have been assigned to me between when I left last night and when I stumbled into the office today at the crack of noon. The CEO's wife is loudly scolding him in front of the entire office, again. The mission-critical database server reboots unexpectedly for the third time this week. This time it doesn't come back up. I fight to find a comfortable position in my hand-me-down office chair. I fail. At that moment it occurs to me that my chair captures the very spirit of the entire company: super cheap and gets the job done, sort of.
The chair is super cheap (in this case, free) and gets the job done, sort of. Sure, I might need back surgery in a few years but the worker's compensation lawsuit is a risk that the CEO is all too willing to take. The PC workstations? They're underpowered when they come out of the box which is to say making them last 3 years will be interesting. Sure, the time wasted by employees twiddling their thumbs waiting for their computers to catch up may outweigh any benefit of the lower price tag, but that's a risk management is all too willing to take. The walls? Painted by the CEO. You can't beat the price and the walls got covered with paint, sort of.
In my survey of the office I am snapped back to the moment by the sight of all of the worried faces staring at me. Why are they doing that? Oh, right. The mission-critical database crash. That is, unfortunately, my group's responsibility. I get down to work with a sigh, wondering how the hell I ended up here.
* * *
It's three years ago on a cold day in December. I had just quit my job working for the coke-fiend only two months prior and was doing odd-jobs until something piqued my interest. Having spent several months working from home in the nude, I thought performing these odd-jobs in a suit and tie would be an exhilarating change of pace. My clients were quite perplexed. I looked unusually professional for a computer consultant.
During lunch I hop onto the McDonalds open WiFi and stumble across a craigslist.org job posting. It says "Mobile Developer Wanted for Technology Startup." A technology startup? In New York City? Mobile technology, like cell phones? Intrigued, I send my resume. Less than five minutes later I get a response and less than two hours later I'm interviewing at Eric's apartment for the job. I didn't even have time to change out of my suit, which left him with the same equally perplexed expression as my morning clients had. I looked unusually professional for a computer guy.
Eric's Flatiron apartment must measure an entire 800 square feet, which is to say it had to have a fair market value of one million dollars. Enjoying a cup of nothing which Eric didn't offer, I learn all about Eric's dream of creating a fledgling technology company and growing it into a multi-national corporate empire. His plan is to fund this company by taking out a home equity line of credit against his million dollar apartment which had appreciated considerably during the housing bubble following the dot-com crash. In addition to his apartment, his friends and family were going to invest some angel funding too, a few thousand bucks at a time.
The dream is Social Darwinist, the premier social networking application designed for your mobile phone.
The office is his living room.
My job is developing the software that makes this dream happen. My reward will be shares of the company which, while worth little now (zero, actually), will appreciate into millions as the company explodes into an empire.
Eric offered me the job the next morning and I accepted the next evening. I had a mountain of reservations. What happens if this company flops? It almost definitely will, the success rate for startups is not great. Eric's house is on the line, how is he going to keep a level head through all of this? His friends and family are going to meddle with his business for sure. His girlfriend Leona, what's her role going to be through all of this? On the other hand, I had missed the first dot-com boom and was dying to see what life was like from the inside. I may as well give it a try. I mean, how bad could it be?
Twenty-three incidents have been assigned to me between when I left last night and when I stumbled into the office today at the crack of noon. The CEO's wife is loudly scolding him in front of the entire office, again. The mission-critical database server reboots unexpectedly for the third time this week. This time it doesn't come back up. I fight to find a comfortable position in my hand-me-down office chair. I fail. At that moment it occurs to me that my chair captures the very spirit of the entire company: super cheap and gets the job done, sort of.
The chair is super cheap (in this case, free) and gets the job done, sort of. Sure, I might need back surgery in a few years but the worker's compensation lawsuit is a risk that the CEO is all too willing to take. The PC workstations? They're underpowered when they come out of the box which is to say making them last 3 years will be interesting. Sure, the time wasted by employees twiddling their thumbs waiting for their computers to catch up may outweigh any benefit of the lower price tag, but that's a risk management is all too willing to take. The walls? Painted by the CEO. You can't beat the price and the walls got covered with paint, sort of.
In my survey of the office I am snapped back to the moment by the sight of all of the worried faces staring at me. Why are they doing that? Oh, right. The mission-critical database crash. That is, unfortunately, my group's responsibility. I get down to work with a sigh, wondering how the hell I ended up here.
* * *
It's three years ago on a cold day in December. I had just quit my job working for the coke-fiend only two months prior and was doing odd-jobs until something piqued my interest. Having spent several months working from home in the nude, I thought performing these odd-jobs in a suit and tie would be an exhilarating change of pace. My clients were quite perplexed. I looked unusually professional for a computer consultant.
During lunch I hop onto the McDonalds open WiFi and stumble across a craigslist.org job posting. It says "Mobile Developer Wanted for Technology Startup." A technology startup? In New York City? Mobile technology, like cell phones? Intrigued, I send my resume. Less than five minutes later I get a response and less than two hours later I'm interviewing at Eric's apartment for the job. I didn't even have time to change out of my suit, which left him with the same equally perplexed expression as my morning clients had. I looked unusually professional for a computer guy.
Eric's Flatiron apartment must measure an entire 800 square feet, which is to say it had to have a fair market value of one million dollars. Enjoying a cup of nothing which Eric didn't offer, I learn all about Eric's dream of creating a fledgling technology company and growing it into a multi-national corporate empire. His plan is to fund this company by taking out a home equity line of credit against his million dollar apartment which had appreciated considerably during the housing bubble following the dot-com crash. In addition to his apartment, his friends and family were going to invest some angel funding too, a few thousand bucks at a time.
The dream is Social Darwinist, the premier social networking application designed for your mobile phone.
The office is his living room.
My job is developing the software that makes this dream happen. My reward will be shares of the company which, while worth little now (zero, actually), will appreciate into millions as the company explodes into an empire.
Eric offered me the job the next morning and I accepted the next evening. I had a mountain of reservations. What happens if this company flops? It almost definitely will, the success rate for startups is not great. Eric's house is on the line, how is he going to keep a level head through all of this? His friends and family are going to meddle with his business for sure. His girlfriend Leona, what's her role going to be through all of this? On the other hand, I had missed the first dot-com boom and was dying to see what life was like from the inside. I may as well give it a try. I mean, how bad could it be?
Hiring
by Roger in California
One of the fundamental responsibilities of being a development manager is choosing who to hire to actually do all the hard work you've been planning. On paper, this sounds like a straightforward, possibly even easy task: post an advertisement on a job forum, interview all the qualified applicants, and choose the ones that will be the best employees. Unfortunately, like most things that sound easy on paper, it's not so simple in real life.
In a city with a sizable job market, the first thing you will notice is that the breadth and depth of the candidates is kind of astounding, bordering on absurd, no matter how small or large your company may be. If you post an ad for a "Senior Web Developer", you will get all manner of response from all manner of candidates who are related, however remotely, to your field or industry. For development, this can (and usually does) include very confused people from marketing and/or SEO, a few recently emancipated interns or junior developers who think their 1 year gig slinging PHP from a Herman Miller chair qualifies them for a six figure salary, and approximately 15,000 emails from offshore and "placement" firms looking to make money off of your ass, probably because they think you're an idiot, or in HR.
The generally accepted Machiavellian calculus that governs who you do /not/ hire is concise:
1. Don't hire idiots.
2. Don't hire someone who will make you look stupid.
3. Don't hire someone who is overqualified and will quit out of boredom or frustration.
So now that you know who NOT to hire, how do you decide who you DO hire? Unfortunately, there's no concise rulesets for that, and I'm not even going to attempt to construct one. Instead, I will set forth for your consideration several of my pet peeves that will pretty much absolutely guarantee the rejection of a candidate. Now before you call me a self-important jackass and click the back button, give me the benefit of the doubt and see if you don't agree with my list.
1. Don't start answering the question before I finish asking it.
I'm not sure if this is a symptom of nervousness or naive enthusiasm or what, but at least a third of the candidates who walk in through the door interrupt my speaking abruptly when I ask them a question. Most of the time when this happens they end up motor-mouthing forever, which brings me to my next point:
2. Stop talking after you've answered the question.
At some point you have to be satisfied with the response you've given, or just cut your losses. I've tested this out to five minutes length, after which I had to interrupt. During that span of time the topic of conversation (or the soliloquy, as it were) went from experiences developing content management systems to the type of car they like to drive. God damn, right?
Some candidates will simply not stop talking until you interrupt them. I hate interrupting people, it feels so rude.
3. Don't question my technical knowledge when you're answering my question about a technical subject.
"I don't know if you're a technical person but..."
No, I'm not, I'm actually from the accounting department, here to run your engineering interview during my lunch break.
4. Take a shower, wear deodorant, brush your teeth.
Please?
5. Don't start lying just because I'm not grilling you aggressively or testing you on a whiteboard.
Nobody expects the Spanish Inquisition, especially when it's a 30-minute written assessment given at the end of an interview.
One of the fundamental responsibilities of being a development manager is choosing who to hire to actually do all the hard work you've been planning. On paper, this sounds like a straightforward, possibly even easy task: post an advertisement on a job forum, interview all the qualified applicants, and choose the ones that will be the best employees. Unfortunately, like most things that sound easy on paper, it's not so simple in real life.
In a city with a sizable job market, the first thing you will notice is that the breadth and depth of the candidates is kind of astounding, bordering on absurd, no matter how small or large your company may be. If you post an ad for a "Senior Web Developer", you will get all manner of response from all manner of candidates who are related, however remotely, to your field or industry. For development, this can (and usually does) include very confused people from marketing and/or SEO, a few recently emancipated interns or junior developers who think their 1 year gig slinging PHP from a Herman Miller chair qualifies them for a six figure salary, and approximately 15,000 emails from offshore and "placement" firms looking to make money off of your ass, probably because they think you're an idiot, or in HR.
The generally accepted Machiavellian calculus that governs who you do /not/ hire is concise:
1. Don't hire idiots.
2. Don't hire someone who will make you look stupid.
3. Don't hire someone who is overqualified and will quit out of boredom or frustration.
So now that you know who NOT to hire, how do you decide who you DO hire? Unfortunately, there's no concise rulesets for that, and I'm not even going to attempt to construct one. Instead, I will set forth for your consideration several of my pet peeves that will pretty much absolutely guarantee the rejection of a candidate. Now before you call me a self-important jackass and click the back button, give me the benefit of the doubt and see if you don't agree with my list.
1. Don't start answering the question before I finish asking it.
I'm not sure if this is a symptom of nervousness or naive enthusiasm or what, but at least a third of the candidates who walk in through the door interrupt my speaking abruptly when I ask them a question. Most of the time when this happens they end up motor-mouthing forever, which brings me to my next point:
2. Stop talking after you've answered the question.
At some point you have to be satisfied with the response you've given, or just cut your losses. I've tested this out to five minutes length, after which I had to interrupt. During that span of time the topic of conversation (or the soliloquy, as it were) went from experiences developing content management systems to the type of car they like to drive. God damn, right?
Some candidates will simply not stop talking until you interrupt them. I hate interrupting people, it feels so rude.
3. Don't question my technical knowledge when you're answering my question about a technical subject.
"I don't know if you're a technical person but..."
No, I'm not, I'm actually from the accounting department, here to run your engineering interview during my lunch break.
4. Take a shower, wear deodorant, brush your teeth.
Please?
5. Don't start lying just because I'm not grilling you aggressively or testing you on a whiteboard.
Nobody expects the Spanish Inquisition, especially when it's a 30-minute written assessment given at the end of an interview.
Subscribe to:
Posts (Atom)