When applying for a job, it’s kind of hard to tell what life would be like at that company. Sure, the job description says what you’ll be doing, and maybe it’ll have a bit of info about the company and its culture.
ActiveProspect has roughly 25 employees and two SaaS products: Lead Conduit, an app for the lead generation industry, and Trusted Form, which automates the process of certifying all those online leads.
As the company’s growth trajectory steepens, keeping those apps functional and fast has been a constant challenge for the team that works on them.
That team is led by Alex Wolfe (pictured right), whose official title is Software Architect. We interviewed him to get a feel for a day in the life of the devs responsible for sustaining and improving two products in high demand.
Here's what he told us.
It’s 13 of us total now, counting a new hire. There’s just one of me, and not much formal structure. We have titles ranging from junior dev through lead dev. A handful of leads are in charge of our products.
One person is in charge of Lead Conduit, and one is in charge of Trusted Form. Then we have one product manager working with each dev lead. The product manager works on prioritizing features and works directly with the woman in charge of user experience and customer success.
We’re a tool-agnostic shop, and we hire accordingly.
We find the best stack for solving the problem. The stack we use on a project depends on which product we’re working on. They’re built in different languages due to their differing technical requirements, but broadly speaking, the team uses Riak for their database needs and Elixr for the server side code. Lead Conduit is written in Node.js. But the technical team is free to use the tools they think are the best for getting the job done.
You might go to some places that say, “We’re a Ruby shop, so whatever problem we have, we’re going to solve with Ruby.” Here, we encourage each other to go out and find the best tools for solving the problem.
It’s actually harder if you’re working with multiple stacks to not hire specialists. But when we do hire specialists, it can be challenging because we are looking for a specific skill set. We don’t want someone who has looked at a program and read half a book on it. We need someone who has shipped a few things in that language already.
At the same time, we hope the folks we hire aren’t just Elixir devs and they’ll just do that and that’s it. We want them to have an open mind and look at other solutions.
Wolfe isn’t afraid to ask for help, even publicly.
I was in a meeting recently, talking about billing and wanting to build out a new system. We use Twilio in the office for a few things, and we wanted to reach out to them and get a response. That’s tough with a big company. So I went to Twitter. I don’t know if that’s typical, but it works. I’ve done it a few times. Companies feel like they need to respond to direct questions on social media.
@alexkwolfe if you cancel and have a balance, we refund it. If you abandon w/o canceling it stays "active." Hope that helps!— Twilio Help (@TwilioHelp) February 9, 2016
The challenges of staying strategic while moving fast
Keeping your eye on the ball when it wanders into the weeds: We try to make short-term decisions based on long-term goals. There’s tons of opportunities to say yes. Small yesses made today can have a big impact on what we’re doing tomorrow. I’m always looking really carefully at the choices we’re making. The biggest challenge there is you don’t always know if you made the right choice until later on down the road. Sometimes you have to walk things back.
Knowing when to go back to the drawing board: For example, the biggest strategic decision ActiveProspect made somewhat recently was to completely revamp Lead Conduit, our flagship product. We have v1, it’s a workhorse that’s been up and running. All our customers are using it. It’s a 10-year-old product chugging along, but over the course of having customers use it so long, we realized some of the choices made in designing that product were limiting factors. So we morphed it into something better. People in software say ‘never rewrite, you’ll get yourself into a quagmire,’ but the new product is coming up to speed great. it’s a lot more flexible than our old one, so we’re achieving that goal of being able to build features onto it. It was a big choice — almost a gamble — we put a lot of resources behind it. But it’s paying off.
Hustle and flow: We’re definitely not a formal Agile shop. We have our own brand of it that isn’t nearly as structured, if you look at Agile as a methodology. We do focus on what you could consider to be sprints, with one to three features we’re working on, and we get them out the door as quickly as possible. We’ll do deployments maybe three to four times per week. But sometimes we’ll go a week without having one. It all depends on where everything lands.
[video:https://youtu.be/l_RaIJa4bqc width:610 autoplay:0]
The best benefits of being a dev at ActiveProspect
Startup mentality. Meaning a ton of flexibility, but the financial stability of a bigger company. You don’t worry if the money will last. We aren’t VC funded. We’re focused on the problems we’re solving for our customers instead of how we’re going to close our next round and please our board. For a lot of startups, those two things can really change the culture at your company.
Having a direct impact on the company’s bottom line. The things that I and my team members do are immediately seen by our customers. We talk to people who come in for interviews, and the stuff they’re working on at other companies aren’t seen for months, if ever. Whereas here, you work on stuff, it gets shipped, and you’re responsible for it. Everyone who works here has serious impact on the direction of the company. We encourage everyone to think of their decisions in terms of how they will affect the company.
Some responses have been edited for length and clarity.