Eight to Late

Sensemaking and Analytics for Organizations

Making sense of entrepreneurship – a conversation with Craig Brown

leave a comment »

KA: My guest for this instalment of my “sensemaker” series of interviews is Craig Brown. I have known Craig since about 2009 when he was a project and program manager. He has since transitioned to running his own software development company, Everest Engineering. So, welcome Craig, let me begin by asking you to introduce yourself and talk a little bit about your journey that got you to where you are now.

CB: Thanks Kailash. How far back do you want me to go? Would you like me to start right at the beginning or just the last few years?

KA: Mostly the transition from project and program management to entrepreneurship. What made you do it? What drove it?

CB: OK. Well, early in my career I worked at different companies and corporations, as many of us do. I even did a very small stint in consulting.  These experiences were interesting because I learned a lot about how things happen in organisations – what works and what doesn’t.  Early last decade, I started working at a SaaS company in a general management role. That was interesting because the culture in those places, the way they operate, is very different from the established corporate world. You’re much closer to “life or death” issues on a month-to-month basis. As a result, you’re much more invested in delivering customer outcomes and value than in compliance, rules and process. That was refreshing and super interesting because I had never been in that situation before.

Anyway, then the day came when it was time to leave that organisation. One of the guys that I worked with, Ranganathan, used to manage part of the team in India while I managed the team in Australia. The two of us decided we would start a software product development agency together, and so began Everest Engineering.

The switch from working for someone to working on your own business is a big one.   Many of the differences are well-known, entrepreneurs have talked about them: it’s a lot of work, it can be very stressful, you’ve got to be multifaceted, you’ve got to be wherever the business needs you at any particular time. So, being able to switch modes and roles is really important.

As the company has gotten bigger, we’ve hired other people to help manage the business, grow it, support it. Ironically, this next stage is about breaking our old habits of being everywhere all at once, its about learning to delegate authority, share responsibility and all that sort of stuff.  What I think is particularly interesting about what’s happening to us now is that it’s kind of the opposite journey to what large companies are trying to do: i.e. they try to reduce bureaucracy and increase entrepreneurship by giving people autonomy and responsibility. We’re headed the other way, not towards bureaucracy (I hope!), but towards more structure and order from what can be described as chaotic, freewheeling entrepreneurship. Yeah, it’s stressful but a lot of fun.

KA: OK, before we get deeper into the conversation, what does Everest Engineering do and where are you located?

CB: We are a software product development agency. Capability wise, we have software engineers, platform engineers, product people, designers, testers, business analysts etc. Our team members live in about half-half on the east coast of Australia (mostly Melbourne) and India. We also have a few team members in North America and have just started building a development team in Malaysia as well. So, we’re kind of distributed across the globe. At the moment, most of our customers are in Australia but we’re growing the customer base around the world as well.

KA: Hmm, there are a lot of companies in the software product development business. It must have been difficult to get traction. How did you do it?

CB: The traditional story (in software development) is that you either a) find a niche that no one is addressing well and zero in on that or, b) you come in cheap and claw your way to the top. When we started our business, we didn’t want to do either of those things. We also wanted to build a generalist software product company, not focusing on a particular domain or particular skill set as many small outfits do. Our vision is that we become a big global company that can engage with lots of different problems. At the same time, we knew that if we swaggered in to client discussions saying that, no one was going to be interested.

So, what did we do?

We started by focusing on the Melbourne market, primarily because that’s where I live. To get traction we decided that we would be compelling in terms of the match between price and quality. In the world of software, you can rent services from agencies which are poor or average quality on the cheap, or you can pay a lot of money for top shelf quality. What we wanted to do is not be the cheapest in the world, but be reasonably inexpensive while also really focusing on quality. Interestingly, over time the price-quality trade off has become less important, which has enabled us to focus on quality. I’m not sure why this happened but I guess it has to do with a common experience in life: when a piece of work is completed, what’s remembered is the good outcome, not the cost to get there.

There’s a kind of irony about day rates versus outcomes. It’s a weird one. For example, the price of some of our India software development teams might be double or even more than what some of our competitors provide. But the deal is that we’ll get it right the first time, within the timeframe and the budget that you’re asking for. Compare this to having an expensive rework nightmare, which often happens when the upfront focus is on cost. I’m aware that this could be sounding like an ad, but it’s really that focus on delivering a quality, delivering an outcome the first time that is the key. Our customers don’t necessarily understand this upfront because quality is hard to talk about, but it is easy to understand when you see it.  So the deal is that after our customers have worked with us, they begin to appreciate the quality aspect we bring.

Another aspect of our strategy is maintaining relationships and sticking together over the long haul.  It’s really simple to state: win over customers through doing good work and keep them through being compelling in our value proposition. However, it is not easy to do. Indeed, it is work in progress, we’re not perfect. These are aspirational goals, and we’re working our way towards them.

KA: I understand the price-value proposition. However, because it is such a crowded market, your first few gigs must have been hard to get. How did you go about doing that?

