Short feedback loops are great, correctness is better

When I started in 2006, I worked on a JEE applications depending on a proprietary software package that where licensed to run on a single server. The server was shared between the developers to test our modifications. So that we had to find other ways to ensure correctness without deploying on the shared server, in order to avoid team performance drop. One of these strategy is to reason about the code before deploying it.

And think about punch cards in the 70s, the cost of a deployment, the cost of a bugfix.

Nowadays, I work on open source stacks and I can easily build development environments close to production. I can build and run my code whenever I want and it takes seconds to test my modifications, end to end.

Using dynamic build free languages like Python or PHP, I can even run my test without checking syntax for correctness.

When I write frontend code, I rely a lot on logging to check correctness often and progressing by baby steps.

It's lazyness. It costs time: take a nuxt JS application, even in dev mode takes a dozen of seconds to build and refresh. Waiting 10s and refreshing context to check the result of a console.log is very time consuming and frustrating.

With the profusion of assisting tools for developers, I'm losing the ability to review and reason about the code I'm writing. With code completion, I avoid looking at the API documentation, and I do not exercise my memory. Tomorrow with AI like ChatGPT, I won't even bother to write utility code. I saw a video of Damian Conway once where I declared that the syntax highlighting in Vim was too distracting!

Tools lighten developer's cognitive load. Tonight, I'm not sure it's a good thing for skills and productivity.

Posted on 2023-01-19 at 00:07

Tags: programming, at work

Previous Back Next