Coding Practices

Summarized using AI

Running a Business, Demystified

Todd Kaufman and Justin Searls • April 17, 2018 • Pittsburgh, PA

In the talk titled "Running a Business, Demystified" presented by Justin Searls and Todd Kaufman at RailsConf 2018, the speakers aim to clarify the complexities of starting and managing a software development company by sharing their experiences from running Test Double. The presentation is structured as a Q&A session where the audience submits questions beforehand, allowing the speakers to address numerous relevant topics. Here are the key points discussed:

  • Founding Motivation: The founders, Justin and Todd, started the company to create a better software consulting experience after encountering issues in their previous roles, such as poor compensation structures and toxic work environments.
  • Timing for Launch: They suggest not necessarily quitting a day job to start a business immediately but rather ensuring a steady financial runway and validating customer interest in the product or service.
  • Hiring Strategy: The founders discussed their approach to hiring at a steady pace, focusing on sustainability rather than explosive growth, and emphasized the importance of aligning developer expectations with client needs, leading to cautious yet effective growth.
  • Remote Work Dynamics: Their decision to maintain a remote-first company structure was driven by necessity, which they found fosters flexibility in hiring and operation while also presenting challenges like tax complications across states.
  • Client Acquisition: They highlighted the significance of building meaningful relationships and networking rather than cold calling or pitching, suggesting that strong connections result in client referrals and opportunities.
  • Internal Branding and Culture: They shared how their quirky brand identity developed over time through conscious and organic efforts, contributing to a strong company culture that reflects their values and mission.
  • Management Challenges: The discussion touched on the evolution of their management style, emphasizing the need for clear roles as the company scaled, leading to a more structured approach to accountability and support.
  • Diversity and Inclusion: Justin and Todd acknowledged their early missteps regarding diversity in hiring and discussed the importance of proactively diversifying their recruitment network moving forward.
  • Advice for Entrepreneurs: They concluded by noting that starting a business is a continuous learning process, and embracing imperfections is vital for long-term growth and satisfaction.

The main takeaway from this talk emphasizes that while starting and running a business can be daunting, it becomes less mysterious through shared experiences, careful planning, and an emphasis on creating a supportive and inclusive workplace culture.

Running a Business, Demystified
Todd Kaufman and Justin Searls • April 17, 2018 • Pittsburgh, PA

Running a Business, Demystified by Todd Kaufman

Building a business is both mysterious and hard. We can't do much to make it easier, but after 6 years running Test Double, we can make it less mysterious. This talk is a slow-motion Q & A: submit a question to http://testdouble.com/business and we'll build a slide deck that gives as many practical (and colorful) answers we can fit in a 45 minute session.

This talk is for anyone whose interest in starting a software company has ever been held back by fear, uncertainty or doubt. It assumes no knowledge of business jargon and will strive to explain each financial concept covered.

RailsConf 2018

