September 27, 2011

Hiring family/friends - A review of "Atlas Shrugged"

I just finished reading "Atlas Shrugged" by Ayn Rand. It took me 3 months and the only reason I made it through was because I had the audio version from Audible. There were some long rants, one monologue lasted over 3 hours in the audio version but overall it was a fascinating story with an interesting message. Without spoiling it too much it is about what happens in society when it is ruled by lazy, selfish people.

There were a lot of political and social messages in this book but the main message I took from it was this:

Need should never be the primary reason for giving someone a job or anything else.

The antagonists of the story preached that the world would be a better place if everything was shared among everyone according to their needs. In principle, this sounds like a great idea, but in practice it quickly becomes a disaster.

How does this apply to startups?
And now to my point. I have worked in a number of startups that have hired friends and family members. I've worked at 3 different companies with my wife, I currently work with my bro-in-law and have worked with my closest friends and it has almost always been a good experience.

The trouble with hiring family and friends comes when you hire them based purely on their need, not their qualifications for the job. If I know a person well enough to know I want to work with them, I also have a good idea of whether this person would be a good hire or not. In a startup, every single hire is crucial and every dollar spent on salary is way too important to make this decision lightly based on friendship or kinship.

I've often had close friends ask me to give one of their family or friends a job, "Because they really need it." I am not completely heartless to the importance of need, but I've usually found that if someone desperately needs a job and is unable to find or keep one for a long period of time, there is often a reason. If I don't know them personally, they are going to have to go through a rigorous interview process to make sure they are qualified for the position. I am most likely to be even harder on a distant acquaintance because if things don't work out it will be extremely hard resolve the situation and can harm friendships beyond repair.

If I do know someone well, I know their character well enough to know if they would be a good hire. I personally give preference to someone I know well enough to be sure they are a good employee, even if they may not have as many direct qualifications as other candidates. There are very few things that can't be taught, if I know they are a hard worker and great team player.

Anyone else have experiences working with family or friends that have gone bad? How did you handle the situation and how did it affect the relationship? How about situations that have turned out great? What did you do right in these cases?

September 20, 2011

Platform Horcruxes - Part 2

