what I'm reading: catch-up edition
Due to my site generator woes, I went a few weeks without sharing what I’ve been reading. I have still been making a list though, and it’s enormous! This post took twice as long to compile because I had to revisit all these links to remember why I liked them, and also group into topics to hopefully make it more readable
Non-tech reading
- Finished up the audiobook for Other Minds: The octopus, the sea, and the deep origins of consciousness by Peter Godfrey-Smith. The author is a philosopher, so this was a bit more abstract than I expected when I bought it, but it still had a lot of interesting science.
- A article by Sarah Milstein on how to maintain a friendship once your friends start having kids was hilarious but also good advice
Software design and process
- Very inspired to touch legacy projects after reading Carla Geisser’s post on getting rid of “haunted graveyards”, a great name for a phenomenon I usually call “here be dragons code”.
- Haven’t gotten around to researching Domain Driven Design, but Kevin Mas Ruiz’s post on how to start thinking in DDD terms when designing microservices was informative and easy to follow
- Allen Holub’s post on technical debt was recommended by my new manager, and I agree with the framing that tech debt is a normal part of writing the best code you can with incomplete knowledge of the future.
- I was investigating how to design feature flags so they don’t proliferate indefinitely in the codebase, and came across Pete Hodgson’s deep dive on “Feature Toggles”, which is apparently another common term for the same idea. The article provides a bunch of different ways to think about or categorize flags, and I learned a lot, but I’m having trouble recalling details. May still look for more on this topic.
- I ran into someone reading Will Larson’s book An Elegant Puzzle and as a result dug through a bunch of Will’s blog. This article on How to invest in technical infrastructure stood out.
- Mads Hartmann’s reading list for learning about observability is a lot more focused than my random time-based lists!
- Uggghhh I want to highlight just about every paragraph of this Increment article by Liz Fong-Jones: Code less, engineer more. I need to have that title tattooed on the inside of my eyelids to counteract my impulse to want to build every single thing from scratch.
- Nora Jones announced a new community around learning from incidents in software and I’m excited to have this new resource for learning about resilience engineering.
Documentation
- 8 Great Examples of Developer Documentation
- Jennifer Riggins has written a number of articles on how to integrate documentation into your Agile process
- Tanya Reilly’s great post about why taking notes at meetings is important and why it should be done by senior people in the room makes me want to implement this in every meeting I have from now on.
Security
- A bunch of application security posts from hella-secure.com have crossed my radar recently. Ray’s Secure SDLC article is a refreshingly practical approach to adding security to an existing development lifecycle and Aaron’s related intro to threat modelling is a lot more approachable than a lot of the other threat modelling content I’ve come across.
Testing
- This post by Cindy Sridharan on testing microservices was, uh, very relatable…Specifically when she talked about the folly of good-faith efforts to make the entire architecture testable in a single VM. The article then goes into serious detail about different types of testing and how to define tests, making some recommendations contrary to the normal testing rubric that I’ll be thinking about for a while.
Career
- Julia Evans article on “brag documents” has come up a few times recently, which reminds me that I should start doing this.
- Cate Huston wrote an interesting overview on mastering new leadership styles
- Code Without Rules by Itamar Turner-Trauring is a treasure-trove of a blog full of practical advice on how to be a better programmer while still having a life outside of work. I entered via a recent post on job negotiation but quickly ended up reading things like what to do when your technical skills are obsolete. Will likely be coming back to this for more.
- Kim Maida’s 7 tips for career advancement covers a broad range of advice in a not-very-long article and definitely gave me some ideas for what to focus on next.
- I’m about to start up a mentoring program at my work, so stumbling across NCWIT’s introduction to mentoring for mentors introduced me to NCWIT’s Mentoring-in-a-Box toolkit at the right time.
- Bridget Kromhout gives in-depth instructions on how to get your talk selected by a conference, a lot of which comes down to “know your audience” and write your abstract with that audience in mind.
Technical deep dives
- Work-Stealing in Go Scheduler by Vincent Blanchon is way above my understanding of Go, but it was still interesting and has explanatory diagrams
- This Twitter discussion about the non-intuitive nature of queuing theory math kicked off by Patricia Aas led me to John D. Cook’s post on queueing theory and from there to this post about stochastic rounding as a better way to anonymize data. I feel like I now know just enough about both of these mathy topics that I need to learn more!
- Jonathan Mueller wrote an incisive post on naming functions, inspired by a talk by Kate Gregory. I liked this because I am terrible at naming things, and every little bit of advice is appreciated.
- I loved Lynn Fisher’s case study of how she redesigned her website because I know just enough CSS to be very impressed when people do clever things I could never have imagined with it.