Influencing growth with design

Building software with people means the complications of the social world are dragged into the digital one. Software engineering has no real laws, making conversations on correctness highly subjective - a field of egos and feeling landmines stretching out before you. An organizational leader even has minimal power to influence design. Architects may be able to define and build agreement around high-level approaches on data flow and infrastructure. Managers may be able to set requirements for their teams around quality and efficiency....

November 11, 2023 · 8 min · Me

PR comments that waste our time

The PRs I post have one of two goals: I had an idea that easier to communicate in code so here’s an incomplete, untested, likely dubious proof-of-concept. It should always be a draft. After anywhere between a conversation with a teammate and weeks of bureaucratic pain to align 8 teams across 3 business units, we have a path forward. This change is ready to go to production so we can ship some goddamn product....

September 25, 2022 · 3 min · Me

On risk and knowing things in software

Most traditional engineering careers must grapple with strict truths. Laws guide standards for safety, and physics guide limits of designs. Software “engineers” encounter known truths much less frequently. In search of optimal solutions, new grads fresh from an education of exams with correct answers wince upon hearing “it depends” yet again from grizzled veterans. When the senior principal architect of a multinational corporation produces a 20-page design document for a groundbreaking web-scale product, the implicit number of ‘maybe’s, ‘should’s, and ‘probably’s you could rightfully scatter throughout would make a civil engineer scream....

September 9, 2021 · 3 min · Me

Immutables, Micronaut, and Maven

What Java lacks in features, ergonomics, and general modernity, it makes up in ecosystem. C# devs have had generated getter/setter methods for the last 14 years, but Orcale likes their languages like their business strategy: behind the times. Since Java runs on 3 billion devices, engineers have been forced to make up for Orcale’s lack of Java interest for years. This is less true since Java 9, but I always take an opportunity to bash Oracle - and their database icon office buildings....

August 7, 2021 · 7 min · Me

Rust on Arduino (from a cloud engineer)

Note: At the time of writing, Rust integer division on AVR is broken. Check out this issue against the Rust repo for the latest status. I had time, an interest in sensors, and two Arduinos sitting under my bed so I thought I’d take a whack at running Rust on an Arduino to gather some temperature and pressure data. I’ve spent much of my career working on web and cloud technologies - Java, C#, JS/TS....

July 23, 2021 · 11 min · Me

Urban planning: Thoughts on Beacon Hill

I have a hobbyist interest in urban design. Last week my girlfriend made fun of me for noticing the curb cut on the north-west corner of Charles & Cambridge St was widened by a few inches. Had it not been clear that I was the only one interested, I would have audibly hypothesized that it may be due to the regular build up of pedestrians at the crosswalk moving between the shopping on Charles St and the footbridge to the river walk....

July 23, 2021 · 4 min · Me