Collaborative Activities
Hey!
Welcome back to another week of musings.
I hope you had a great weekend and managed to rest and recharge for the new week! We're almost done with June, and Summer has just started. Time to go and enjoy the outside!
Was this forwarded to you? You can subscribe here!
Things I discovered in the past week
- Node.js is getting closer to having native TypeScript support! I find it interesting that after Bun and Deno, Node.js has been playing catch-up with some requested features.
- How Staff+ Engineers Can Develop Strategic Thinking. I felt it was a good primer on strategic thinking, even though sometimes leadership cannot answer what they mean by "being more strategic" as feedback.
I recently found myself building a Model Context Protocol (MCP) Server for my team.
While the particulars are not particularly interesting, I was drawn into it (read: nerd-sniped) by another engineer who wanted to understand how all the components connect. We spent a few sessions discovering how it all worked and how we were supposed to create a server. In the end, we made it work, and they were able to run with it!
In a tangent, that got me thinking about how I learn. Before I sat down with them to spin up a server, I wanted to understand what they wanted to solve, and we created a cool business case for them to demo.
In other cases, as the lead staff engineer in my organization, I've been curating a forum where people can share ideas and we can brainstorm outside of constraints. In many cases, this is more to keep the mind sharp, but at other times, I do select topics that will support our long-term strategy. For example, should we migrate to Hashicorp's Vault? How can we accelerate the release process? Or shorten release cycles? How would we redo some component if we started today?
There's always a balance, especially if the product is mature enough that not many large projects arise.
Some of these thoughts aim to foster divergent thinking, explore what's out there, and identify problems that people encounter that we can solve more generally for all teams.
In other cases, multiple people might be seeing the same problem but coming up with solutions that are more tailored to their teams, so we need to converge those into a general solution as well.
Many of these efforts occur outside the standard work of people and teams; that is, these times may not be tracked, or people may contribute out of their free time (if any). At first, it might feel discouraging that very few people show up, but over time, it may gain momentum and run itself.
At other times, people might not see the value in something like this and want to focus on completing the assigned tasks. YMMV, as every organization is different; you will need to assess your specific situation.
These sorts of tasks might be considered under glue work, which is probably non-promotable. Still, they contribute significantly to a healthier organization and discussions that might (or might not) converge on something interesting in the future.
Either way, the only way to bet is to do it!
Your turn!
Are you joining collaboration forums? Are you running them? Are you feeling your curiosity satisfied at work? Or are you spending time outside of work to learn, adopt new ways of thinking, etc? Let me know by replying to this email!
Happy coding!
website | twitter | github | linkedin | mastodon | among others