DEV Community

Discussion on: What do you spend the most time on as a developer? ⏳

Collapse
 
chasm profile image
Charles F. Munat • Edited

I spend most of my time coding because I'm senior enough to get away with it. Most of the other devs spend less than 50% of their time coding (my guess). Some of that gets eaten up by socializing (it's amazing how many people think that work is a social club), but most of it is process, and most of that process in my view is actually failing to help or even making things worse.

One of the ideas I've been promoting is that of micro-apps. Breaking a large monolith down into small apps -- small enough to be handled by a single dev -- and then putting those behind a reverse proxy like nginx. (I'm talking front end applications in front of, say, microservices).

Use a pubsub system to communicate between apps, pages, devices, etc. -- even components -- with BroadcastChannel, websockets, and/or server-sent events. Totally decoupled. I've done this for a large enterprise (a bank) and it works beautifully.

There are many benefits to micro-apps, including scalability, robustness, security, etc. not to mention the ability to completely refactor individual apps easily or to experiment with new technologies. To the end user, it's all transparent.

But one of the biggest benefits is the ownership model. One dev per app (with a buddy looking over their shoulder so that they can step in if the dev disappears, and as a sanity check). But in each micro-app, a single dev owns everything. So that dev "owns" the code. Period.

This eliminates the tragedy of the unregulated commons and also encourages the sole developer to write the best code possible as everyone will know who wrote every line of code in that app.

It also greatly reduces process. With proper leadership (someone has to enforce the contracts between what are essentially black boxes -- micro-apps are similar to actors), a large app can easily be built quickly and efficiently, with much better Dx. There's much more to this than I can explain here, but hopefully others are trying similar things...

Some comments have been hidden by the post's author - find out more