Skip to main content

Enrich - Peer Groups for Executives

When your work is to manage an engineering organization there are few people you could get advice from.  If you are a Director, VP or CTO in a tech company there might be zero to a handful of other people with similar job responsibilities. Almost everyone accumulates a number of mentors or friends throughout their career but those connections fade and sometimes geeks feel weird asking other geeks to “get together and catch up.”

I have come across Enrich ( which is a facilitated peer groups and it helped me get some perspective and advice I don’t think I’d get anywhere else.  This group costs money and my company doesn’t pay for it, so I was fairly resistant to signing up for it at first.  My thoughts were that I am already paying a huge premium for living in San Francisco which has the highest concentration of technology leaders in the world.  I should be able to connect with people and foster those relationships without having to pay someone to organize group dinners for me.  The organic method didn’t work out that well, everyone at Director+ level with 20-200 people working for them has very little time. Folks who are managing engineering organizations at Google, Twitter, AirBnB are rarely at a random meetup and even if they are there it’s hard to find them.  There is no special signal for “people with a 30-60 person organization” and there is a bunch of people who are CTOs at a 10 person startup.

I got plugged into one of the Enrich cohorts about a year ago and it took about three group dinners for folks to warm up to each other.  It was really nice that someone else was dealing with schedules and someone else was in charge of lining up leaders that are in the same phase in their career.  The conversations got seeded with some generally interesting topics of discussion like hiring, diversity, performance management, compensation, distributed teams, but often times the group veered off into its own direction.  It was insightful to hear about how things were being done in big tech companies and some small startups.

Through the year I was able to get ideas about how to manage people who are working for me, manage up and also manage my own career.  The last one is especially hard to get feedback on within your organization.  Questions like “I think I am pretty happy, but I just got called by an executive recruiter at X…” are definitely not something you are going to bounce off the peers in your company.

Some of the folks have been a part of the same cohort for a year now and we have followed each other journey through job changes, re-orgs, mergers and other interesting events.  It’s hard for me to think about how I would have gotten those insights somewhere else.

If you are in a leadership role, software engineering or otherwise, I highly advice you to work on your peer and mentor group.  It’s a long game, but a rewarding one.


Popular posts from this blog

SDET / QA Engineer Interview Checklist

After interviewing and hiring hundreds of engineers over the past 12+  years I have come up with a few checklists.  I wanted to share one of those with you so you could conduct comprehensive interviews of QA Engineers for your team.

I use this checklist when I review incoming resumes and during the interview.  It keeps me from missing areas that ensure a good team and technology fit.  I hope you make good use of them.  If you think there are good questions or topics that I have missed - get in touch with me!

SDE/T or QA Engineer interview checklist from Mike Borozdin
If you like this checklist you might want to check out these posts:
Emotional Intelligence in Software Teams  and Good-bye manual tester, hello crowdsourcing!

Code versus Configuration

At Ethos we are building a distributed mortgage origination system and in mortgage there is a lot of
different user types with processes that vary depending on geography.  One of our ongoing discussions is about how much of the logic resides in code vs. being in a workflow system or configuration.  After researching this topic for a bit, I have arrived at a conclusion that the logic should live outside of code very infrequently, which might come as a surprise to a lot of enterprise software engineers.

Costs of configuration files and workflow engines First thing that I assume is true is that having any logic outside of the code has costs associated with it.  Debugging highly configurable system involves not only getting the appropriate branch from source control, you also need to make sure that the right configuration values or the database.  In most cases this is harder for programmers to deal with.  In many FinTech companies where the production data is not made readily accessible…

Should this be a microservice?

After having developed several distributed systems and been a part of dozens of architectural discussions I decided to put together a way to frame the microservices debate. Microservices have been fashionable for some time. A lot of it stemmed from the fact that big and successful cloud companies are using microservices.  It seems reasonable that to create a “serious system” one must be using serious tools and architecture, today it’s microservices.  No engineer wants to be called out for creating a solution that “doesn’t scale.”

The definition for a microservice varies, but overall it tends to be a piece of your system that can run somewhat independently (unless of course it depends on other microservices) and has a REST or queue processing interface.  Overall code encapsulation and separation of concerns have all been around for a long period of time.  Current evolution with containers, fast networks and REST API allows people to easily integrate pieces of their system using web se…