On using a small screen :: 2024-01-25

I tend to use a very minimal toolset when working with software. The reaction I get from other software engineers ranges on a scale from disgust to awe.

That doesn't mean I won't use Very Large Software (VLS) because I have and will. I even was the owner of Gradle and JetBrains integrations at Amazon for a while, with tens of thousands of users. Gradle longer than JetBrains. I didn't invent or revolutionize anything with these VLS offerings but it did meet people at their preferences.

The broad preferences of the software engineer pop culture where I'm from looks something like this:

Now, this is not bad, and it might be the cost of doing software at all in your context. I don't think anyone should feel ashamed for being in the status quo. Some of the details will change over time: the baton has passed from Apple to Microsoft and back to Apple for hosting most software developers.

But... this it's also just not my style.

I like a small screen and a dumb text editor. I don't just think this is an aesthetic choice, but a choice I've come to appreciate for more practical reasons.

It's very difficult to work on a modern software project without an IDE. You need to be able to reconcile a complex call graph, at multiple levels of abstraction, through multiple source files, maybe even through multiple source repositories and projects, each written by an every-changing cast of contributors that might not have a full picture of the project.

When I work on a small screen, that sort of project doesn't work very well. This gives me an incentive to simplify.

Neal Stephenson once made an analogy that Apple and Microsoft operating systems are like cars you can buy from dealerships, and Linux is more like a tank that you can get for free.