It's crazy that we go out of our way to design processes (code review, design review) to avoid actually just... working together?
And then we design organizations that optimize for those processes instead of optimizing for collaboration.
I’m a senior dev currently interviewing for a team lead position at a startup. While I consider myself highly technical, the things that frustrate me the most day-to-day are teamwork related. Lack of trust. Teammates who don’t want to talk to each other. Other seniors getting away with subpar work. Lack of clear team purpose and product vision. Lack of buy in on common engineering practices.
As a people manager these issues I care so much about would be within my sphere of influence and responsibility. For better or worse.
> I need to run tests, use goto definition and other editor navigation features, apply local changes to check if some things could have been written differently, look at the wider context to notice things that should have been changed, and in general notice anything that might be not quite right with the codebase
It sounds like the author really wants pair programming
I made a pomodoro timer display using a WiFi-connected ESP32 board with a small OLED display. I put it outside the guest bedroom/home office door during lockdown so my family members could see how long until I could be disturbed.
It talked to my laptop using MQTT and of course it was triggered from emacs using org-pomodoro.
At my job, we're breaking down a monolith into services with a hand-me-down database schema. DB changes are manual, every dev runs against a shared test DB, and everybody dreads doing schema changes. I've been looking for a way to transition into version controlled migrations and it looks like sqitch might be a solid option, as the language-specific frameworks are too opinionated. Thanks for recommending!
My first paid programming job was making a client for a remote monitoring solution for the water industry. I must have been 14 or 15. One of my father's acquaintances knew I had been messing around with programming, and he needed a shiny Windows 95 application for his customers.
It would dial the plant via modem, and I remember being given a list of "escape codes" that determined how the stream of bytes should be rendered on the screen. My program parsed (some of) these codes and displayed the text accordingly, I specifically remember implementing the "move cursor" and "reverse mode" codes...
Not until years after did I realise I had basically built a shitty terminal emulator using Visual Basic text fields.
Kleppmann's book is great, it will be well worth your time. I read it cover to cover. He takes care to be consistent and explicit regarding terminology, so it has helped me put a lot of bits of "knowledge" (and confusion) about distributed systems into perspective.