ARM will be the dominant CPU architecture going forward. In a few years, x86 will be relegated to specialty use cases. All new consumer devices and most cloud services will be based on ARM. Old workloads will probably run on x86 for decades, because nobody will bother to port and upgrade, but a decent amount […]
Today I want to talk about how hard drive prices have plunged dramatically since 2000 (most data from John C. McCallum’s disk prices page): We are talking about a roughly 97% decrease in price per GB over 20 years. In fact it’s kind of hard to see on a linear scale, so let’s switch to […]
I’ve mentioned that its unproductive to adopt cultural values that don’t actually take a stance on an issue (with more than one plausible answer). “Be nice to your coworkers” isn’t a cultural value, because it doesn’t tell us how to make decisions; there’s no trade-off there. Nobody would suggest “let’s be mean to our coworkers” […]
By custom, all software engineer job postings in the US are required to include the phrase “must thrive in a fast-paced work environment”. This is usually not a bona fide qualification, but rather an advertisement (“we’re fast paced, so we hope you like that?”). The reasoning is sound: Engineers generally aren’t drawn to listings with […]
The US is home to a huge industry that has been around in some form or another since the late 60s, but which really began to explode in the 90s. Innovation was rapid: massive leaps forward could be expected every few years, and supporting infrastructure was quickly built out everywhere. At its peak, there were […]
Joel Spolsky once made a famous observation: There’s a subtle reason that programmers always want to throw away the code and start over. The reason is that they think the old code is a mess. And here is the interesting observation: they are probably wrong. The reason that they think the old code is a […]
It’s generally a mistake to adopt values like “respect your customers.” True values involve trade-offs. Here’s my humble attempt to list a few reasonable ones for a potential engineering team. We should… Hire and pay for world class peopleHire economically Be togetherWork anywhere Emphasize qualityEmphasize speed Emphasize market share growthEmphasize profitability Be highly leveragedBe highly […]
It’s a well-known truism in software engineering that you shouldn’t ask an engineer to build and maintain software that only saves you a few hundred bucks a month, because engineers cost more than a few hundred bucks a month. You can distill this down into a few easy calls that apply in almost all situations: […]
I’m pondering about software engineer salaries and efficient markets. What intrigues me is how often new software engineers are changing jobs to get significant raises 1, 2, and 3 years outside of school. I see a lot of resumes and it’s actually somewhat unusual if I don’t see a new job every ~2 years on […]
Many years ago, I read an interesting tidbit somewhere about raising capital for startups. There was a checklist of qualities that correlate with fundraising success (and ultimately startup success). The list went something like this: good team good market opportunity good traction good timing …and other bullet points of that nature. But the key takeaway […]