I lead Mindscape with my co-founder Jeremy. I thought I’d share some of the experience of making the migration from being a software engineer to being the business guy of Mindscape. I hope you enjoy a less than technical post for a change! 🙂
When Jeremy and I met in 2004 we both were software engineers. Jeremy was a legend, I was not to shabby but lacked some of the professional experience (he’d been in the game for a few years and is a brilliant Engineer to boot).
In 2007 we left our employer and started Mindscape. Although we don’t really use labels, our actions were clear – he’s the tech lead, I’m the business lead. We still discuss most business decisions, but we each have our own responsibilities.
This was an interesting transition for me. Going from living inside my development environment through to running a company, hiring staff, investing capital, managing accounts, etc.
I used to half joke that I considered this my skills over time like this:
I’d say “I sure hope I’m not in the bottom of the valley – no good at coding and rubbish at running a business!” 🙂
We’ve now been running Mindscape successfully for over 6 years and I think I’ve made good on some of that up skilling. The company has grown, the products have improved, we’ve hired more people. It’s certainly a life long journey and as time has gone on, I’ve had the experience of helping other engineers make the jump.
Based on what I’ve seen, as well as my own experience, here are some of the key challenges:
In the early days I used to feel like the dunce of the class. I’d read books, I’d talked with folks I respected, but I just lacked the confidence to really push some things through.
This changed over the course of about 18 months. What really helped was seeing some issues I didn’t push back on turn to complete crap. That made me think “I should have pushed harder on that”. I still certainly make a lot of mistakes, but every business needs somebody making the call – just hope they’re right more often than wrong, and when they’re wrong they’re not fatal.
Certainly also making sure you defer decisions you’re not an expert at. Jeremy is fantastic for bouncing ideas off, and I rarely argue a technical point because I know I’m probably wrong (remember the chart JD, remember the chart).
2. Business is soft, not hard
Software development is basically glorified mathematics. You can make something perfect. You can prove something is optimal. You can rapidly test. You get instant feedback.
It trains you for the reverse of what running a business is like.
There’s rarely a perfect decision. You’re always making trade offs. Balancing risk. There’s a lot of juggling that needs to be done to make a business.
On the plus side, I found myself often thinking of ways to make running a business more like software development. How can we get feedback faster? How could we test ideas sooner? It helped challenge some established thinking.
3. Not falling back into comfortable position
When things aren’t going so well, or you’re just tired and worn out, it’s easy to fire up your dev environment and just pitch in on the coding work.
That’s almost the worst use of your time as the business leader. Unfortunately, it’s super easy to fall back into – even to rationalise – but it’s not how you build a great company.
I read a great quote once: Great businesses are not built behind a monitor. I try to remind myself of that.
4. Coding is a super power
Having said you shouldn’t fall back into a comfortable position, I will say coding is a super power.
Need to dredge your database to help make a decision? I can do that without thinking.
Need a quick program to do something more funky than I can’t do in Excel? No problem.
A customer gets in touch with a technical issue? I can take a stab at solving it.
Our company builds tools to help the best developers create great products. Being in charge and knowing how to code ensures I can relate to our customers, but any CEO who can code has a super power.
5. Never stop hustling
You’re the person who needs to embody what your business is about more than anyone else. If you don’t exude passion about what you’re doing then you shouldn’t be doing it. This comes as quite a challenge when you’re used to working quietly on your own most of the time.
Learning to tell a great story was a new challenge for me. Seriously – it’s one of those things you don’t consciously think about until you realise you suck at it. I’ve been getting better at this. Actively working on getting the message out there, at presenting that message more clearly and infusing that passion to those who are listening.
It’s a big change, but a worthwhile thing to work on.
It’s been a great journey, and while it’s been a few years now, I do enjoy constantly improving on my skills.
If you’re an engineer who’s made the jump, I’d love to have you share your experience in the comments for others to read!