Posts

Showing posts from May, 2023

Scaling teams: Two strong oxen or 1024 chickens?

Seymore Cray was famously quoted as asking: "If you were plowing a field, which would you rather use: Two strong oxen or 1024 chickens?". While he was referring to the advantage of using a single processor solution over a massively parallel solution (which I happen to think he was wrong about) I'll steal this question to use in another context. Namely, when building teams to around technical solutions, you will almost always get a better solution if you use a limited number of smart, motivated, and experienced technical resources over a large number of folks who are inferior in one or more of those dimensions. In that regard, I think solving technical problems is a lot like plowing a field... it's actually difficult work that cannot be scaled by adding more low power resources. The problem isn't a scaling issue, it's a complexity issue. Controlling two strong ox and focusing their effort is a lot easier than trying to herd 1024 chickens. If you've

Now not to do identity management (read this nintendo) [from 2019]

Identity management is hard Just so everyone understands, I get this...having worked with connected devices and multiple phones/consoles/cars/headsets/speakers all cross linked to other devices and other accounts...I get it's HARD to maintain and/or associate the correct PERSON with the correct DEVICE with the correct ACCOUNT (note, those are all different things...I can have multiple bank accounts, accessible from multiple devices, and multiple people could share my account and/or device, but who can do what from what is difficult. Add kids and games and shit to the mix I'm not necessarily saying nintendo has done a poor job (no...scratch that...I'm saying they have)... what I'm really saying is that they have a particular demographic that makes identity and device management difficult...namely KIDS. Now, before all the single parents with one kid who had a nintendo DS once who claim this shit is super simple...and before the folks who can only afford for their

Composable Software Architecture

Toying with the concept of "Composable Architecture" I'm struck by how many folks get lost on the technology and staring at "how do other people do it?" instead of pivoting to think about "how might this help my business?". Time and time again I roll onto a client that is talking about microservices, API first design, Headless solutions, Cloud Native platforms, but have no idea why any of this might help thier business. Routinely I head "well this is how [netflix, amazon, fill in some other business name] does it, so we're going to replicate their success by doing what they do. Why this is flawed The logic behind this thinking is deeply flawed because it's presupposing that the technology architecture by itself makes the business successful. This is, in fact, backwards. Netflix didn't start with a microservices architecture, they started with (and appropriately so) a monolithic architecture. Why? Because their business

ChatGPT and generative AI will not eliminate programmers

Think of ChatGPT as REALLY advanced Autocorrect Autocorrect has been around since about 1993 . If you're wondering if ChatGPT is gunning for your job, think about all the jobs autocorrect has eliminated... go ahead, ask ChatGPT, Google it, I'll wait. I don't know either, but the short answer is, "Yes, autocorrect may have reduced the number of people needed to proofread a manuscript, or reduced the amount of time you need to double or triple check text before hitting 'send', but realistically it has simply made writing more efficient". ChatGPT is no different I heard the hype about how ChatGPT will eliminate programming jobs in 5 years 10 years someday and thought, "well yeah, the same way that the Model-T evendually eliminated ferrier jobs when it was released in 1908". In a way, there's some truth here...in the same way that java or ruby eliminated a lot of the boilerplate and drudgery Fortran or COBOL (or assembly) programming had