View on GitHub

polidoro

Vinnie's ReadMe Doc

NOTE: I’m proud to announce that since this ReadMe was written in 2018 Altru has been acquired by iCIMS! Everything written still applies, I just wanted to be up front about the context in which this was originally written.

Vinnie’s ReadMe

What Is This?

This document is a guide for anyone that works on a team that I manage. It was originally written for my role as CTO at Altru, but should apply to any role, at any company. The intention is to present this document as a sort of contract to set expectations clearly and allow you to hold me accountable. None of this information is secret or hard to discern in person; I just think it’s convenient and transparent to have it documented somewhere public. (More info)

A few quick notes before we begin:

My Origin Story

I graduated from Carnegie Mellon University with a double major in computer science and psychology. I’ve worked as a software engineer, a media engineer, technical director, and a cofounding CTO. My first company, PublicStuff, provided 311 services for local government. I ran it for 7 years until it was acquired in 2015. After that I spent some time re-tooling and getting ready for my next company.

On a more personal note, I’m a native New Yorker, I currently live in Williamsburg but have lived all around Brooklyn and Manhattan over the years. I have an awesome dog named Chip; you’ll probably be forced to look at pictures of him from time to time. Things I love, in no particular order: social psychology, the Knicks, science fiction, gifs, sushi, snowboarding, bike riding, and Muay Thai. I try to take a laid-back approach to life as often as possible. Sometimes I don’t succeed. That’s fine, we’re all just people.

My Job

Chief Technology Officers have two primary roles, as technical leaders and as individual contributors. The appropriate balance of these roles changes as the company grows. This is normal, but it’s important to understand the responsibilities of both roles because they vary so significantly.

Individual Contributor Technical Leader
Write code, manage pull requests Outline technical tradeoffs for CEO & board
Make architectural decisions Build & maintain engineering team
Decide which tools and services to use Balances engineering & product priorities
Responsible for system administration Mentor members of engineering team
Manage all developer operations Manage technical budget resources
Heavily involved in product management Remove roadblocks for engineers

As of this writing I am split about 50/50 between the two roles. As the engineering team grows I will end up spending more and more of my time as a technical leader. (More Info)

How I Manage

I spend a lot of time thinking, talking, and reading about effective management. There are a lot of conflicting opinions and a lot of data to parse, so here’s a brief rundown of things that inform my management style:

Working With Me

Logistics

1:1 Meetings

We’ll schedule one on one meetings every week. These will generally be 30 minutes long, sometimes longer, never shorter. The format will be fairly loose, but the intention of the meeting is specifically not to give a status update (that’s what standups are for). We’ll talk about product ideas, personal growth, team dynamics, what I or the team can do to be more effective, etc. This is the perfect time to bring up anything that is bothering you or stressing you out.

Performance Reviews

After you’ve been at the company for a few months we’ll sit down and set some goals for you. These can be personal, professional, or business related, but they’re so that you can hold yourself accountable and ensure consistent growth in our organization. We’ll refer back to this list regularly in our 1:1s, but they won’t change until the following year, so choose carefully.

Giving Me Feedback

Feedback should be fairly constant in our 1:1s or between them. I’m always trying to improve and I appreciate any help you can provide on that front, so long as it’s respectful and constructive. That being said, our annual performance reviews will include a management feedback component where we can discuss specific areas of improvement and things that are going well.

Personal Growth

It is tremendously important to me that everyone on my team always feel like they’re growing. To ensure that this is the case, we offer a number of perks and benefits to encourage learning, including a small budget for courses/conferences, a centralized list of books and articles on trends in tech, and knowledge-sharing opportunities like regular lunch-and-learn sessions. None of this is helpful though, if you, the engineer don’t take advantage of the benefits. If you want to learn a new tech or tool, tell me! We’ll try to find a way to fold it into the coming sprints, and if we can’t, we’ll set time aside to focus just on learning something new.

That’s it!

Hope this was helpful, please let me know what you thought of it!