Now, I’m in a new role where the technology stack is completely new to me. However, I am keen to explore the technology landscape to understand opportunities and points of difficulty. I’ve found pair programming a good way to get to know the system better, while working slowly.
Pairing the programming with someone who works closely with the system also allows understanding the history, lesser-understood context of why it’s coming up, and a great deal of context in a fun way.
Unexpected bonus? There is nothing like a good half hour of group scratching to improve relationships with a team member.
Technical documents can take many shapes and forms. They can be “ready” files attached to code repositories to powerful microsites to full wikis consisting of code snippets, architectural diagrams, installation guides, and FAQ forums.
The tricky thing about technical documentation is that no matter how extensive it is, there is always room for improvement in terms of the amount of up-to-date information or both.
So trying to make a small change in the field often has a huge impact and makes life better for everyone in the organization. And in the process of cleaning up or adding artifacts, you always learn a thing or two that you didn’t know before.
Automating some of your or your team’s routine tasks such as marking backlogs as outdated, improving the developer’s experience building or editing the pipeline or simply automating your tasks to give you some breathing time for hands-free, is a fun, low-effort, and effortless way. Weatherproof to keep your hands in the game.
Participate in technical design discussions that will often give you an overview of the different systems, services, layers, and transport protocol between them. If you spend some time in the system, you can ask intuitive questions geared towards often-forgotten areas like performance, security or data logging that can help guide teams to shift left on these requirements and build them early in the system. For you, this would be a great way to help the team while using your breadth of technical design expertise.
If you lead a team of more than 5 live reports, you will likely have less time than you would like to spend on coding features. Code reviews are great indicators of many things. They give you an idea of the structure of the code, but also some subtle hints about the quality of the code being produced, the effort to keep technical debt in check, and the developer’s thought process.
Also, reading the code review comments in pull requests gives a great sense of the core culture within the engineering organization. How cheerful we are about juniors making growth errors, do senior engineers instruct rather than gently redirect back to the right track and how our system deals with vulnerability to coding errors.
If you have the time to do anything else, I highly recommend doing it. Spend at least half a day per week reviewing team random code reviews. It is an indication of much more than the feature being built and can be an effective indicator of some of the areas you may need to work on as a team.
There are many ways to keep up with technical developments within your team. The key thing, as with all things, is to maintain the child’s curiosity and open mind that kept you up all night during your early days as a developer, while making sure your team members aren’t blocked, knowing that who – which It is your primary responsibility!
Good luck, and happy coding!