Hi, I'm Daniel
The purpose of this living document is to encapsulate the various roles I normally play on teams, communication styles, and other areas to help us work effectively together. There are so many nuances to working with people, and I have tried to capture some of my personal nuances here.
My role as a Senior Developer
My goal is to help the team to succeed in reaching their goals and assist with planning, identifying needs, as well as assisting with the development process. These are some of the priorities I have for projects:
- I prioritize investigating how different pieces of a system fulfill their responsibilities and integrate as a whole, though I may not have a low level knowledge of each piece in particular.
- I highly value and prioritize the PR review process and encourage it to not be rushed or looked over quickly. This is an opportunity for us to learn together, identify new code patterns within the project, and see how things can be improved.
- I don't claim to be an expert in all disciplines. You are likely more knowledgable in a particular technology subset which is why you're on the project. If you see a potentially better way to do something please bring it up. Let's build on each other's strengths.
- I believe in fostering predictable patterns within a codebase as it grows and evolves. This includes refactoring old approaches as better and more informed patterns arise through the lifecycle of the project.
My role as a Manager
My goal is to make sure you are successful and feel heard. Our 1:1s are your time. Their structure will likely fluctuate over time and I anticipate them to be fluid. I'm here if you need to vent, discuss a challenging technical problem, discuss long term vision, or something else entirely. If you don't have specific things on your mind to discuss, I normally have some topics available to fallback on.
I view my role more in the mentoring realm than a strict supervisory role. I want to hear your successes, struggles, and goals so that we celebrate, troubleshoot, and plan together.
- I prefer to meet every week, but depending on circumstances am open to every other week.
- If you need to reschedule or cancel one of our meetings, please let me know.
- Please let me know your desired outcomes for our meetings and relationship so that we can work towards that together. I expect that will likely change over the course of our relationship.
Communicating with Me
- I check email, but am slower to respond there.
- For time sensitive requests I am quicker to respond in Slack
- If an asynchronous conversation is being drawn out and will be resolved faster with a quick synchronous call, I will normally suggest that
- I heavily use my calendar. If we have a meeting scheduled please indicate if you are able to attend. Please update it if circumstances change.
- I believe in limiting meeting attendees to the parties that directly need to be present. If an attendee may want or need to be informed, but is not necessary to attend they should ideally be marked as optional.
- I prefer grouping meetings close together on a few days of the week, leaving the remaining days open for completing deeper work.
I appreciate and value companies and teams with a strong feedback culture and work to help foster that environment. These are core tenets I find critical to a strong feedback culture.
- Feedback is timely
- Feedback is respectful and devoid of personal attacks
- We can and do provide positive and negative feedback honestly adhering to the above principles
- Do not do feedback sandwiches (Good, Bad, Good). They are counterproductive. If I do this, please call me out on it.
- Feedback is a gift
I love getting feedback in either written or verbal form.
Things I love
- Mentoring, teaching, and knowledge sharing. This was a key piece of me transitioning to a second career as a developer and I love to pay it forward.
- Feedback and team comraderie. I value fostering this and believe that a well gelled team works better together with higher morale and better results.
Things I hate
- Meetings interspersed throughout the day with no significant meeting free zones
- Consistent lack of communication
I aim to work an 8:30 AM - 5PM schedule Pacific time. I normally start logging on around 8 AM, but function best when meetings are not at the immediate start of my day. I occasionally will time shift working hours to do things with my family, take a mental break, etc. When this occurs I let my team know the change of my schedule.
When possible I prefer to avoid meetings in the morning as that is when I get my best work completed. This is aspirational and not a hard fast rule. Additionally, I have a recurring "Heads Down Tuesday" event every Tuesday. I prefer to keep Tuesdays as meeting free as possible so I can engage in deeper focus work. When possible I ask that this be respected for non critical or time sensitive meetings. However, I recognize that is not always possible, especially when coordinating others' schedules.