News for hackers. Stuff that matters.
Re:Theory-building and why employee churn is lethal to softw... by hinkley on Tuesday January 10, 2023 @03:11PM (#34330796)
I worked on a project that was paying the bills while another team was getting to work with new cool stuff.

What I learned from that project is that being indispensable sucks. That lesson has recurred in my career either for me, or when I got wiser, for other people.

It's not enough to write reasonable code that 'works' or document it as it is now, there's a whole unmeasured and thus under-encouraged aspect around maintaining a legible edit history. I often am trying to get into the head of the bug author to figure out why they thought this was a feature in order to preserve functionality while fixing bugs. They aren't always around, and they aren't always fun to talk to. If you have the history, the person is free to work on other things. To gift them to people they mentor, or otherwise re-home them. If you don't have that, if it's all in their head, they have to leave to get away from the project.

If I can figure out what you're doing I can figure out how to change one or two conditional blocks to fix a problem. Your code stays intact. If there's no history anyway, and the code is sketchy, I'm far more likely to take the code away from you by rewriting it. We can't have black boxes on the team. That's a ball-hog, and ball-hogs get benched.

If you don't show your work, then you're going to find you have fewer and fewer interesting responsibilities. Because "how we got here" is also a "why" and we ask Why all the time.

Re:Theory-building and why employee churn is lethal to softw... by hedora on Tuesday January 10, 2023 @09:44PM (#34334446)
I agree, but am often outnumbered by people who enable "squash commits on merge" and that simultaneously add many process barriers against actually merging pull requests.
Re:Theory-building and why employee churn is lethal to softw... by hinkley on Wednesday January 11, 2023 @12:15AM (#34335250)
Everyone wants to be indispensable until they don’t. Getting people to plant two years ahead is an eternal struggle.
Re:Theory-building and why employee churn is lethal to softw... by F-W-M on Wednesday January 11, 2023 @06:12AM (#34337218)
I want a meaningful commit history, that actually enables me to find the useful commit message. My coworkers often create PRs where the branch itself contains merges and a lot of bad commits that are not centered around a single piece of functionality or activity (like formatting, refactoring).

I try to have them clean it up but often the best thing I can get is a squash.

Re:Theory-building and why employee churn is lethal to softw... by pnt12 on Wednesday January 11, 2023 @02:56PM (#34343730)
I defend atomic PRs and squashing merge commits.

It's simple, makes reviewing easier and works for 90% of the cases.

Maybe I'm missing something, but I find it painful to rebase into a neat history, and my colleagues would probably hate me to police them around to do it as well.

Re:Theory-building and why employee churn is lethal to softw... by Andys on Thursday January 12, 2023 @01:03AM (#34349780)
PRs should be small units of change. PRs should be the edit history. If your process involves one PR per feature this makes them large and unwieldy, hard to review, hard to test, and more likely hard to rollback.
Re:Theory-building and why employee churn is lethal to softw... by hinkley on Thursday January 12, 2023 @11:22AM (#34355901)
I commend your attempts to do CI and PRs at the same time, but most places have too high PR friction to make that work.

So it becomes a fight between the two.