“Not to brag, but...I’m in Costa Rica looking at a beach most people will only ever dream about. I’m here for eighteen days with my family. We’re going to five different resorts! Holy hell, we’re blessed. I realize it. I’m able to sit here and not panic, because I hired the right team and have the perfect business partner--can you take a vacation?”
In the past year, Allan and Steve have merged their support dealings, phone calls, emails, tickets, and forum questions into a support team that cares. They’ve hired people that have taken ownership of the app and who care that the customers are happy--thus providing Allan and Steve with the freedom to take a vacation. Can you trust your employees like that?
Are you late sending invoices? Have you not filed taxes in a year? Is your inbox at 100? Are you working at night or on the weekends? Yes? It’s time to scale up.
Woah! Stop, stop, stop. Don’t hire just anyone. Hire someone that can manage themselves. The person you hire should be able to make you more money. They should give you more time to do the things you’re good at-- they should make you better.
Building a team is an important part of a successful business, but how do you attract the right types of people?
“Personality is just as important as technical skill. Yes, you have to be an awesome developer to work with us, but you also have to be a good communicator, care about us, care about the work and laugh at all of my jokes.”
The question is, where do you meet these people? Unless you’re in a metropolitan area, many of the best simply won’t be in your hometown. You can find talent in places like forums and blogs all across the Internet. Narrow down the field of candidates by looking at portfolio links or profile pages, and see if you can get at least one reference from them to verify their track record.
The right people already have jobs. They’re not cruising job boards looking for work. Your job for them will have to be a better value than their current gig--not better money--better value. NEVER NEVER NEVER hire someone that sees your opportunity as “better” in that it offers more money. You DO NOT WANT THIS PERSON. What can you give them? What is better than their current job? Maybe creative freedom is what they value. Is your company viewed as special/cool/interesting? The company you’ve built and are building will and should attract the right people.
In the early 90’s, Allan’s Dad added a children’s daycare to one of his car washes. He saw that single women were the best employees for many reasons, and in order to attract the best hires he needed an incentive for them to work at his car wash over another business. For a single mother, having her children on-site at a free daycare saved her a lot of time, money and stress. Plus, it’s just nice having lunch with your kids everyday. Allan’s Dad realized the work environment could bring in the employees he needed.
Adding a ping pong table to your office won’t make you the “cool place to work.”
Realize everything is a test, and you’re testing your applicant’s skill set, communication and personality--filtering these candidates down to the right one. When LessEverything hires a developer, they are given a small test project that shouldn’t take longer than 20 hours. The test is about seeing how they make decisions, how they explain the decisions they’ve made, and how good their sense of user interface is.
“When we hired our first bookkeeper, we cloned our books in LessAccounting, edited transactions and had them balance our own “ fake books” in order for us to see their skill level and communication abilities. When we hired our first customer service person, We gave them the task of explaining how to purchase their favorite “thing” online. We wanted to see how clearly they could relay instructions back, and we also wanted to see what their favorite product was.”
If you have a programmer wanting to work with you, give them a test project to build. It should be an app that shouldn’t take longer than forty hours. Give them a quick description of the project listing the features, and then let the applicant be responsible for the interface and everything else. After- wards, have a conversation about the project. The point is to see how they make technical decisions and how well they communicate their thoughts. Would you do things differently? How well do they respond to new infor- mation and to your criticism? With the interface, look to see how well it’s been thought out. They shouldn’t be required to be an interface expert, but they ought to be required to at least think about it and take the user’s needs into deep consideration. How did they communicate during this project. Did they hide away in a dark corner and magically appear with a completed project, or did they ask questions and interact with you and the team?
We ask people not to send us a resume. Reading a resume will always do more harm than good. A resume is never a fair evaluation of a person. It does a poor job of explaining what they’ve accomplished or what they can do. It is just a pack of facts, most of which have been over or under exaggerated and are meant to give the impression that the person in question is exactly who you are looking for. A resume will cloud your judgement.
If you read that they worked for Google, you will more than likely be impressed. After all, Google is an amazing place to work with extremely high hiring standards, right? So what. (1) They might have been the worst employee there, and you have no way of knowing. (2) Google is actually plagued with people who, though they may be great technically, are actu- ally toxic. Instead, what if they worked at a place that has a bad reputation or a place you’ve never heard of. Does that really tell you anything about them? No, it doesn’t. All it does is cause you to cast uneducated judgements in one direction or another.
Steve has been working professionally as a software developer for fourteen years. He has seen it all. There are a million engineers with lots of experi- ence (3 years, 5 years, 10 years, whatever HR is looking for) that are worth- less. They can make something, but it will suck. It won’t work right, it will be slow, it will be littered with bugs, and it will take less time rewriting it than fixing it (mostly because fixing it is the same as rewriting it). There are also a handful of amazing kids with little or no experience. They will knock your socks off. They eat and sleep good code. Experience level is no indica- tor.
There are probably no schools that actually teach anyone how to write good software. Most people come out of school knowing a programming lan- guage or two, but they have no real concept of what good software looks like. Steve has long said that what is missing from the software industry is apprenticeships.
Steve’s Dad ran his own engineering firm for thirty years. He used to tell Steve that the only thing that matters when hiring someone is what they can do. If their output is good, then who cares where they went to school or where they’ve worked before.
Being smart is better than being dumb. Being very smart is much better than being average. Smart people can figure things out on their own, learn new skills, discern meaning from data and, eventually, garner wisdom.
If someone can’t communicate, isn’t nice, or has an attitude, then they will make your day less enjoyable. Unhappy people will make others unhappy. A person’s energy will affect others, even virtually, through email and chat- room conversations. Don’t forget: your are in this for your happiness; don’t hire someone you don’t like.
One of the problems with hiring the right technical people is that you can’t really figure out who is good by doing a technical interview. You just can’t. So what is the point of a technical interview? You need to try to figure out who is worth further consideration.
When performing a technical interview, don’t look for knowledge of key words; look for communication skills, intelligence and strong opinions. Al- lan and Steve have found that having a conversation is a billion times more effective than asking a series of questions.
Ask them about their “testing philosophy.” This is a great question to ask, because every great developer should have a testing philosophy. All develop- ers have opinions about how the code they write should be tested. Don’t worry if their philosophy doesn’t match yours. if they are smart, then they can understand and test the way you want them to, but if they don’t even have a philosophy, they probably haven’t written enough code to know they need one.
Ask them what some of their favorite Ruby Gems or libraries are. Again, the idea is to have a conversation about code. You should pay attention to their excitement level and enthusiasm as well as listening to them talk about their experience. If you ask Steve, he’ll list ten or more libraries and talk about what’s cool and what sucks about each one. He’ll talk about how this one didn’t work like he expected, so he had to dig into the source to figure it out. That one was written by so and so--who he met at RailsConf 2007, and although it’s not quite as good as another, it does a good job, and he uses it out of loyalty to his friend. Another has great documentation and so on. Steve loves this shit and you can tell when he talks about it. Look for smart people who love it as much as, or more than you do.
“I love this shit...”
Ask them about the people they know. The Rails world is growing, but many developers still know each other. If you and your potential hire have a friend in common, then you can get an honest recommendation about them. Who do they admire? Steve loves to ask, “Who’s your favorite Rails team core member and why?” If they don’t have an answer to this one, that’s another red flag. You need to hear some relevant opinions.
Some people are smart, have great personalities, and are great coders, but perhaps they’re a bit introverted (or maybe even just shy at first). We love these kinds of people and have worked with a few great ones, so we try hard to figure out if the candidate is this type of person or just a lame ass. Often times, if they are stiff, we ask them if they are quiet or introverted, and we try to find topics to loosen them up and make them feel comfortable. These are nerds after all.
Sometimes it takes a few conversations, but usually, we know after one if we want to move forward with the person and ask them do to a sample project.
Hire communicators. This doesn’t mean someone who just emails the shit out of you all day. Hire a person that follows up their employment applica- tion with an email that is clear and to the point. You want people that can manage themselves. You’re too busy to be holding your employees’ hands. A poor communicator will create confusion, frustration, waste time, and waste your efforts in the end. This will always cost you money. In a remote team setting, your team needs to be even better at communicating, be- cause there is little face-to-face time. Written words can be easily confused. Poorly-worded inter-team communication can easily create strife because of unintended tone.
Be clear in your expectations of your team members. Tell them how you gauge their success, and tell them when they’re not living up to your expec- tations. Tell them how they could be more valuable to the company. For an employee, a job that can’t grow will lead to work dissatisfaction (which will result in lower productivity). For everyone within a company, this job should be about more than just a paycheck. It should involve personal and professional growth.
What makes a good employee a great one? They should be able to read your mind, make a decision on your behalf the way you’d make it, or make a decision that is better than yours. This is a lofty expectation, but if you are clear in your philosophy and explain why you’re making decisions, a good employee should be able to emulate your philosophy and make decisions you are happy with.
People should want to work for you. In fact, they should be willing to take lower pay in order to come to work for you. If they aren’t willing to do this, you haven’t built a great company or they’re the wrong person for the job. If you’re paying top dollar for your employees, you haven’t built an envi- ronment they want to work in. If you’re having to use very high monetary compensation as the driving force to get them to work with you--game over. You lost.
“Our team gets something from working with us that they can’t get anywhere else. You’re wondering what they get? Well, 1) They get me. I’m like crazy sexy. 2) They get Steve. He’s also crazy sexy. 3) No, really, they get me and Steve and the rest of the team--an easy going environment where they feel appreciated (hopefully). They have the best job in the world and endless amounts of magical hugs from me.”
There is an interesting psychology about rewarding people with money. It goes like this: as soon as you do it, they come to expect it. This is true for Christmas bonuses as well as “job well-done” bonuses. As soon as some- one receives a monetary bonus, they feel entitled to receive it again. If you got a Christmas bonus of $500 last year, you’re not going to be happy with anything less than that this year. If it goes up, then the bar has been raised permanently. If you don’t get it, it will affect your morale. Instead of money, you can give time off, gifts, recognition, a sincere thank you, or more responsibility.
How do you keep employees? You don’t. You can’t. You shouldn’t look to imprison them. You should be happy to help your employees find new jobs. Naturally, you don’t want them to leave, but if they really do need a differ- ent situation, help them find a job that’s better suited for them. You should care about your employees and honestly want to see them to a situation that makes them happy--even if that means working somewhere else. You are probably great, but not always the best fit for every single person.
“I think our folks feel that we really do care for them, and that makes them love their job more and want to work harder.”
To keep an employee long-term, you have to pay them enough that they’re not struggling to pay their bills. However, they also have to feel like they’re a part of your company for something greater than money. They’re a part of something special--a movement. They need to feel, that with you, they’re a better person. They need to feel that the product they’re working on is better because of their help, and if it’s not better because of their help, they shouldn’t be working on it. This really means that it’s your responsibility to express your gratitude towards them.
Solutions are the only things that matter. Don’t let your team email you with only problems. Make them bring you a problem and at least one solu- tions. Discuss the best solutions and why it’s the best. They’ll feel ownership over the decision. Additionally, they’ll begin thinking about how to make things better.
Delegate your responsibilities. Stop doing everything. Stop thinking you’re the only person who can send an email, make a decision, or come up with an idea. Train your team to think like you do (well, unless you want to keep working all weekend like you’re doing now).
Your current employees should be training your next hire. Your current em- ployees should be able to interview your next hire. If your current employ- ees can’t do these things, fire them all. You’ve hired the wrong people. Then again, maybe you just need to stop stifling them and let them flourish.
“I tell our folks that, in a year, Allan and I won’t even be around. We may check in once a week, but if they want to have jobs, they’ll have to make all the decisions.”
Here’s a lesson Allan learned about being a leader:
“I was a hell of a kid--not a bad kid--but it seemed like I was always doing really dumb things. When I was 10, my Dad told me something that really stuck. He said, ‘You can obey me out of fear or out of love, but you’re going to obey me.’ Rarely does a 10-year- old boy remember anything (let alone something that makes him think). I’ve always kept this in mind when observing people in authoritative positions. Love and Fear are two totally different paths, but a successful leader must choose one to follow.”
I played college football and had a lot of coaches through the years. Most of the coaches I had didn’t have a path and weren’t successful. The coaches that got the best results out of me were the ones I loved. I obeyed the ones that I feared just enough to not make them mad, but I would have put my head through a brick wall for the ones I loved. The coaches I loved weren’t overly nice, and they certainly weren’t easy on me, but they made myself, and other players, feel that--with their help, we could be better. They pushed me and encouraged me to be something more. It’s an amazing thing to feel like someone brings out your best.”
Being in charge is weird. When you first have employees or children, it is uncharted territory, so it’s best to look to others to show you things. Allan’s family owns a string of car washes. The employees aren’t used to having an employer that cares about them. Allan’s Dad has had employees quit and come back. Some have worked for him since Allan was a child. His Dad wants his employees to love him, and they do. They don’t fear losing their jobs, and they yearn to make him happy. Love isn’t created by being easy on a person. It doesn’t come from being their buddy. It’s not about overpay- ing them and letting them walk all over you. It’s created by being real with them, caring about them, gaining their respect, and making them hemor- rhage with passion.
Cashflow is the lifeblood of your business, here's how to avoid cashflow issues.