00:00:11.960 I think a lot of people are probably going to be filtering in from the exhibit hall right at the point where we're showing all of our marketing information about our company, our Twitter handles, and other details. It's good to see everyone today! There's a lot of space between the stage and the first row of seats, so you may feel very small if you came here expecting a Q&A session with microphones being passed around. We're sorry about that! However, we're going to be here all week, so if you enjoy the talk and have questions about running a business, there's almost nothing that Todd and I aren't comfortable answering. We'd love to talk to you and meet you.
00:00:49.620 Trying to figure out how to go from this awkward introduction to actually starting in a meaningful way, should we just power clap? Okay, let’s get started! The title of this presentation is 'Business on Rails.' It's a Q&A session of sorts about running a business as a software developer.
00:01:10.410 Our company's name is Test Double. We're on a mission to improve how the world writes software. Our developer consultants pair up with developers like you on your projects to get things done, while also looking for ways to improve processes. We were founded in 2011 by just the two of us: Todd Kaufman and myself. We started with zero prior experience running a business. Currently, we have grown to around 45 people and are serving 14 clients.
00:01:37.650 As a result of our experience, all of our answers here may vary based on our specific circumstances. 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 your questions at testdouble.com/business, and you have submitted some really fantastic questions. The first piece of business advice I would like to share is that developers often struggle with estimating. We hand-picked 35 questions that we wanted to answer and I even wrote slides for 25 of those questions, only to realize that we could only fit 12 into our 40-minute session. So, we have a lot of other content that we plan to share in bite-sized chunks after today's talk.
00:02:22.140 The first series of questions that we received were from people who haven’t started a company yet but have an idea for one. To kick things off, I thought I would ask Todd, why did you decide to start a company?
00:02:40.680 Thank you! People who know us might think we started the company for the wrong reasons, like trying to get rich or to escape the khakis we had to wear for enterprise clients. That wasn't necessarily true for us. Justin and I worked at a consulting company where we were commuting five hours to a client, which gave us ample time to discuss what was wrong with that client, and the conversation expanded to what was wrong with the consulting company we worked for. We noticed a common theme: people weren’t compensated according to the value they provided.
00:03:30.880 At these consulting companies, the highly compensated sales representatives sometimes acted in ways that didn't align with the best interests of the business. They would set up projects just to earn commission checks, even if those projects were destined for failure. I remember a story where a sales representative showed off photos of his new boat to the team working nights and weekends to try to deliver a project. It just didn’t seem fair.
00:04:10.480 The consulting company we were with was heavily focused on Agile methodologies, to the extent that we spent an inordinate amount of time discussing user stories and product backlogs, rather than actually writing software or applying test-driven development. Some companies treated developers as commodities. I once had a CEO tell me that one of the best developers he’d ever worked with left because he was replaceable; they could find another developer on the street.
00:04:56.490 Additionally, some clients were genuinely toxic, and the goal wasn't to fix them but to become more ingrained in their operations, which didn’t sit well with us. So, we began talking about building something different. We envisioned a company that would free us from these enterprise restrictions—like having to wear khakis or any pants at all, considering we were a remote company. We wouldn’t have to work with Java EE anymore, or undertake fixed-bid, fixed-scope projects, which were easy to sell but hard to deliver.
00:05:54.920 We were also done with perpetual client travel—driving in the car with Justin for ten hours pushed us in the right direction to move toward the kind of company we wanted to build. We aimed for an organization that had realistic expectations for both our developers and our clients. If those two things aligned, we could add value on both sides.
00:06:11.930 Now, a question for you, Justin: when is the right time to quit my day job to launch my company?
00:06:40.440 Great question! Legally and technically speaking, you can start a company without quitting your job. For example, you might be aware of Aaron’s company, Adequate, which was started because he wanted to buy pork belly at wholesale prices; the restaurant group would only give him that discount if he was incorporated. Anyone can start a business, but the real question is when you should leave your job to focus more on this new endeavor. When Todd and I started Test Double, we were laser-focused on one thing: figuring out how to build a runway to give us enough time to make the business stable and viable.
00:07:40.310 That runway meant calculating how long our savings could last given some hypothetical revenue. If we could win some early revenue, it would allow us to stretch that runway even further. Another thing I would recommend doing is talking to potential customers beforehand to ensure they would be willing to pay for your services before potential quitting. Many people like to work in stealth mode; maybe you can create proofs of concept or start developing your product during nights and weekends.
00:08:20.310 However, you should be mindful of any agreements you may have with your current employer that might restrict you from doing that. Before you launch, also remember to keep your finances in order to ensure you have a sufficient runway. Validate that customers are willing to pay for your goods or services, and make sure you have the right mix of naivety and courage to take that leap of faith.
00:09:01.060 To be honest, programmers are a hot commodity right now. Even if you were to fail, you could likely return to a higher salary as an employee, so the bar is fairly low at the moment to make that jump if it’s something you really want to do.
00:10:35.620 The next questions we received are about starting a business logistically. Todd, at what pace do you hire developers? Are we a growth-obsessed startup, or do we constrain our rate of growth?
00:11:06.160 This is a good question, and we see this a lot in our industry, especially with VC-backed startups that grow just for growth’s sake. We know a founder of one such company in Columbus who changed their company motto to, 'You gotta spend money to make money.' We found that while he was trying to secure a serious round of funding, he was burning through cash just throwing developers at problems. Fred Brooks warned us about this 40 years ago: throwing more people at a problem doesn’t make it go faster and doesn’t guarantee a better product.
00:11:43.460 So, why are companies so obsessed with growth? It makes sense when you realize that many of these companies don't have a lot of customers yet, or potentially any revenue at all. When they seek the next round of funding, they need to show investors that they are succeeding in some way, and one metric they cling to is the number of developers they employ. Initially, when Test Double was just Justin and I working out of one client, we realized that any resignation or acquisition could threaten our financial stability.
00:12:37.490 As a result, we made a few hires to promote stability. Those additional hires allowed us to pursue clients and projects more aggressively. Now, we’ve reached a point where if a couple of projects end unexpectedly, it isn't financial ruin for the company. We may still be profitable that month and able to pursue opportunities that we might have otherwise had to pass on. We describe our growth model as cautiously opportunistic. Those who know Justin and me well understand that he is extremely cautious, whereas I tend to be more opportunistic, which allows us to work collaboratively.
00:13:46.660 This model has resulted in healthy growth for our business. We may not experience the exponential growth that some companies talk about, but we aren't linear either. We're growing in a way that allows us to have a broader impact with a more varied client base. Now, Justin, why did you start the company as remote-first? Any unexpected consequences?
00:14:52.310 Great question! Truthfully, there was no master plan to be a remote company; we were victims of circumstance. Todd and I live about 10 miles apart in Columbus, which, given traffic, translates to about an hour and a half of billable hours that we would lose if we insisted on co-locating. After the 2008 crisis, many offices downsized their space. Instead of expecting all contractors to come inside, they no longer had room for them. Additionally, home internet was fast enough that pair programming became a viable option.
00:15:42.050 All these factors combined to make defaulting to remote work sensible. We had treated remote work like a liability at first, but we now see it as a core asset. It allows us incredible flexibility in who we work with and who we hire. For instance, if you meet someone at the conference, you may feel a strong desire to collaborate, but the next conversation might require that they sell their house and uproot their family, which is a high barrier to collaboration.
00:16:51.040 With remote work, we can hire people across 14 states and two Canadian provinces, finding talent that aligns well with our mission and improving the industry. Additionally, remote work promotes autonomy. In the past, I’ve had clients who ran traditional office environments where executives would literally scream at developers in shared spaces. Being at home allows for control over variables like when, where, and how to accomplish tasks. However, there are challenges to remote work.
00:17:58.370 For example, we owe taxes in many locations, and we pay more to accountants than most companies do—around 30-40% of our time goes to tax-related issues. When we went to Ohio seeking tax abatements, they acknowledged our success but rejected our request because we weren’t hiring more people locally. We've also had to navigate employee regulations, such as ensuring compliance with Maryland's stringent employer rules, requiring us to purchase notices to hang in offices, which was surprising.
00:19:14.090 Another challenge is communication, as people in different projects may not have opportunities to connect regularly. To address this, we instituted 'coffee time,' a small robot that emails team members randomly each week to encourage informal conversations and interactions with colleagues they don’t regularly communicate with.
00:20:15.070 We also come together twice a year to enjoy each other’s company, build camaraderie, and realize how much the company has grown. Planning for the next six months and brainstorming as a group in person is valuable. However, it can be tough for very extroverted individuals to work alone from home without interaction, just as introspective individuals may worry in the absence of direct management.
00:21:43.500 For me, it took years to feel comfortable as a remote worker, but overall I don’t regret this decision. It’s been a great choice for a business like ours. Now, let’s talk about how to market and sell your services once you've reached stability. The first question on that front is: how do we find clients, and what has been our most successful lead generation source?
00:22:59.250 Finding clients can be difficult since strangers often don't want to hear pitches. Elevator pitches exist because people generally don't want to listen for two minutes, right? Cold calling, cold emailing, and using LinkedIn can all be daunting. From the beginning, we realized our success depended on building meaningful relationships in our network.
00:23:49.480 We’ve focused on growing our network and those meaningful relationships. It’s no coincidence we found ourselves in front of you at RailsConf; Justin invests a lot of time attending conferences and meetups. You can meet and connect with people who share your interests—get out to user groups, and conferences, even if you aren't speaking. Even through LinkedIn, you can keep in touch with past co-workers and old friends, allowing you to spot potential clients.
00:25:02.920 When your network grows and keeping in touch with everyone gets challenging, you may need a system to manage it. We use a CRM tool called PipeDrive, which we like a lot, but there are many options out there. It's essential that as you're working to expand your network, you remember that people do not want to be sold to.
00:25:50.730 What I love about Justin's presentations is that he rarely pitches Test Double. Instead, he shares insights and adds value to the audience. While not everyone can create 800-slide decks for a 40-minute session, consider finding your way to share knowledge—whether that’s blogging, utilizing social media, or contributing to open source projects.
00:27:07.440 One of the best sales representatives I know focuses on helping others. Whenever I meet him, he asks me how he can assist me and who he can connect me with. This mindset of service contributes to his effectiveness. As you connect with people at RailsConf, good karma comes around! Your network grows through persistent cultivation of relationships, which requires ongoing effort and investment.
00:28:06.330 At Test Double, our strongest lead generation has come from our awesome consultants. They produce great work for our clients, which often leads to additional project requests. When a project ends, clients frequently ask if we can help with other opportunities they have. Even when our consultants move on, they first think of Test Double when discussing opportunities with their friends.
00:29:48.730 Jim Collins talks about this in 'Good to Great'—this momentum we’ve built resembles a 'flywheel.' Initially, moving the flywheel is challenging; it takes time and effort, but once in motion, it gains momentum. Currently, when our outbound sales efforts are less productive, we find we're generating plenty of inbound requests as our past clients recommend us.
00:30:39.530 Now, let’s discuss our brand. Test Double has a strong and quirky brand. Did it develop organically or intentionally, and how do we maintain it? I believe you should create a brand for the job you want, not just the one you have. When we started, I didn’t want to label us as independent contractors for hire, so we called ourselves a studio, trying to create the impression of a real company even while working from our homes.
00:31:47.700 We hired a branding agency called Base Crafts to develop our logo. I made it clear that I despise the typical tech logos filled with generic elements. We also wanted to avoid red in our brand because 'test' is in our name. Our goal was to communicate our message of improvement, standing out from both traditional waterfall approaches and misleading agile consultants. We received a unique and distinctive logo that resonates with our brand.
00:32:44.090 We've built an internal brand too! For example, we hold contests to name our employees. One winner suggested 'double agents,' which humorously aligned with our spy theme. This quirky naming system and internal branding create camaraderie. We keep a brand book with guidelines on how to maintain our branding—clarity, distinction, consistency, and communication are crucial elements. You want to give stimuli that lead to a positive response from others.
00:34:18.220 Next, let's talk about scaling up as an organization once initial success is achieved. One question we received is about splitting responsibilities as founders. Todd and I struggled to articulate what our day-to-day responsibilities looked like. Clarity is crucial; it's essential to know what the jobs are, who’s managing them, and ensuring nothing falls through the cracks.
00:35:41.030 Lacking this clarity forced us into a consensus management model for years. Every time an issue arose, we debated it exhaustively. While time-consuming, this process led to a level of agreement where Todd, for instance, took charge of recruiting because he clearly cared more about that aspect. Over the years, we created an accountability chart for all key functions.
00:37:56.420 As the business grew, the need for distinct roles became evident. By 2015, both Todd and I faced challenges in managing every aspect of the business, so we assigned clear responsibilities to individuals. We realized there was too much overlap in roles. Going forward, our goal is to divest responsibilities from ourselves to allow for growth and proper fulfillment of roles. However, our communication processes still require refinement.
00:39:20.260 Now, let’s consider turnover in the company. A statistic I once saw claimed that 90% of employees cite poor management as their reason for leaving. We've had our share of turnover over the years. In our first year, neither hire left. In our second year, there was little turnover. However, by our third year, we had our first employee leave, which raised concerns.
00:40:24.880 Afterward, in 2015, five of our twenty employees quit in one year—this prompted deep reflection. During exit interviews, we learned that turnover was not solely about poor management but about a mix of factors. As we expanded, it became clear that our early flat organization lacked clarity for employees. Once we reached 20 people, support systems needed implementation to effectively assist their roles.
00:41:23.150 By increasing the number of team members conducting one-on-ones and being more supportive, we effectively reduced turnover in subsequent years, with only one person leaving each in 2016 and 2017. The key takeaway is that management must scale proactively with growth, ensuring clarity and support remain priorities through this process.
00:42:41.640 Now let’s discuss the intersection of open-source work and business focus. For us, our open-source projects gained traction because they align with our team’s interests and help fulfill our mission. We intentionally hire individuals passionate about making software better, fostering engagement and participation on open-source contributions. Past projects have included tools and libraries that address gaps within our industry.
00:43:49.930 Despite jokes about having an open-source strategy or an expansive catalog of tools, we recognize many of our endeavors contribute back to the community. However, we haven’t fully defined a robust open-source strategy yet. Our unique advantage lies in the countless engagements we have with various projects, allowing us to curate and champion the best tools for differing needs in the ever-evolving tech landscape.
00:45:00.470 Lastly, a frequent question we get revolves around regrets or lessons learned. A specific regret I have is over the spelling of our company name. I absolutely lose it when someone spells it incorrectly—it’s two words, not one. However, growth necessitates learning to relinquish control. Without doing so, a founder can quickly become overwhelmed by the responsibilities that accumulate.
00:46:57.090 Despite being handed numerous responsibilities I don’t enjoy, I still grapple with the urge to maintain control. This sense of control can stem from having limited expertise in various areas—making it challenging to delegate effectively. We started recognizing the importance of operationalizing tasks and documenting our processes, which ultimately facilitates collaboration and accountability.
00:48:16.380 Finally, Todd, what’s the worst business mistake we ever made? Well, it brings back memories from late 2016 when Justin had just begun speaking at various conferences. We had a marketing pitch called 'Make Ruby Great Again' lined up, complete with hats and stickers, but just two days before RubyConf, the election happened! We unfortunately had to throw all of that stuff away!
00:49:20.710 That’s a humorous takeaway, but in all seriousness, we’re trying to improve a broken software development industry through hiring, retaining, and empowering developers. Diversity has been a prevalent issue within the industry, which we want to address actively in the future. We advise anyone examining our history to learn proactively—building a diverse network ahead of time will help your business in innumerable ways.
00:50:36.590 In closing, while we don't have an exit strategy, we have learned that industry dynamics shift with time. Often, business founders find themselves immersed in operational tasks that prevent them from pursuing the core vision they had when they started their business. It has been a challenging yet rewarding journey for both of us.
00:51:45.090 I hope you enjoyed our talk today and we look forward to engaging with you throughout the rest of the week. If you’re ever interested in joining the Test Double team, feel free to visit testdouble.com/join. Thank you again for your time today! We’re excited to be here and will be distributing stickers and chatting with everyone. Thanks!
Explore all talks recorded at RailsConf 2018
+98