The video above was recorded at RailsConf 2018 in Pittsburgh, Pennsylvania. It attempts to answer 12 questions we received from the development community about starting and scaling your own business.
We’re the first to admit that we don’t know everything about creating and running your own company. It’s true, we’ve managed to keep the (remote) lights on at Test Double for over six years, but we attribute most of what we’ve learned to others who have helped us along the way. We’ve received phenomenal mentorship from business leaders we deeply respect. We’ve read—well, Todd has read—lots of books on sales and management. And our roles as consultants have given us front row seats to a lot of the challenges that business leaders face.
All told, we want people to take away one thing: running a business is hard, but it isn’t rocket science. Our goal is to demystify the aspects that we wish we others had told us before we started the company. In the near future, we hope to also share additional answers to some of the other questions we received in the run-up to this talk that we didn’t have time to include in a 40 minute presentation format. Stay tuned!
If you enjoy the talk, please share it with your friends and colleagues! If anything in the talk piques your interest, we’d love to hear from you, too!
Transcript of the talk
[00:00:00] Okay, this is starting. Yay. All right, go. The title of this presentation is business on rails. It's a Q and a session of sorts about running a business as a software developer. Our company's name is called test double. We are on a mission to improve how the world writes software.
[00:00:20] How we work is our developer consultants pair up with developers like you on your work project to get stuff done, but also to look for ways to improve things as we go. You can read more about us at our website. We are founded in 2011 by just us, two developers. And we had zero prior experience running a business.
[00:00:37] This year is Todd, my business partner. He goes by Todd Kaufman on the internets. He likes beer and running and pugs. I'm Justin. I go by my last name, Searles on the internet. I like fruity cocktails and what I would more classify as jogging. And corgis. And now the company has grown a bunch.
[00:00:56] We're actually 45 ish people. Now we're serving 14 clients currently and we collectively have one experience running a business. As a result, all of our answers here, your mileage may vary. They are pretty specific to that one experience, but we're going to do our best to provide as much value to you today as we can over the last two months, we've been accepting soliciting your questions at test double.
[00:01:16] com slash business. And you all submitted some really awesome questions. And continue doing it today. I guess the first piece of business advice is that developers really suck at estimating because we handpicked 35 questions we wanted to answer and I went so far as to write slides for 25 of those questions only to realize we could only fit 12 into 40 minutes.
[00:01:37] So we got a lot of other content, bonus content that we're probably going to find a way to parcel or deliver to you in bite sized chunks after the fact today, so stay tuned. And the first series of questions that we got were really about Hey, I haven't started a company yet, but I've got an idea for it.
[00:01:52] And I thought the best first question we could ask is, Hey Todd, why'd you decide to start a company? Yeah, thank you. People who know us probably think we started the company for the wrong reasons. Say we were trying to get rich. Maybe we were, trying to get away from having to wear khakis at our enterprise clients.
[00:02:09] Or we're just trying to become our own boss. Or get away from the pointy haired bosses that we had worked with in the past. That wasn't necessarily the case with us. Justin and I worked at a consulting company where we were commuting five hours to a client at the time. So it provided a lot of time for us to discuss what was wrong with that client and the conversation expanded to what was wrong with the consulting company we worked at the time.
[00:02:30] And from there it went to other clients, other consulting companies, and we started to pick up a common theme. One of the things that we saw were that people weren't compensated according to the value they provided. Oftentimes at these consulting companies, they were extremely rich. Commissioned sales reps, but they didn't always do what was in the best interest of the business.
[00:02:49] Oftentimes they would set up a project just to get a commission check, even though it was destined for failure. I had one story where a sales rep was showing off a picture of his new boat that he bought to the team that was working on his project. That team was working nights and weekends to try and bring this thing in.
[00:03:03] That didn't seem fair. So we didn't want to do that. The company we were at was heavily focused on agile at the time. So much so that we spent an inordinate amount of time talking about user stories and the product backlog and estimation and very little time actually writing software or applying test driven development further.
[00:03:21] Some companies treated developers like they were a commodity at the time. I had a CEO tell me at one point one of, the best developers I've ever worked with left, and he told me that, he was replaceable. He could find another developer on the street. And further, some of these clients were really toxic, and the goal wasn't to fix them, it was to become more pervasive in our work there.
[00:03:41] And that didn't sit well with us, so we talked about building something that would be different. We would move away from these enterprise restrictions, like having to wear khakis, or even any pants at all in our case, as a remote company. We wouldn't have to work with Java EE anymore. We wouldn't do fixed bid, fixed scope projects because they were really easy to sell, really hard to deliver.
[00:04:03] We wouldn't do perpetual client travel. So driving in a car with Justin for ten hours was definitely a good shove in the right direction here.
[00:04:13] We, we felt like we could set up a company that would have realistic expectations, both for our developers and for our clients. If those two things were in alignment, we would add a lot of value to both sides, and really build something that was different. So question for you, Justin. How long should I wait before quitting my day job?
[00:04:29] When is the right time? Great question. It turns out legally and technically speaking, you can start a company without having to quit your job first. Point in fact you might know Aaron's company, Adequate. And you might think that it exists for some legitimate purpose. But in fact he just wanted to buy pork belly at wholesale prices, and the restaurant group would only give him the discount if he was incorporated.
[00:04:50] Can start a business. But I think what people are really asking here is like, when can I quit my job and focus on this other thing that I want to be doing? And when Todd and I started Test Double, we were laser focused on one thing, and that was like figuring out how to build a runway so that we could have plenty of time to make the business work.
[00:05:05] Stable and viable. What that looked like is a calculation in our heads like given some hypothetical amount of revenue how long could our savings last? And maybe if we were able to win some early revenue or get confident that we maybe we could pull in something early that could stretch that runway out so that we could, you know go a little bit further before having to call it quits if we weren't successful.
[00:05:24] Another thing I'd recommend you do is talk to who your potential customers are. If you think you want to start a business, make sure that people are willing to part with their money first before you quit your job. Second, a lot of people like to work in like a stealth mode capacity. Maybe you do proofs of concept, maybe you actually start building your product on nights and weekends.
[00:05:41] Or if your service is, some people, Moonlight, that can work well for people, but just keep an eye on your offer letter because a lot of us and a lot of our current jobs have signed something that doesn't allow us to do that without assigning rights to our employer or talking to them first, so be mindful of that.
[00:05:57] Before you launch, just a few things to remember, make sure that, your finances are in order, that you're going to have a sufficient runway to get started that you've validated that customers are willing to pay for your time or goods, and that you have the right mix of naivety and courage to take that leap of faith, because to be perfectly honest, programmers are a really hot commodity right now, and even if you fail, you could probably turn around and get a higher salary as an entrepreneur.
[00:06:20] So really the bar is really low and it's a great time to take this jump if it's something you want to do. Next couple of questions we've got, we're about like starting up a business logistically. A couple of our favorites here. Todd, at what pace do you hire more developers? Are we a growth obsessed startup or do you constrain the rate of growth?
[00:06:38] Yes, this is a good question. And we see this a lot in our industry right now. Startups, especially VC backed startups appear to be growing just for gross sake. We know a founder of one of these companies back in Columbus and he talked about changing their company motto to, you gotta spend money to spend money.
[00:06:55] And I thought that was like really funny as he was like off trying to get a series seat. Until we talked in more detail about what he was doing with that money. He's basically burning through loads of cash to throw developers at this problem. And we know from past experience as developers, Fred Brooks told us this 40 years ago, throwing people at a problem doesn't necessarily make it go faster.
[00:07:18] It doesn't necessarily result in a better product. So why are people so obsessed right now with growing just for gross sake? I think it makes sense when you think that some of these companies don't necessarily have a lot of customers yet. They may not have any revenue at all. So when they're trying to get that next round of funding, they have to show something to those investors to let them know that, look, we're going to be successful here.
[00:07:44] So one of the things they can climb onto is the number of developers they have. Hey, I have 50 developers. That's great. Here's your Series C. Go hire 100 more. That hasn't been Test Double's model at all. In the early going, it was just Justin and I working at one client. And at that point, you have to grow for stability's sake.
[00:08:02] Like, when we were just at one client resignation and acquisition, anything like that could cause our project to end early. That could literally put the company in financial peril in a relatively short amount of time. So we made a couple of hires, and they also wound up at that company. But that allowed us the freedom to start pursuing a little bit more aggressively, more clients, and more projects.
[00:08:25] And eventually you start to find them, and you start to hire people, and this keeps on going. So now we're at the state where if a couple of projects end unexpectedly, it's not necessarily financial ruin for the company. In fact, we may still be, very profitable that month. It may allow us to go pursue other opportunities we'd otherwise have to pass on.
[00:08:45] So we've termed this kind of growth model as cautiously opportunistic. Those of you who know Justin and I well will understand that Justin is extremely cautious, and I'm extremely opportunistic. So in this way we work pretty well together. But that has resulted in growth that I think has been very healthy for our business.
[00:09:02] We're nowhere near like the exponential growth that, that some of these companies talk about. But we're also not linear. And now we're growing so that we can have a bigger impact at a larger variety of clients. Justin, this one's for you. Why did you start the company remote first? Any unexpected consequences?
[00:09:17] Yeah, we get asked this a lot. Truth is there was no master plan to be a remote company. It was just, we're victims of circumstance. Todd and I live 10 miles away from each other in Columbus, which in commuting terms is like an hour and a half of billable hours that we wouldn't get if we insisted on co locating.
[00:09:34] After the 2008 crisis, a lot of offices downsized their space, so instead of expecting all their contractors to come inside, they no longer had a place for them. And then additionally, home internet was getting fast enough that pair programming was viable, and all these things mixed together to create the situation where just defaulting to remote seemed to make sense at the time.
[00:09:53] And it turned out to just be a really happy accident. We treated it like a liability for years, but now I think it's one of our kind of core assets. Thanks. That allows us to be really flexible in who we work with and who we hire. Just imagine people fly to the conference this week.
[00:10:06] Maybe you meet somebody that you'd really like to work with. And you get as far as really deciding you're really passionate about what they're doing and you want to work together. But then the next step in the conversation is, okay, great, now sell your house, uproot your family and move to Reno.
[00:10:18] And that's a, co location introduces a really high barrier of entry to collaborating and working together in this time where we have all these tools that make it so easy to collaborate and work together. So it's a shame. Another thing about so basically, What we've been able to do though, as a result of hiring everywhere, is we've got people in 14 states, 16 states, and two Canadian provinces, we're all over the place, and we'll hire a very narrow ideology of developers who happen to really agree with our mission and impression of how we might be able to improve this industry.
[00:10:46] And people at a great skill level that would be really difficult to hire all within one zip code. The other thing I really like about remote is it's autonomous by default. I've had way too many clients with just like moldy cube farms with like executives who literally will scream at you.
[00:11:00] And like somebody microwaving something funky like every day being on their network and under their control. Like being under the thumb of somebody else is like the easiest way to feel like you don't have control over your work. And when you're at home, you control a lot more of the variables about when, where, and how you accomplish what you need to do your job.
[00:11:18] But there's still, there are plenty of challenges with being remote. It's not, a panacea. We're all spread out and we don't get to see each other all very much. Oh, excuse me. Wrong point. We're all spread out, which means that we owe tax in a lot of places. We pay probably way more to our accountant than any other 30 person, 40 person company.
[00:11:34] A ton, our tax returns are a total mess. Additionally, when we go to Ohio and we're like, hey, can we get a tax abatement you're a successful startup in Columbus, isn't that great? They're like, yeah, no, because you're not going to hire 30 more people in Ohio, you want to hire them elsewhere. And that's a fair point.
[00:11:49] Additionally we've got people in like employer regulations just haven't caught up. We have Ali in Maryland. And we had to buy these like gigantic employer regulation like placard notices for him to hang in his break room. And we just did that and sent them to him because we didn't know what to do.
[00:12:05] We also have a hub and spoke communication system where everyone's on different projects. And it's just a shame that people like, like Dave and Scoon might go months without having an excuse to talk to one another. So we created, instituted this thing called Coffee Time. It's a little robot that emails people at random every week.
[00:12:19] And you get a message and then you schedule time together and you talk. And people actually do this and it's such a delight because you get to talk to people you wouldn't normally talk to. And it doesn't necessarily have to be about work. Additionally, it's a shame that we don't get to actually see each other because we've assembled this team of people we really love working with that really opportunities to collaborate don't happen by happenstance.
[00:12:37] And so we come together twice a year, both to enjoy each other's company and camaraderie, as well as be amazed at how big the company has gotten in a physical sense. It was hard to scale on like looking at a Slack sidebar. And we plan out together the vision for the next six months of the company's planning as a group in person.
[00:12:53] Additionally, remote can be tough if you're an extreme extrovert and working days on end at home without a lot of interpersonal interaction is hard. Like there are, you might try coworking spaces and ways to work around it, but it's just not going to work out for everybody. And if you're really introspective, you might think that you don't want a boss breathing down your neck, but in the absence of that, the negative self talk that might occur in terms of worry about whether or not you're doing a good job at least for me, indicated what I really wanted was, like, continuous positive reinforcement, and it took me years to really get comfortable in my own skin as a remote worker.
[00:13:24] But overall, I don't have any fear of missing office, I, I would not regret this I don't regret this at all, and I wouldn't have made it any other way, I think for businesses like ours, this was a really great choice. Next couple questions are about once you've reached a point of stability, like, how do you go to market how do you market and sell your sales first question here, Todd, I would love to know the answer to this one myself, how do we find clients what's been the most successful source of generating leads?
[00:13:48] Yeah, I think this is one of the, a great question. Just know that strangers oftentimes don't want to hear your pitch, right? Like elevator pitches are there because people don't want to hear you talk for two minutes. They'll tolerate you for 30 seconds. Cold calling people is really hard. Cold emailing people is hard.
[00:14:03] Cold LinkedIning people. All these things are really difficult. We felt from the early going that, Our success was going to be predicated on the number of meaningful relationships in our network. So we've spent a lot of time trying to grow that network. And trying to grow the meaningful relationships within there.
[00:14:19] It's no coincidence we're in front of you at a RailsConf. Justin goes to a lot of conferences. We met at a user group eight years ago. So go, get out to user groups, get out to conferences. Even if you aren't speaking, you can meet people who share similar interests. LinkedIn if you can tolerate the amount of recruiter spam that's on there can be a really valuable tool for keeping up with past coworkers college friends and things like that and seeing how their careers evolve and, finding occasionally somebody who may be able to benefit from your product and service.
[00:14:47] Eventually you get big enough where you need a tool to manage some of this stuff. Your network starts growing. Keeping in touch with everyone becomes difficult. We use pipe drive as a sales CRM tool. We like it a lot. But there's like literally 30 of these things out there. It's important as you're trying to expand your network though, that you're not selling people.
[00:15:06] People don't want to be sold. All right. One of the things I love about Justin's conference presentations, he's rarely doing it with the mindset of, I want to pitch test double. Instead, he's trying to put himself in the audience's shoes, understand what he can share that may add value to you all.
[00:15:22] And that's the right mindset. We're not all able to come up with 800 slide decks to deliver in a 40 minute presentation like Justin though. So find your own thing. Maybe that's blogging. Maybe that's social media. Maybe it's, authoring a book, contributing to open source, whatever it may be, figure out ways to help solve others problems, to help share what you've experienced.
[00:15:46] One of the best sales reps I know doesn't focus as much on what I can do for him. Every time I meet him for lunch, he asks, what can I do for you? Who can I connect you to? I think that, that mindset of service to others is why he's so effective as a sales rep. So even if you're just connecting to people at RailsConf who may, have an opportunity and may be looking for a job, that good karma comes back to you eventually.
[00:16:11] I think as your network grows, it becomes difficult to keep in touch with everyone, but these relationships take a lot of time and effort to build up. So basically make sure that you're persistent with it. Make sure you're investing the time to help these relationships grow because it will take time.
[00:16:28] We eventually got big enough at test double where I think the strongest generator of sales for us has been the awesome consultants that work for us. They do a lot of good work for our clients so much so that when a project ends. Our clients are often asking us, Hey, can you take a look at this?
[00:16:44] I know of a project over here that could use your help. Further, when they leave their company, Test Double is one of the first companies they think of. And when they talk to their friends who work at other similar companies, they recommend us. So this is what Jim Collins called the flywheel principle in his book, Good to Great.
[00:17:01] As we prepared the talk, we found out this is what a flywheel looks like, because we never really knew what that was. But the concept holds true, right? This thing is hard to get moving. It took us a long time to get to this point, but now it has enough momentum where even when our outbound efforts for sales maybe aren't producing the results that we want, we have a lot of stuff coming in inbound from past clients and people that we've worked with who recommend us.
[00:17:24] That's been huge for us lately. Justin, this one's for you. Test Double has a strong and quirky brand. Did that develop organically or intentionally, and how do you maintain it? Todd Strong and I'm Quirky. I'm a firm believer in brand for the job you want. There's a reason that when we started the company, I didn't just put our names up and say we were independent contractors for hire.
[00:17:43] I really, wanted to at least put on a brave face and pretend we were a real company. And I called ourselves a studio. Again, even though we were working out of our bedrooms. To present the image that like maybe we'll become a real thing someday. But unfortunately that exhausted everything I knew about branding.
[00:17:57] And so we hired a company called Basecraft, a branding agency, and First things first, we needed a logo. I gave them a few constraints about the logo. Thing I hate about all logos in tech I told them I don't want some Helvetica thing with a dingus on top. Not gonna cut it. Next, we have the word test in our name, so we probably should avoid reds.
[00:18:15] And then finally we found ourselves, from a marketing perspective, sandwiched between apathetic waterfall development and snake oil agile consultants, and we wanted to provide a message of improvement that was indeed counter cultural, so maybe a little bit cheeky and they delivered we have this really A distinctive logo mark.
[00:18:34] We have certainly it's not red. A very bright green. And if you look at our marketing copy and stuff it's a little bit cheeky. In fact I didn't even realize nice code was, like, a double meaning until several years later. I'm dense. We also got a brand book, like 22 pages.
[00:18:50] Here's how to not use your logo and I'm the one now who is the keeper of the brand book, and I use it to shut down productive discussion whenever anyone has creative ideas. Cause that's apparently a really important part of branding. We have internal branding too, cause it turns out when you start a company, you have a lot of stuff that you have to name internally, and having a theme helps.
[00:19:08] I had a contest on Twitter years ago, asking like, what should we call our employees, and Leon Gersing won it. He said double agents. Which I thought was a fantastic thing we all love, and so now we've taken the spy motif way too far. So our full time employers are double agents, our subcontractors are special agents people who leave the company we call sleeper agents, which was a joke, but then they, they tend to win us work at their next employer anyway, and so it's kinda true.
[00:19:32] Bridge agents are who help shepherd people through our recruiting process. We compartmentalize information between subcontractors, full timers and managers in these separate repositories. Our first recruiting app was called gum shoes. We have two modes of management, the M branch for career management and Q branch for technical management.
[00:19:51] And then when you join as a full timer, you get your own double low designation. So, internal brand is, it's just fun and goofy and silly, and we don't normally talk about it publicly, but it's there. Basic branding tips. These are the first lessons that agency gave us. They said whatever you do, it doesn't have to be the best designed thing in the world.
[00:20:08] It just has to be clear and distinctive. It needs to be consistent. The goal is to like, give a stimuli and then get a particular response, hopefully a positive one out of people. So that's why the brand book guidelines are so strict. And it needs to just be repetitive. Just hammer it into people's skulls and eventually they'll think of you when they see some image.
[00:20:28] The next questions we got were a little bit about how to scale up as an organization once you've had some initial success. This one's also for you, Justin. How should founders split responsibilities when starting, and how does the structure change? One of my least favorite questions is, what do I do all day?
[00:20:42] And Todd and I have had a really hard time answering this question for ourselves because it just seems like the time flies. But when it comes to like how we divide these responsibilities between ourselves, the only thing that really matters to me is clarity, that we understand what the job is, who's doing it, make sure that no balls get dropped.
[00:21:00] Guess what every new business lacks? It's clarity as to what the jobs that need to get done are, and who should be doing them. And lacking clarity we really Instead formed a consensus management model for the first several years of the business What that means is we would just every time anything came up we would argue about it Even repetitively over and over again, and there's a very slow and exhausting way to manage a business But it has benefits too because eventually after the fourth time that we like have that argument the deviation we return equilibrium state where we Roughly are acting and normalizing in our approach.
[00:21:34] And then once that happens, it just becomes a battle of who cares more. So Todd, you clearly care more about recruiting. Congratulations, you're in charge of recruiting now. And that's the moment where we feel comfortable splitting up our duties. We wrote this like accountability chart of the basic functions of the organization that we need to keep operating.
[00:21:52] But back in like 2012, it was really just sales, delivery, and some admin tasks. And again, we paired on all that stuff. But the next year we started going more public and selling publicly to other people. Marketing, and so we paired on that too. Eventually we got to a point where having somebody sit in an integrator role to make sure that all the parts are talking to each other successfully became necessary and Todd took that task.
[00:22:12] And 2015 we were old enough that we had to consider, what's our vision, how do we articulate it internally and externally and I own that. In 2016 we'd reached a point where we couldn't manage everything anymore Todd and I were talking five, six hours a day sometimes just to keep everything straight.
[00:22:27] And so I stepped away from administration that's why I don't know how to run payroll anymore, for example. And Todd took a step back from marketing. And then in 2017 we decided that every single seat in the accountability bus should have just like one person in it.
[00:22:41] And so Todd backed off from sales and I backed away from delivery a little bit. We're still really involved in these things, but like each thing now has one person solely accountable for decision making and stuff. And you can see now how I have a more external focus and Todd's got a more internal to the business focus.
[00:22:57] But that's still not a job. Like we can't recruit somebody to replace us 'cause we're still doing these three disparate things, two of them poorly. And we can't replace ourselves or really grow much beyond this without making some changes. There's too much of our face in this chart. And so this year and moving forward, our objective is to divest ourselves of the jobs that we either don't want or aren't good at.
[00:23:17] And instead sit on the seats that we want to be in the longterm. We got a long way to go. If you email hello at test double. com, you will still get either zero or two replies because we don't have a system in place for figuring out who already responded to stuff. Sorry about that.
[00:23:33] But Todd this question I loved because the statistic is unsighted, but it said 90 percent of people who resign site poor management. Have we had much turnover and what have we learned about managing people? Yeah. So our turnover through the years looks somewhat like this.
[00:23:47] First year, just, and I could still tolerate working with each other. Two people we hired at the very end of the year, neither one left. So that was good. Second year, same thing. We had very little turnover, no turnover. Third year we had our first person leave which, wasn't great. We wished he would have stayed, but that was still fine.
[00:24:04] We felt very proud that, we'd only had one person move on to a different opportunity in the three years of running the business. We use this as, marketing. We would tell candidates in our process, we've had minimal turnover. And that was, just one misguided soul who left the company, right?
[00:24:17] We're an awesome place to work at. Then 2015 happened. Yeah, so that, that was not great. That was five of twenty people on our staff left in one year. You're probably wondering look what does it look like the last two years? Yeah, we don't talk about it as much anymore after 2015. We stopped sharing a lot of this data.
[00:24:39] Anytime you have something like that happen, you start to ask a lot of questions. We did exit interviews with everyone. And to answer the question was this poor management? That wasn't what came up in the exit interviews. Really, they had different reasons for the most part. So we were trying to read the tea leaves and really understand, how did we get there?
[00:24:58] How did we get to the point where five people left all in one year? And I think looking back at our organization it was very flat in the early going. High levels of autonomy and, no process really whatsoever. And we felt like these were strengths. And they did serve us well when we were really small.
[00:25:15] As we scaled up though, once we got to about 20 people, we started seeing that they also caused a lot of issues. People didn't feel like they had clarity where the company was going, how they could help. They didn't have direction, even worse. They didn't have support. So when client issues came up, they didn't feel like they could get time from someone to get through them.
[00:25:35] These are management issues. This is definitely a management problem. And that fell directly on my shoulders at the time. I was the one doing all of our one on ones. I was trying to support 20 people doing their jobs. And that was like a fraction of my day. So I was failing as a manager. I didn't apply enough time to make it successful.
[00:25:54] So we've leaned harder into one on one since then. We have four people conducting them now. They're more valuable. They're driving career growth. They're driving support for our clients. We've become a lot more effective at this throughout the years. And it has resulted in much less turnover.
[00:26:09] We've had one person leave in 2016 and 2017 total. So some of the things that we've learned as we've gone through this management rollercoaster obviously it needs to scale. That's the lesson you should take away from our 2015. And you probably want to scale it proactively and not wait until five people leave to then scale it.
[00:26:30] But this is in no way optional. I think one of the things that we felt early on was that we're hiring very experienced people. So they may not need that much support. They may not need that much management. And that's not the case. The moment where you're going to hire a person, I don't care what their capabilities are, You need to start putting some systems in place and people in place to support them effectively.
[00:26:51] Justin, this one's for you. How do you manage open source? Is it based on employee interest or does it have a conscious business focus? If our open source appears to be strategic, that is a happy coincidence it, in fact is probably just a signal that our people's personal and professional goals are well aligned.
[00:27:07] We hire a lot of people who want to make software better, so they spend time building open source. We want to make software better, so we work with clients doing the same. We have a lot of fun projects, like Scripty helps you wrangle your package JSON scripts. We recently adopted a dependency injection framework for Node.
[00:27:22] js called Dependable that's actually pretty good. I've put a lot of my heart and soul into Test Double, which is a mocking library for JavaScript, and the team's done a great job helping me. We have a legacy rescue, a refactoring tool for Ruby applications called Suture. That's helped some teams out.
[00:27:38] Jason Carnes is the lead maintainer of NodeENV, which is exactly like RBENV but for managing Node. js environments. It's a really great project. But last year at the retreat somebody asked, So what's our open source strategy though? And I did not have an answer. Sometimes we've jokingly referred to the dozen or so testing libraries that we maintain as the test double stack.
[00:27:59] But I don't think that really makes a whole lot of sense because there's just so much open source everyone needs. Somebody else suggested that we make a mocking library that's really opinionated for every single language and that just sounded like a lot of pain and misery. But where I think that we are special is we are on all of these so many projects every year, starting up in different environments, solving different problems.
[00:28:21] We've gotten really good at curating dependencies and figuring out what are the best tools for different kinds of jobs. And we don't have an, a solution quite yet that we're ready to share, but we have a lot of ideas about how we might become leaders and curators of helping other developers, Figure out what are the best tools for each different type of task I want to do.
[00:28:38] And understand that's a constantly changing and churning kind of environment. Last but not least, we got a lot of questions asking, basically, what do we regret? Or what would we have done differently? Yeah, this one's for you. What's something you've had to give up control of? Yeah one thing that I refuse to give up control over is that whenever anyone spells our company name this way, I absolutely lose it.
[00:28:57] I can't stand it. I get really angry. That space is, for some reason, very important to me because it is two words, not one, if you only learn one thing today. It's probably going to be this now. But, to be completely honest, growth requires that you let go. And the weird thing about being a founder is you're finding yourself really stretched thin, and all these jobs that you don't want to do.
[00:29:19] And as the company gets bigger and bigger, you'll just pop if you hold on to all of them. And so people often see me if you follow me on Twitter, I'm just complaining all day. They're, like, I'm sad, and I'm complaining about the stuff I don't want to be doing. And people are so kind, and they're like, can I help?
[00:29:31] And so then I do the completely rational thing, and I snap at them, and I say no. And I must retain control of everything all the time. And so I've retrospected, like, why do I crave this kind of control? What makes me a control freak about these jobs I don't want to be doing? And I think that the reason is that I've only They're not, my profession or my vocation.
[00:29:49] I only know them well enough to do them just well enough to get by. And that means I don't know them well enough to actually articulate what it is that I'm doing, how to do it, and share the work with others in a reasonable way. So we started operationalizing a lot of how we work. That means understanding what we're doing and documenting it as some kind of process.
[00:30:07] Figuring out how to evaluate whether that job is being done well or not. And then the hardest part, holding ourselves accountable to that level of measure. And only really at that point is it at all fair to like hand that work to somebody else. Because if you just give them unclear expectations, and then try to hold them to those without communicating you're setting them up for failure.
[00:30:26] Todd I'd love to know your answer to the question, what's the worst business decision that we've ever made? Yeah, that's a good one. Does anybody remember our marketing towards the end of 2016? Justin was getting out speaking at a lot of conferences leading up to RubyConf of 2016. We had this great pitch called Make Ruby Great Again.
[00:30:43] We were super excited about this. We bought a bunch of hats and stickers. Then two days before RubyConf, the election happened, and yeah, we threw all that stuff away. No that's a joking answer. Most importantly to Test Double, we're trying to improve what we feel is largely a broken industry.
[00:31:00] Software development is broken in a lot of ways. What we want to do is show maybe some clients some of the things that we've learned about attracting, hiring, retaining, and empowering software developers. So one of the ways our industry is broken is diversity. So the EEOC data respondents there, about two thirds of people in tech respond to he or him.
[00:31:25] Around one third respond to she or her. And the EEOC survey doesn't actually give you another option. So that's obviously not fantastic for our industry. So how does Test Double stack up against that? Much worse. So don't follow our example here, alright? At least learn from our mistakes though, which we're happy to share with you.
[00:31:48] When we were starting off, we were extremely nervous. You get to a point where you're delighting a client, the two of us were doing a good job, and they're asking for more people to help out. So we were really afraid of putting someone in front of this client who was going to fail. And we didn't have a qualification process or even a recruiting process at that time to rely on.
[00:32:09] So instead, we did what most people do in that case, that hire people they know. People from within their networks. There's only one issue with that. Our networks looked a lot like this. They looked a lot like us. So we hired in a lack of diversity in the early going. And as we started to have more fast-paced growth in those early years, we kept repeating this process.
[00:32:33] And, at the point where the company was, initially it was Justin and I's Networks were the company network, right? And it was largely a bunch of white men. And then as we hired eight other white men, guess what? Now it was just the same problem times 10. Okay? We didn't think about this enough in the early going, so please learn from our mistakes here.
[00:32:55] Proactively build your network. Try to make your network resemble the level of diversity you want to see in the company that you work at and the industry that we're a part of. Beware of culture overfitting. It was easy for us in the early going to want to hire someone because we liked them.
[00:33:12] That's not good enough. You may like them because you share hobbies or a taste in IPAs, right? You need to make sure you're hiring people who align with your company values and who provide capabilities you need for your product or your service. So get better at designing an interview process that has, objective metrics measuring these things.
[00:33:32] We've worked really hard over the last four years to try and pull out any level of bias. Finally, Ash Striden taught us this early on. If you're going to focus on improving level of diversity at the company, start with making sure your environment's inclusive of underrepresented groups. It does you no good to get better at outreach and qualification.
[00:33:56] If you're still a very broken company internally with regards to supporting people Justin, when do we call it quits? So when we founded the company and to this day, we do not have an exit strategy or a lifestyle business. And what a lot of our friends who founded companies like we've seen the same sort of series of events repeat for them, too, where you start a company to do a certain thing, like we started this company to get back into software development, and then you grow and you run out of time to be able to do that thing, like Todd and I no longer get to do very much software development, and so then you spend the rest of your life trying to figure out how to do that thing again which is the stage that we're currently in.
[00:34:35] And it's a little bit miserable. In fact, I talked about runway earlier. The runway, when we talk about it now, is really like, how long can we keep doing this and make it sustainable? Because if I have 18 hours of meetings each week, my soul can only last doing this for a few more years. But if I can ratchet that way down and focus on, some more like strategic stuff that's in line with what I want to be doing, Then maybe this is a job that I never need to quit that I can just do perpetually.
[00:35:00] And in fact what I'm finding is that as we make iterative progress there, the stuff that I would do on Saturdays and Sundays open source and pair programming with people is starting to more and more resemble my my, my Monday to Friday time. And so my hope is that it's just going to become something that's like a natural congruent part of my life.
[00:35:16] And I would wish that for anyone else here who starts a business and it's been as fortunate and lucky as we have been. Unfortunately we are out of time. Like I said, we only have time for 12 questions. We've got a lot more. I hope we get to share a lot of the rest of them with you. I hope we get to have some conversations over the course of the rest of the week here testable, we are still continuing to aggressively conservatively grow and I don't think there's ever been a time in the company's history where we had like a greater slate of client projects down the pike that we're really excited about.
[00:35:44] So if you ever, if you know us and you ever thought about joining now is a fantastic time to reach out and you can learn more about what it's like to work at testable. com slash join. So with that, thank you everybody. We're going to be here all week. Give you a sticker or whatever. And just, we'd really like to meet everyone that we can.
[00:36:01] So thanks again for your time.