Making the leap from an engineer to a director can be daunting. There are so many other responsibilities that get placed on you as a director that it can be overwhelming. The hardest shift, I feel, is the switch from spending most of your time and energy coding to solving other types of problems. Most of that time shifts towards higher priority responsibilities like budgeting, planning, product strategy, mentoring, recruitment and so much more.
Even though coding is still enjoyable for those making this switch, it can be rather far down the list of largest impacts a director can provide to their organization. But like engineering, one should have the mindset of embracing challenges and learning opportunities within their new role. There will never be a shortage of learning opportunities at this level, or so it feels.
With that, here are the top five things I have learned in my time as a director:
Continuous Learning Is a Fantastic Investment
Investment in employee growth is not a new trend. This investment can be implemented in a variety of forms, ranging from conference budgets to ingrained processes that foster growth for employees.
Here are some things we do that help with continuous learning:
- Office hours for experimentation
- Conference/workshop budgets for exposure to new ideas and new tools
- Code review
- Pair programming
- Technical book-a-month club (not required reading, but we buy a technical book every month)
The response to the above has led to highly engaged and motivated individuals who continue to apply new tools to new situations and are continually creating more sustainable and maintainable software. Here is a blog post by one of our engineers about Continuous Learning.
Breaking Down Knowledge Silos
As teams grow and scale, knowledge silos tend to form around services, codebases, and processes. Certain engineers who build and maintain codebases end up with all of the knowledge around how that piece of infrastructure interacts in the ecosystem. It’s important to disseminate this information as succinctly as possible. Other than creating documentation in the codebase, we have found that using Discourse and documenting the following has helped immensely:
- Business Processes
- Code Paths
- Blameless Post Mortems
Each one of those deserves its own blog post, but suffice to say it helps onboarding new engineers to understand how each app works in the ecosystem and what its role is.
Perceived Failure is an Actual Blessing
Failure is defined differently from person to person. To some, it’s about using the wrong software pattern in the wrong circumstance. To others, it’s deploying bad code to production. Whatever the case may be, it’s important that teams understand it’s absolutely OK to make mistakes. From experience, it seems that most engineers learn the most from their missteps.
1-on-1 Meetings are Indispensible
I never really understood the importance of the 1-on-1 as an engineer. You have to take time out of your day and spend 30 minutes with your boss addressing things ranging from emotions to tasks. Now as a director, the 1-on-1 is the most important recurring meetings you will have. It gives you insight into how best to step up and fill the gaps that the team may have, which changes constantly. Most importantly, it sets your team up to be successful as you support its needs.
The Most Important Aspect of a Director’s Job is…
I won’t expound much on this as many other highly qualified individuals have covered this topic at length. Everyone has pain points while working at any company. It is important to make sure individuals feel heard and feel supported within their organization. If any of these are to be accomplished, it all starts with listening.
Thanks for reading!