CB: Yeah, I think it’s a trust-based decision making process when buying expensive, large services. The customer will not know upfront what the quality is going to be like. Fortunately, over the last two decades, I’ve built good strong relationships with lots of people across our industry. So, a lot of people know me, and I’ve had interactions with them through my work or contributions to our professional community (Kailash’s note: For example, Craig is the founder of Last Conferences). That’s gotten me access to a lot of people.  To add to that, in the early days of Everest, we would straight up give people a money-back guarantee. We could do this with confidence because we knew our team members – we knew they were smart people with a lot of enthusiasm for doing right by everyone around them. That enabled us to say to our customers, “if you don’t like the work, you don’t have to pay for it.”  That combined with my personal connections meant that we were able to cut through and get that first round of trust that enabled us to build the company.

KA: It must be doubly challenging to maintain quality and align expectations with a distributed team. Can you talk us through some of the challenges that you have faced?

CB: Yes, and there some nuances around this. One is that the software labour market in Australia is older, on average, than in India. So, there’s an asynchronicity of experience, and with that comes a misalignment of expectations. A really important aspect of this is that we try to be explicit about expectations from different teams, and this is mostly about managing people’s expectations of what’s going to happen and when. Another aspect is for us to develop a shared understanding of what Agile means to us: things like  transparency, focus on throughput, customer value, responding to feedback etc. Once we agree on what they mean, we have to do those things on a day-to-day basis.

It gets even more complicated when you bring the customer in. As you know, every organization has got its own version of what Agile looks like, and different understanding of what “good” means. So, we try very hard to moderate our version and meet the customers where they’re at. In other words, we co-develop shared Agile practices. A phrase that I think really resonates with the customers we work with is let’s improve together.  When there are cultural differences, we don’t see them as barriers. Instead, we reframe them as strengths. It is like, “right, we see things differently, and that is interesting because I hadn’t thought of it that way.”  These differences aren’t necessarily country to country, they can also be industry to industry or organisation to organisation. Of course, there are things that are cultural too. For example, if we’re doing retail websites, the online retail experience in India is different from one in Australia and, therefore, so are expectations of how things should work. You have to step back and go to first principles of user experience design and product management; you have to slow down and talk about what good looks like, and how we’re going to get there.  

Lastly, there’s the issue of managing timezone differences. To be honest,  we don’t find this a problem. The overlap between Australia and India is sufficient, and can lead to some good patterns where there’s like a half a day of focus time and a half a day of collaboration time. But again, this requires planning and preparation. You can’t just turn up to work and go; you have to be thinking ahead about what you are going to do.  As long as you’re able to level up your planning you can take advantage of this.  This also has general positive downstream effects: if everyone’s more organised, there’s less waste, better decisions are made better, and so on. However, it does take effort to get there.

KA: You used a phrase, “let’s improve together with our customers.” Can yougive me some sense of how this works in practice?

CB: The examples are quite mundane to be honest.  When a bunch of people come together to work on a new project, there is some learning required on how you are going to work together. As I had mentioned before, patterns and practices will differ between organisations.   For example, should you focus on Continuous Delivery and DevOps stuff. or should you focus on better product management or sensemaking and design work? The answer is: it depends. We (the customer and us) bring different strengths to the table, so we look at the situation in front of us and decide how to work together.

First of all, we agree on how we communicate, how our day and week runs – all that kind of normal sprint cycle stuff. Then we can get into specifics such as, how do we optimize (our ways of working) around the product that we’re working on?  What is a good outcome? What are the constraints?  In addition, we will have patterns and practices that we can kind of share with each other and learn together.  This is not about telling people about your practices like you have some special access to the truth. Instead, we slow down and go, “Alright, cool. I see this problem here. Do you see it too?” And then you might go, “Yes, I do.” Or you might go, “huh, I see a slightly different problem.” Or you might even go, “I don’t see a problem.”  That opens a dialogue and, before you know it, we’re solving the problem together instead of telling each other what to do. How that manifests could be as simple as changing how you run stand-ups, or set up sprint plans, good coding standards, or the emphasis you put on product design versus shipping a product. These are mundane, well-known things but the trick lies in how you customize them to the context of a specific relationship.

KA: Interesting. So, when you actually hire and get people in, you’d be hiring for technical smarts on the one hand, but you’d also be looking for, a kind of propensity to collaborate. Is that right?

CB: I hire certain kind of certain roles but the bulk of the workforce hiring is done by other people so I’m not actually close to the details. However, I do know that the notion of culture fit is taken pretty seriously in the recruiting process. From this perspective it is mainly about managing the tension between being an individual contributor and a team member. On a team, you will be an individual contributor so you do need to master your craft, be good at the job and all that sort of stuff. However, you also have to think about where your ego is. Do you have this deep need to be the hero, telling everyone what to do and being the master programmer.  Or do you deploy value through a collective effort?  By doing good work, but also looking around, seeing your teammates, recognizing their work and supporting them when needed. We draw these kinds of things out in interviews through storytelling, by asking for examples.

