Welcome to the team! I'm excited to get to know you as we work together. I'd like to share some of my management philosophies and personal information to jumpstart the process and help you feel at home.
I live in Raleigh, NC with my wife and 3 dogs. We have one daughter curently majoring in industrial design.
I've worked remotely, mostly for West Coast companies, for over 10 years and feel very comfortable working this way. Before managing full time I was a software engineer and worked mostly on backend and distributed systems. I have experience with a number of programming languages including Erlang, Elixir, SQL, Go, Python, and C/C++.
I still enjoy coding and try to have at least one or two side-projects active.
I've also done a lot of public speaking and enjoy helping others improve their speaking skills.
My pronouns are he/him.
I consider myself to be a servant leader. This means my role is to serve the needs of the team, facilitate its success, and the personal growth of its members.
My top two priorities are:
- Attract, hire, and retain talented folks (that's you)
- Ensure the team is happy, productive, and aligned with the business' goals
Simply put, I'm here to help you grow and achieve your best.
I am not a micro-manager. You are on my team because I trust & respect you. I believe the best results are always achieved by hiring the right people, connecting them with interesting work, and removing obstacles from their path.
While I'm happy to discuss anything I expect you to make good decisions without my direct input.
- Should I update a dependency to save time in future sprints? I trust you can weigh the pros and cons and come up with the right answer.
- Should I refactor a section of code now to make implementing a new feature easier? As in the previous example I expect you to be able to balance expediency vs. hygiene.
tl;dr If you aren't sure ask. Ask your teammates or myself. We're here to support each other.
Even with autonomy I expect you to collaborate regularly with the rest of the team. Working solo might be personally gratifying in the short term but it creates silos of knowledge and erodes team cohesion. If I think you're working on your own too frequently I'll provide feedback and help you course correct.
My approach to process is best captured in two simple equations.
People > Process
People + The Right Process = Awesome
Since each team and project is different I like to tailor process to fit our needs. As needs change so will our process.
Finding the right process is a team effort. I will be transparent and candid when I think process is working well and when I think it needs to change. I expect everyone on the team to do the same.
I have a family and several outside interests. I value work/life balance in my own life and yours. Everyone on the team should be able to keep reasonable working hours for their time zone. Short of special circumstances, like a serious production outage, I don't expect -- nor do I want -- you to work long hours. Programming is a demanding creative endeavor best approached with a fresh and rested mind.
Absent special circumstances already mentioned, I will try very hard to not contact you outside of normal working hours for your time zone.
Open, direct, and respectful communication is vital to the team's success. Everyone on the team should feel empowered to participate in discussions and team decisions. Sometimes this means asking difficult questions, championing an unpopular idea, or pushing back against the status quo. It's natural for tempers to flare during challenging conversations. I expect everyone, including myself, to remain respectful and keep an open mind.
I will intervene if I feel a conversation is not meeting this criteria. Even at such times I will strive to be respectful and offer direct feedback about my concerns and guide the discussion towards a more productive path.
Please hold me to this and let me know if you feel my behavior has fallen short.
Let me know if you don't feel comfortable participating in any aspect of team life. I care deeply about everyone feeling a sense of belonging and empowerment and will do my best to address your concerns.
Paul Graham's "Maker's Schedule, Manager's Schedule" deeply resonates with me. I promise to keep meetings to a minimum and will work hard to ensure the meetings we do have provide value for all participants.
Feel free to mark blocks of time as "DNS" (Do Not Schedule) when you need to focus. I will do my best to respect them.
We will meet weekly for 30-45 minutes. We'll spend the first 2-3 getting to know each other. After that the agenda is up to you so please come prepared.
- I am by nature an introvert. I tend to be quiet in conversations while I'm absorbing information. Don't mistake my quietness for apathy or detachment.
- I ask a lot of questions, especially "why?". This isn't an attempt to second-guess your work or challenge your decisions. I ask to help me understand your decisions and the thought process behind them.
- I don't believe in "it's done when it's done". I like to see plans with rough estimates for any non-trivial project. I don't expect the plans to be 100% accurate but I need to know if something is going to take a few days, a few weeks, or longer. I use this information to accurately represent the team up and out to the rest of the company.
- I believe everyone, including myself, makes mistakes. And that's OK. Making mistakes is an important part of learning. All I ask is that we review our mistakes so we can learn from them and improve.
- I use humor to put people and groups at ease. I believe laughing together makes a team stronger and happier.
- Dogs are clearly superior to cats ;-)