Earlier quoted context omitted.
> not all businesses have investors. If I form a business and take no outside money, I am the investor, particularly in the context of GP’s point that “[businesses exist]…to make investors money.”
So in that case, you're investing your time in return for money/happiness? Sounds like the same proposition as employees.
Developer Productivity for Humans: Software Quality
31–40 of 51 posts
Re: Developer Productivity for Humans: Software Quality
#32Earlier quoted context omitted.
> The inconvenient truth is that the business exists not to provide engineers with work they’re happy with or proud of but to make investors money. First that’s not always technically true because not all businesses have investors. But assuming that the primary purpose is to make money, even that’s not precise since there’s a massive difference on optimizing for ROI tomorrow vs next quarter vs when you retire and han…
> not all businesses have investors. If I form a business and take no outside money, I am the investor, particularly in the context of GP’s point that “[businesses exist]…to make investors money.”
Re: Developer Productivity for Humans: Software Quality
#33Re: Developer Productivity for Humans: Software Quality
#34Here are some comments in no specific order: * A sample of 9 developers, especially all working for the same company (in similar conditions) isn't much... but this seems to be a sore spot for most research on software development: very small, bordering on unrepresentative samples. Very hard to control for bias. Very hard to establish whether experiment subjects even have the relevant knowledge. * I would very much pr…
Here's the beginning of a metric: https://loup-vaillant.fr/articles/source-of-readability
Distance between variable declaration and its use. But, oh, distances aren't simple either:
LoCs seem like a reasonable unit to count the distance between use and declaration, but are all LoCs equal? Should the metric penalize less for having long JavaDoc-style comments (which a lot of editors can simply collapse?) What about empty lines? -- seems even more contentious. Penalizing for lines of code regardless of contents of those lines will probably discourage programmers from adding empty lines even when they might make things better. Perhaps a better unit of measurement should be "statements"?
Now, why would using variables deep inside nested blocks be equivalent to using them same distance away but inside the same block? I'd say that probably declaring all your loop variables outside of the outermost loop sounds like a crime to me. Sure, the nesting level should be accounted for.
What do we do with class variables / struct fields though? Someone who wants to game the metric can simply decide that instead of using variables they'd store everything as a struct field. But, if we treat struct fields as variables... ouch, structs are meant to "transfer" bunches of variables from place to place, so, they will definitely score worse than function-local variables... How'd I find good ratio to balance struct fields against the variables? How'd measuring distance in LoCs or instructions coexist with mentions in different files, different directories even? What if it's like a define? Especially a popular one, like "TRUE" in C? -- That variable would pull out such a huge score...
----
I don't think these questions are impossible to answer. But I cannot even imagine the research plan to try to come up with some concrete numbers, ratios, functions to make this thing work...
Re: Developer Productivity for Humans: Software Quality
#35Earlier quoted context omitted.
> not all businesses have investors. If I form a business and take no outside money, I am the investor, particularly in the context of GP’s point that “[businesses exist]…to make investors money.”
Non-financial businesses generally exist to provide goods and services. If FedEx stops delivering packages and provides no other goods or services, does it really need to exist?
Re: Developer Productivity for Humans: Software Quality
#36In my experience few things sap developer motivation quite the same way as being forced to support, but not allowed to fix(!), a low quality product. The business rationalization makes a certain sort of sense. If we burn, say, 4 hours a week manually cleaning up after bug X, but it would take 80 hours to fix it, maybe the return on investment doesn't compete well against other initiatives this quarter. But in my expe…
> "being forced to support, but not allowed to fix" IMO that's a super important point. Having accountability without control is probably the fastest way to burnout and dissatisfaction in my experience. It doesn't matter the amount of hours you put in, it doesn't matter how much vacation you have. It's the difference between a feeling of accomplishment vs the learned helplessness and Sisyphean feeling of endlessly pu…
My manager: I want this in X days
Me: It is unlikely to finish in X days given x,y,z. It is also likely to cause outages.
My manager: If it causes outages, we will throw you on a PIP.
Me gets burned out.
Lesson learned. If a manager forces me ever again, I am going to let the project and the manager fail.
Re: Developer Productivity for Humans: Software Quality
#37Earlier quoted context omitted.
> The inconvenient truth is that the business exists not to provide engineers with work they’re happy with or proud of but to make investors money. First that’s not always technically true because not all businesses have investors. But assuming that the primary purpose is to make money, even that’s not precise since there’s a massive difference on optimizing for ROI tomorrow vs next quarter vs when you retire and han…
> not all businesses have investors. If I form a business and take no outside money, I am the investor, particularly in the context of GP’s point that “[businesses exist]…to make investors money.”
> But assuming that the primary purpose is to make money (...)
Re: Developer Productivity for Humans: Software Quality
#38Re: Developer Productivity for Humans: Software Quality
#39Earlier quoted context omitted.
> "being forced to support, but not allowed to fix" IMO that's a super important point. Having accountability without control is probably the fastest way to burnout and dissatisfaction in my experience. It doesn't matter the amount of hours you put in, it doesn't matter how much vacation you have. It's the difference between a feeling of accomplishment vs the learned helplessness and Sisyphean feeling of endlessly pu…
> Having accountability without control My manager: I want this in X days Me: It is unlikely to finish in X days given x,y,z. It is also likely to cause outages. My manager: If it causes outages, we will throw you on a PIP. Me gets burned out. Lesson learned. If a manager forces me ever again, I am going to let the project and the manager fail.
Re: Developer Productivity for Humans: Software Quality
#40Earlier quoted context omitted.
Non-financial businesses generally exist to provide goods and services. If FedEx stops delivering packages and provides no other goods or services, does it really need to exist?
If Fedex stopped making money, would it have any reason to continue?