KA: When I look at what you’ve done, it seems like, such a simple idea: to not go on price or quality alone, but somehow marry the two. It’s like you saw a gap in the market, an anomaly that nobody else noticed – or if they did, they did not think it worth pursuing. I find that really interesting.

CB: Yeah, it is kind of like that. There  are a bunch of software agencies that I used to work with, here in Melbourne, they are full of great people. They are also what you would call the premium software agencies in Melbourne or in Australia – quality is top shelf but so is price.  Then at the other end, you’ve got these big factory warehouses of people who are lowly paid and not well supported.  And then there’s this place in the middle that’s almost unseen. What we thought we should do is compete on the one hand, at the quality end, and then also come in cheaper by leveraging the cost differential between the two countries.

You might say we are reinventing the outsourcing experience by maintaining the connections and relationships like small agencies but being able to do things at scale by having the staff, skills and experience commonly found only in much larger outsourcers.

KA: Right, and the interesting thing is that you grew the business in some pretty challenging times. Could you tell us about how you handled the challenges thrown at you by Covid, for example?

CB: Yes, there’s been a few things right, there’s been the COVID pandemic and now we’re on the cusp of another economic crisis. Indeed, the pandemic hit right after we got started. One of the things that I think enabled us to be resilient has been spreading our bets. So rather than chasing after a handful of big customers, what we’ve done is pursue a relatively even spread of customers in different segments, sizes and organisations types. So, as these crises ripple through different parts of the world economy, it hits us at different times rather than all at once. Don’t get me wrong, the middle of 2020 was really tough, but the fact that we had our spread was what got us what got us through that. I’m not sure if I’m using the term antifragile, properly, but it kind of leans into that. By spreading your bets, you discover all these new people, markets and domains that can grow into opportunities.

KA: That makes good sense. So, what next for Everest?

CB: We’ve been fortunate to have attracted these really interesting and diverse bunch of people to work for us. Equally, we’ve attracted an interesting and diverse bunch of companies that work with us as customers.  We’re only a few years old – four years this November – so we’re still focusing on our core business which is software development. I think in a year or two ahead, I think we will start to see that antifragility or diversity blossom into new opportunities. For example, we definitely want to work in the data space.  We’ve got data engineers and some people who have done projects, with machine learning and so forth, but we don’t actually have it as a practice. It’s kind of ad hoc at the moment. So, maturing these things into proper business units that have got sustained impact on the world will be something for us to do. And then there are other things we’re looking at – for example how product management works in the industry. Specifically, the patterns and the strengths and weaknesses in the product management industry and whether there are ways in which we can contribute to that community.

At heart we are a bunch of explorers and experimenters still…and hope we will remain so. We are on a journey through adjacent possibles. It is the only way to stay fresh and ensure that we don’t get pigeonholed.

KA: So, you’re continually scanning the periphery and horizon to see what new things you can do by adapting what you have. That’s brilliant!

CB: A lot of it comes through the diverse talents and interests of the people we work with, right? We’ve ended up attracting quite interesting people to work with us. Interesting people have – well –  interesting interests! So, for sure, the key thing is to get work done and ship products in time. But another important thing is to make the mental space so that you can actually invest time and energy into the things that you’re curious about. Ultimately that’s what spawns new ideas and new opportunities.

KA: That’s a nice place to close our conversation. But, before we do that I want to ask you one final question: what advice would you give someone who wants to start doing their own software development (or any other) business?

CB: The advice you hear from people that study new businesses is generally something along the lines of: it’s going to be harder than you think; it’s going to take longer than you think; you’re going to get very stressed and have these moments where you wonder why you’re doing it. But at the end of it, you’ll look back and love the fact that you’re doing it. And I think that’s actually true, right.  That said, I think that embracing the chaos and uncertainty isn’t for everyone. Like, here I am, I grew up poor, in a single parent family in regional New South Wales. In my late 20s, early 30s, I started working in corporate Australia in tech. All along I have been burdened by the usual mortgages and lifestyle costs and all that sort of stuff. And I haven’t climbed out of that yet: I’ve still got a mortgage I can’t afford. But yeah, it took me a while to get started on the entrepreneurship thing.  I was 48 when we started Everest, and it was driven partly by events outside my control. As I said at the start, the company I was working for got acquired and that gave me the push I needed to do my own thing. So, there you go. It’s not for everyone and, yes, the right circumstances have to be in place for you. But once you start, I think you’ll embrace it.

KA: That’s an inspiring story and some great advice Craig, particularly for older people who want to start doing their own thing.  You were driven to entrepreneurship in a way but you stuck to it and made it your own. Brilliant stuff, thanks so much for making the time to have a chat.

CB: Thanks Kailash, always a pleasure.

Written by K

November 1, 2022 at 3:42 am

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: