The Good Employee, a story about how you can explain companies with graph theory
madeddu.xyz
madeddu.xyz
If you have something important to say, say it as clearly as you can. Use humor sparingly and only when it emphasizes a real point that naturally contains some humor or irony, not as the main ingredient.
The rare exception is when someone has an absolutely wickedly clever sense of humor that is so funny and enlightening you can't help reading, no matter how random the exposition. But that is high art.
That describes G. K. Chesterton to a T.
Recommended: https://www.youtube.com/watch?v=vtIzMaLkCaM
I'd challenge whoever is upvoting this to distill it to a few essential points (a tl; dr: even) that are worthy takeaways.
1) First, let's look at the premise:
> But this time, let’s analyze the things from a mathematical perspective - because today if you don’t speak about data and models, nobody hears you. Let’s give the theoretical machine learning definition of a modern AI company: a modern AI company is a WUG - a.k.a. an Weighted Undirected Graph - that links at least three different families of nodes - Employees, Processes and Projects - in a chain of skills, troubles, goals, beers, prizes, achievements, careers, promotions, pizza, parties, lies and God only knows what else, with the overall goal to solve (or introduce) dependencies, investigate (or ignore) consequences but, by the end of the day, feed the so hungry desire to “change something” - also referred to as “bring something in production”.
This is nonsense, not to mention completely arbitrary. If you're going to do this kind of thing (which game theorists actually do routinely), you need to very carefully define your terms. I have no idea what a process is; I have no idea what a project is; I have no idea what an employee even is (are contractors employees? they naturally have different incentives than full-time or part-time employees). Etc. I could make a just-as-valid post arguing that a company is actually a n-dimensional topological space (and then using vectors instead of edges/nodes, while getting totally different "results"), but what the hell does that mean?
2) Next, we have some (yet again) arbitrary definitions:
I'm especially confused about why things are proportional to other things, namely budget, cost, or headcount. Again, if you're going to try to provide a mathematical model for social behaviors, you better have some solid justification behind your definitions.
3) The assumption that humans are robots:
> Ok, so in a digital Forest like the one just described, you cannot move with weapons to defend yourself against pumas - or whatever else lives inside a real forest with the desire of eating you and your backpack full of energy bars. Instead, the good Employee inside the WUG. Sorry, the Forest. Sorry again, in the Company, uses his ability and applies the Prim’s algorithm. Now, before going ahead, it could be useful to remind some concepts about graph exploration.
On the face of it, this seems (?) right, I guess. But when you think about it for more than 30 seconds, you realize what an insane claim it actually is. Humans are famously non-rational agents. The idea that humans subconsciously apply Prim's theorem is experimentally wrong... in fact, people are notoriously awful long-term decision makers, but I digress.
4) The weights table
Listen, I get it. Sometimes, you need to model social behavior. And to do that, you need to assign weight values to decisions. Again, game theorists do this all the time. But there's a few differences from a GT paper you'd read and this blog post. First of all, dude... like 15 weights? Really? This goes beyond speculative.
And second of all, we need justifications! Why is "pizza" -15, but "parties" are -25? These systems are actually pretty sensitive to initial conditions; in fact, the more weights/nodes, the more sensitive we'll be to initial conditions.
> Of course, you can add as many weights as you want.
Yeah, you could, but you don't. In fact, the idea when creating these kinds of models is to try to minimize these kinds of arbitrary weights.
5) People are robots.. again
Author claims "...yes, some of them apply Djistrka[sic]..." -- again, this is simply experimentally wrong. And hearing it out loud just sound so awkward. I don't even think I "apply Dijkstra" when I walk back to my car.
6) Making policy based on math is stupid
> This state of confusion leads to the fear of hiring people who are not expert in something, that is not able to solve company’s actual problem: that problem arose yesterday, come out months before, without nobody looking in the right direction, because the minimum_spanning_tree rules them all
No, the minimum_spanning_tree does not rule them all. Making company (or worse, political) policy based on these kinds of analyses is a plague. And sadly, these kinds of reductive and abstract models (often hailed as "data-driven") are tone-deaf and completely wrong.
Never bury the lead in your writing!
Yes, the graph isn't un-directed and at best you will have information only about the nodes you can reach from your current node, with the edge weight unknown until you have traversed them and dynamic.
Conceptually, it's interesting and potentially foreign to the target reader - more formal definitions can wait for an academic paper rather than a casual blog.
Not sure if this is good company to keep. Generally speaking, behavioural economic models aren't worth the paper they're printed on.
Excluding the fact that it could be written differently, more concise, more clear, etc - by the way, thank you for links and suggestions as well - the overall idea behind this post was to provide a 50-50 footprint (both funny and serious) around the human behavior in a complex organization. I think the first sentence that gives the reader an idea of the context in which the post will be placed is in the "[..], because today if you don’t speak about data and models, nobody hears you." But... I didn't think a lot about this sentence, I think it was just for laziness, and I don't wanna give my opinion over this topic.
Back to the Prim behavior, I think this is all human and, by the way, shared across all people in every kind of organization, not only inside companies. I mean, not the algorithm, but - bringing it to the extremes - the human nature of being selfish. The idea of providing a high-level formalism to imagine a common scenario we all live every day came spontaneously to my mind, without being so convinced in the beginning. So I tried to figure out if the metaphor would have been a good fit for this idea I had in my mind. And this is it.
When I finished, I read it many times, and I know the feeling like "what the hell is saying? I'm confused" because I felt the same reading my old posts in the past... I'm not 100% sure, but I think I learned from myself that sometimes I feel good in thinking something simply are weird or difficult to understand. I think it has been, as many other times in the past, an unconscious part of my writing process: I like the idea of being a bit wrong, confused, misleading, just a bit, to give more freedom and let the people change their mind while reading. Being distracted, somehow, arise doubts.
I don't know if I could be able to formalize it in a better way like suggested by iciac, definitely, it wasn't my intention to provide scientific proof or anything mathematically correct as suggested by dvt - and I hoped that incompleteness feeling had explained this better than how much it actually had done - but... again, this is it :-)
And I hope you at least enjoyed this flight of fancy. For any questions, feel free to reach me here, by email, twitter, linkedin, etc.
Have a nice day :-)