Curated Content December 2022
A few pieces of content I thought were worthwhile in the month of December.
Articles
Reviewing Pull Requests
A great article from Chelsea Troy on what goes into properly reviewing a pull request. It's a lot more than just an LGTM, and something that sheds light on why pairing is a viable alternative from a time and efficacy perspective.
Dockyard Academy
A great resource for those looking to learn Elixir. Kudos to the folks at Dockyard to help allow folks to get into Elixir more quickly and easily.
Mob programming interview changes everything
Not something that I've actively tried yet, but something that I found interesting. Mob/ensemble programming seems like it could be an extremely interesting technique for developing software, and especially for seeing what it's like to collaborate with a potential new candidate.
When I get the time to attempt this I'll do a writeup on my experience with it.
If remote work is so awesome, why does it make my job as a leader harder?
Short answer, there is a breakdown between remote and colocated employees. And most organizations develop collaboration strategies geared toward the colocated employees.
Remote folks need to focus on working remotely successfully, and colocated don't, so that introduces friction. She notes something I note though, that it forces practices that ensure you're operating in a more disciplined way, which pays dividends long term.
How do we make remote meetings not suck?
An excellent article discussing how even if you overcome all the technical issues (which you can and should), there are still problems with remote meetings (that exist in colocated meetings, but are exacerbated by being remote).
This is the caucus problem, which is basically that some folks, due to power or personality, are more likely to speak up, and not share the floor well with others. Chelsea has some great suggestions for how to handle improving this situation.
Books
Continuous Discovery Habits - Teresa Torres
A fantastic, actionable, tactical guide to running a Product function in your organization.
Many other books focus on higher level concepts, or higher level execution/strategy rather than a concrete line level implementation of it. Teresa delivers a playbook for how to execute it from the line level up to some strategy.
Pairs well with Marty Cagan's Empowered for the higher level strategic/executive overview, but is in my opinion better than Cagan's book Inspired for tactical advice.
Critical Chain - Eliyahu Goldratt
A really interesting business fable on why traditional project management fails even in the traditional project management context.
I think this has many possible lessons to be learned for software project/product management, outside of things like the Phoenix Project or Unicorn Project, and is something we should consider learning more from in software.
Conference Talks
ElixirConf 2022 - Brooklyn Myers - Using Livebook to Teach Elixir
An excellent talk by Brooklin Myers on using Phoenix Livebook as a teaching tool, which he makes extensive use of as the primary author of the Dockyard Academy referenced above.
Especially if you're in the Elixir ecosystem it's worth a look to help onboard your folks or build in live examples of how to use your code past doctests.
If you're not in Elixir it's worth a look to see what is possible.
Podcasts
The Art of Building Software & Running Organizations with Wade Arnold from Moov
I've previously recommended this one, but in this one Wade introduces the idea of continuous delivery extending all the way down through go to market motions, which is something that I've seen companies struggle with.
Engineering teams will build products in a non-siloed way inside the Product/Engineering part of the organization, but then end up "throwing it over the wall" to sales, and while it meets the needs of customers, it isn't really used to drive business value the way that it ought to be.
Wade suggests you extend the continuous delivery automations and handoffs programmatically as well, to prevent dropping the ball, ensuring that you have the necessary marketing collateral and motions in place to successfully take the product to market.
Tweets
An interesting thread from an underrated voice in software engineering, Jimmy Koppel. Walks through some of his ideas for implementing cleaner, more clear, maintainable code with real examples.
This one made me smile, and is something I can definitely relate to.