Last week I laid the foundation by talking about how the Lord Voldemort of your platform has successfully stopped you from moving forward by hiding horcruxes all over the system. Now for the epic conclusion. So, what can you do to prevent Lord Voldemort from rising to power in the first place or to stop him from gaining any more power over your product?
  1. Hire a solid IT Manager as soon as you can. It's possible to get things going with an outsourced development firm but long-term this is going to be more expensive and costly due to their lack of ownership. Here are some key traits to look for in this position:
    1. No ego (it's crucial that this person puts the long-term success of the product and company ahead of their desire to prove anything)
    2. Straight forward, honest manner (you need someone who will tell you all the facts without letting their personal biases get in the way)
    3. Realism (I've encountered too many developers who insist on building the Eiffel Tower when all we needed was a hot dog stand. This can't be their pet project or a chance for them to hone their skills in a new language they've been wanting to learn. They need to develop exactly what your business needs and nothing less/nothing more)
  2. Make better choices. Early on, you might have to purposefully choose some paths that you will know might hurt you in the long-run just for the immediate demands of the company. But as soon as you can, make every project a chance to improve the underlying infrastructure of your platform. If you have horcruxes that are making development harder today, take the extra time to seek it out and destroy it once you have some breathing room. Every hour you spend destroying horcruxes today will save you hundreds of hours in the next few years, so take the time to do things right as soon as possible.
  3. Set realistic expectations internally and externally. Start early setting longer than necessary timelines with your partners. If something is absolutely urgent, then get it done as soon as possible, but otherwise double or triple your time estimate and take the time to destroy some Horcruxes along the way. I currently work with a team of about 10 developers. Recently I sent a project to one of them who reviewed it and reported to me that he could complete this task in 30 minutes. Unless it's a simple text change or something really small, why would you ever give such a low estimate? I knew it would take him 5-10 times that long and would have preferred he would have guessed higher to begin with because it did end up taking him much longer. Of course, I quoted 5 hours to our partner and told them it would take a couple of weeks to complete, and we ended up just barely making it.

If you've been on the technical side of a web startup, you know what I'm talking about. If you've ever been on the sales/marketing side of a web starup, you're probably the cause of the horcruxes. I recently had a developer turn down a job by telling me the "code smell" of our platform was not worth the constant anxiety he knew it would be. This happens and isn't surprising. We may be losing the battle with Lord Voldemort but are still hopeful we can win the war. Can you relate?

September 13, 2011

How many horcruxes does the Voldemort in your platform have? Part 1

One of the biggest issues facing an internet startup is developing a solid platform that is built right from the beginning. If you've ever tried to build a platform from scratch while building a revenue generating business you know what I mean. Here are just a few of the issues you might run into:

1. When you start, you probably think you have a solid grasp on what your business will need to offer to succeed. However, the truth is you are likely only about 10% right. If your company makes it long-term it will likely be thanks to a lot of pivoting into different areas than where you started.
2. So, without having a complete understanding of the end product from the beginning, your product is likely to have a lot of pieces and features duct-taped onto the sides and not integrated as nicely as they would have been if you'd have planned for them originally.
3. Now, if you're lucky enough to have loyal customers from the beginning, they are going to grow up with you and get into the mindset that it is their personal platform, requesting customizations that your later clients would never expect. This is only going to add to the complexity and the number of features that aren't fully integrated with the system and make it hard for your platform to grow.
4. Being small and cash-strapped, every time you need an update to your platform, you are unlikely to have the time and money needed to do it right. You are going to have customers and investors screaming at you to just get it done quickly, not caring the negative effect cutting corners will have on the long-term sustainability of your product.

These and many other problems facing a new technology business will end up creating a lot of demons in the machine. Or as I like to refer to them in my platform, Horcruxes. If you've seen the Harry Potter movies, you'll understand this analogy; but if not, seriously!? Where have you been the last decade? If you're not a Harry Potter fan, let me apologize right now, because you'll probably hate this post.

In my experience at 4 different internet startups, most technology products/platforms deal with these issues. To help me from crying myself to sleep at night, I find that it helps me to think of myself as Harry Potter fighting Lord Voldemort with horcruxes hidden all over within our platform. My fellow Operations and Development teammates are fellow members of The Order of the Phoenix and we are waging a constant battle with the Death Eaters in our platform that are bent on protecting Voldemort and those darned Horcruxes.

As time passes we are constantly finding parts of the system that were designed to do what we needed it to do 3 years ago and are nearly impossible to update to do what we need in the future. These are the horcruxes and as long as they exist, the evil Lord Voldemort that keeps us from moving forward can't ever truly be destroyed. Sure, with weeks to months of work we can usually destroy a Horcrux, but I often echo Ron Weasley's sentiments in the final movie that we are never going to find them all and are doomed to failure.

Am I the only out there that relates my platform to the world of Harry Potter? Wait until you hear how my job is like the movie, "Inception". Tune in next week for the exciting conclusion and tips on how to win this epic battle for a clean, reliable platform.

September 8, 2011

September 6, 2011

Uncomfortable Conversations

"I believe that success can be measured in the number of uncomfortable conversations you're willing to have."
- from The 4-Hour Workweek by Timothy Ferriss

As mentioned in a previous post I recently finished reading The 4-Hour Workweek by Timothy Ferriss and this quote really changed my thinking. Up until this point I had a bad habit of not voicing my opinion if I was unhappy about something. Instead I would just be upset and grumble about it, but never even discuss my concerns with anyone who could actually do anything about it.

Once I read this book, I committed to share my opinion more. If I disagree with something that is going to be a long-term concern for me, I do my best to take the first chance I have of sharing my opinion and concerns. When I do this, I try hard to not be confrontational, but to merely share my concerns and frustrations. Sometimes the other party makes a change to accomodate my concerns and sometimes they don't but either way I feel better because at least I have shared my thoughts.

The Sucker's Choice
I was so influenced by this quote I am now reading "Crucial Conversations". I will share more from this book once I finish, but I've found one thing early on in this book that has really stuck with me. The author says that when there is a crucial conversation to be had, sometimes we think it's alright to be rude or mean to the other party, rationalizing afterwards that it just had to be said. They refer to this as the "Sucker's Choice". In actuality the options of either saying nothing or saying too much are not the only choices.

Now, as my coworkers can attest, I am still absolutely horrible about this. However, I do believe strongly that in order to be successful in life you have to be willing to have the difficult conversations. I have seen so many good relationships ruined because one party is unwilling to have an uncomfortable conversation when it is so necessary. I believe it is best to be as honest with people as possible. I'm not suggesting you need to be unnecessarily rude like Piers Morgan on America's Got Talent, although I usually agree with his opinion. Instead, do all you can to create a solid relationship with people so you can have these types of conversations and move forward due to your strong mutual desire to create something better.

Have you ever seen someone's unwillingness to have an uncomfortable conversation cause a bigger problem than it prevented? What about you? Do you have the relationship with your team that allows you to openly share your opinion and be heard? How do you handle it when someone initiates one of these conversations with you?