Invest in your developer experience!
Tags: software engineering, developer experience
The more effort you require to start an activity, the more likely you will put it off.
How long does it take you to open up your personal project?
My experience
I had the idea of exploring how HTTP works, so I thought I would write a simple Chat Server/Client without using any HTTP or Websocket libraries. To bootstrap the project, I thought I’d write a Kotlin SpringBoot server, using a PostgreSQL Database via Docker, and an Android Client.
Naturally, this meant that my workflow consisted of the following:
- Open up IntelliJ
- Start the server in Debug mode
- Realize Docker is not running
- Start Docker
- Start the server again
- Open up Android Studio
Roughtly 30-60 seconds of wasted time.
I see many Engineers accepting to perform coumbersome workflows day in and day out, and often wonder, “Does this not sap your energy each time?”. It certainly saps my energy.
Solution
After investing ~10 minutes of effort, I got this workflow down to a single terminal command: pwork
, by doing the following:
- Create a bash script with all the steps:
|
|
- Create an alias in my
.zshrc
to run the script withsudo
, ensuring I don’t get interrupted by something requiring my password:
|
|
- Modify the sudoers file, allowing me to run the command without requiring my password:
|
|
By reducing the barrier to get started, at the end of the day when I’m tired after my workday, I’m far more likely to do something useful, rather than binge-watch something on YouTube.
Putting it into practice
- Identify comment steps you need to regularly perform to get started working
- Invest effort once into automating it
- Enjoy