Welcome, we're glad to have you.
While my cofounder Brian has been blogging extensively about the origins and business foundations of Kalivo, this'll be my first foray. Bear with me, blogging does take some mental recalibration (e.g. first person?).
So, what better way to start than a personal introduction; however, rather than the boring resume material I thought I'd start with a few highlights of my professional philosophy. Here's a synopsis of the things I find critical as a software engineering manager. In list form, of course :-)
Commercial Focus
I long ago moved from an interest in building the "coolest" technical products to building "successful" ones. What's so great about your superslick technical achievement if no one uses it? It's that simple.
Over the years this change informed lots of important decisions, for example:
Putting the customer first. Fully embracing the user perspective and realizing that the "best" features start with an appropriate user experience.
It almost goes without saying, but prioritizing feature sets.
Understanding how to build "sellable features" and how to give your sales and marketing people the product mix they can get behind and evangelize. This lead to a whole series of important lessons concerning folks on the business side of the house, but that's probably best left for another post.
- Avoiding product gold plating, unnecessary extravagances, or getting ahead of your audience.
- Knowing when to ship and when to keep working. Which has also been closely related to making good release planning decisions; what's the right mix and ordering of features along with the delivery timing.
- Identifying and hiring team members whose motivation will be success oriented and thus prone to working hard and remaining focused.
Ultimately, I attribute much of my career development as an engineering to becoming commercially focused.
Hiring Blended Teams
Yep, you read it here first, I don't "hire only the best". Not that I believe that's even possible, who has that kind of budget? Much less access to a pool of talent that deep and unemployed. And, yes, I do believe the 80/20 rule applies to software engineering.
It's another post to discuss the "only the best"approach, for now I'll focusing on the hiring "blended teams" ... teams with these qualitites:
A mix of experience, skills, and interests. I prefer as many junior engineers as very senior ones (senior being 10+ yrs). I want the woman who loves UI design sitting next to the guy who hates the UI.
One, two or a handful of true "superstars". Individuals who can take a task with barely any requirements and just own the problem through construction to delivery.
A least one "father figure". Most superstars are good mentors, but not all are and for a blended team to excel there must be continuous teaching during all phases and situations.
Individuals favoring hard work, open communication, and continuous improvement. Frankly, these are qualities typically found in "the best". I never said there weren't similarities or overlap. :-)
And why? Well, besides the practical concerns of budget and availability you have a few reasons:
A better distribution of ego. Let's face it "the best" frequently know it and we know the possible reprecussions of that knowledge.
A better distribution of work. Not all tasking is glamorous or challenging enough for your superstars, so why have them do it? Get your first year engineer to punch it out. For her it is challenging plus, as with every task, you can be teaching all the related habits: proper testing, version control, documentation, design, coordination, build, etc, etc.
A better framework for decision making. At this risk of catching disproportionate flak, from an efficiency point-of-view 3 cooks is better than 12. Clearly, trust and size of decision are factors here, but in my experience decision-by-everybody works slower than decision-by-the-right-subset. (Perhaps another post is warranted?)
An engine for growth. Tomorrow's superstars are today's properly lead junior engineers. Tomorrow's fiercly loyal team member is the one you've recognized today with a leadership role and challenging work. Sustainable, long term performance originates with an investment in each team member and a expectation of execution.
That being said, the best blended team still requires one critical component:
Work - Life Balance
Work provides us resources so that we might live whatever life we choose. This isn't strictly financial, but including access to individuals, rewarding accomplishments, and a foundation for building something in this world. Furthermore, work must permit time for the use of those resources.
Frankly, it works the other way to, but I imagine you understand that.
In a nutshell, that's me as an engineering manager. Feel free to comment or disagree. Or just wander around and learn about Kalivo.
Future posts I'll dig into the strategy, the product, and general goings on around here.
Thanks, Scott