I’m writing a book!

The working title for now is Everyone is Doing it Wrong: Essays from an opinionated software engineer.



…from the book

WHY DOES SOFTWARE SUCK?
– – – – X

Users don’t like software, but the software engineers who make software hate it even more. Reddit forums are full of angry software engineers. Meetups are full of them. Conferences. Blogs. Podcasts. You might wonder, why even write code at all?

In favor of asking hard questions

I am in favor of asking hard questions. A lot can go assumed. No stone should be left unturned. It’s wise to think ahead and it’s the professional who makes sure that there are measures in place for anything that can go wrong.

Still, there’s friction to fight when asking hard questions. The person who asks hard questions might be seen as a troublemaker. Or less insidious, it’s easy to hurt other team members’ feelings. Someone who put a lot of work into a feature only to hear questions about it might not appreciate that.

Sure, I don’t want to rock the boat. I also don’t want anyone on my team to feel bad. But more than all of that . . .

Cloud-cliparts-free-clipart-images

The cloud is just other people’s computers

When you read the word “cloud” you should just mentally strike it out and insert “other people’s computers.” For example, AWS has a page titled, What is cloud computing? with the following definition:

Cloud computing is the on-demand delivery of compute power, database storage, applications, and other IT resources through a cloud services platform via the internet with pay-as-you-go pricing.

line_squall_35323_md

This should be rewritten as:

Cloud computing is the on-demand delivery of compute power, database storage, applications, and other IT resources through a cloud services platform other people’s computers via the internet with pay-as-you-go pricing.

The value of the “cloud” doesn’t come out of the idea of using other people’s computers, though. The real value is from the tooling built into a given cloud platform. We don’t get much benefit just from using other people’s computers. But if we can use other people’s computers only when we need them, that’s valuable. That’s how a company can meet demand elastically. It’s how they can keep their site up for all the shoppers on Black Friday without spending millions the rest of the year for infrastructure that is sitting idle.