My Ideal Work Laptop

I've been going through the process of replacing my laptop at work recently, and it made me think about what my ideal laptop would be. If there were no restrictions regarding company policy, support, etc.

For the record, I'm currently using a 16" MacBook Pro with an M1 Pro chip.

Forgetting the hardware aspect, when I really thought about the software I used at work on a day to day basis, it really came down to these primary applications:

  • Mail
  • Chrome
  • IntelliJ - 99.9% of the code I write is Java, IntelliJ is the best IDE for this.
  • DingTalk - Think of this as a Teams/Slack alternative. This is where we have our real-time communication, calendar, video calls, alerts, reports, task management, etc.
  • Ghostty - My current terminal application.

In a dream world, I'd have a laptop setup so minimally, that each of these were always open, set to be used on their own workspace, and have nothing else installed. This sort of setup would be ideal for a Linux machine, where I could have a real control over how everything is configured, minimising distractions, etc. [1]

However, our main application, DingTalk is only available on Windows and macOS...

I have been tempted to switch to Windows, mainly because it would enable me to use Linux via WSL. But I just can't do it.

That leaves me with macOS...

I wouldn't say it's full of bloatware, but depending on what you want your machine to do, it can feel like it sometimes. Or at least it can feel like the system is fighting you whenever you want to use your machine in the "wrong" way.

One example is how workspaces (Spaces/Desktops in macOS) work. For example, you can't natively see what space you are in, moving between the spaces isn't instant, and if you make an application full-screen, it moves to a newly created space. So I have to use Spaceman to keep the space number in my menu bar, and make sure I don't use the native full-screen option. On Linux, all of this would be available and customisable.

However, as I've discussed above, macOS is my only option for work at the moment. So while I won't make any big changes to my current machine, when my new one comes, I'm going to be very intentional about my file structure, software I use, key bindings, etc.

I suspect some of this may overflow into my personal machine setup. But the benefit of my work machine is that it only serves a few purposes: communicating with my team, writing/reading documents, and writing Java code.

Hopefully that means building out my next machine should be relatively straightforward.


  1. This is the main reason why I'm still not 100% on what my next personal laptop should be. I'm 99% sure I will end up with an M4 MacBook Pro. But while I haven't ordered it, there is still a chance I'll fully try out a Linux machine, such as a Framework laptop. ↩︎