Programming
-

Book: Working Effectively with Legacy Code
→: Book: Working Effectively with Legacy CodeReading Working Effectively with Legacy Code (Amazon) made me really want to get into something and write some tests. It’s a really actionable book, and I liked how pragmatic it was – focusing on being able to create incremental progress, but balancing that with what you’re aiming towards. I think a sign of a foundational programming…
-

Estimations and Orders of Magnitude
→: Estimations and Orders of MagnitudeCall me a cynic, but I don’t expect software estimations to be accurate. Because software is built by humans – and they take sick days, and vacations, time to help their colleagues (hopefully), have off days as well as good ones. But I still think estimations are worth doing. Firstly, because if we don’t have…
-

Towards Productive Technical Discussions
→: Towards Productive Technical DiscussionsNote: I wrote this post for an internal team blog, but thought it was worth sharing more widely. Part of getting to good code reviews is some up front discussion about trade-offs and implications for bigger architectural changes. I think of code review as when “my” code becomes “our” code – for architecture, those conversations…
-

Why Do Standup
→: Why Do StandupShare work before it happens – prevent overlap, raise gotchas. Foster communication and collaboration – offer help rather than waiting for someone to ask. Start the day with intention. Turns out, status updates are not the most useful aspect of standup.
-

Creating a Randomized Emoji String in Python
→: Creating a Randomized Emoji String in PythonYou might have noticed this part of the 2016 Emoji Report – part of the graphic features an emoji for each of our subscribers. It’s a randomized ordering of all the different skin tones of the 👩💻 and 👨💻 emoji, repeated [number of subscribers] / 12. Our subscriber count wasn’t exactly divisible by 12, so I…
-

We Hire The Best
→: We Hire The BestThe tech industry prides itself on its rationality, and yet is filled with trite slogans that are demonstrably untrue… and further, harmful. Originally published in Model View Culture, November 2014. “We hire the best.” It’s a slogan we can rally around in company meetings, a tagline to put on the jobs page… a shoring up…
-

All the Leaves are Brown and the Sky is Gray
→: All the Leaves are Brown and the Sky is GrayIt’s a weird thing to reflect on my career and realize that very little of the code I wrote is still in production – because very few of the things I worked on are still in production. Most of the products I have worked on have failed. We build with bits not bricks. Architects and…
-

Android: Testing an Intent Service
→: Android: Testing an Intent ServiceThere’s a handy thing in Espresso called the ServiceTestRule, which is for testing Services. Yay. I thought it was just what I needed until I read this bit of the documentation… OK, first up – refactoring my IntentService. This class already did very little, poking something else depending on the kind of Intent it received, and…
-

Creative Coding Podcast
→: Creative Coding PodcastI was on another podcast! This time, creative coding with @seb_ly [listen]. We talked about managing coders, color theory, side projects, lasers, being homeless, interviewing (and applied humaning). It was really fun (but cold!) to record, and I hope you enjoy it.