(no title)
angarg12 | 1 year ago
Picture this: you join a new team with a senior engineer, call him Pete. Pete wrote the initial version of a new product, and you joined the team to take over and continue it's development. Pete is bona fide genius who can work miracles and he is always in the critical path of each new initiative, you are told.
Once you open the lid of this new codebase you discover that this new product is a half baked spaghetti ball of mud that barely works as the demo that it was intended. With no documentation or tests, it takes you a while to even understand what's going on. Meanwhile the clock is ticking. It took Pete a mere 2 weeks to write this system, why it is taking you so long to add new features?
You try to explain to management the pickle you find yourself in, but to no avail. They fucking love Pete, and won't have anyone criticizing him. He has saved their asses in numerous occasions, and why is it always that others are the ones who can't keep up with him?
So you chug along, paying the price of the mess that Pete made while he keeps moving to even larger initiatives under leadership adoration. He also seems to have a knack to leave ship before his acts catch up with him, and when he decided to leave the job for a promotion and significant raise, management will miss him.
I've seen this behavior more than once and it seems too specific to not be intentional. Let me know if you ever met someone like Pete and how you call such people.
RalfWausE|1 year ago
I do "computer stuff" as my profession for about 20 years and always for rather small companies. I do everything from wiring a network, any level of supported, programming and administrative stuff... oh yeah, and in my current job I sometimes drive a forklift in the warehouse.
I work now for about 10 years for the same company and have built significant parts of their software ecosystem, and in my professional opinion: Its a Rube Goldberg machine fixed and extended with duct-tape, hotglue and tons of wishful thinking. Nothing, absolutely nothing in the system I had to build was carefully planned, implemented or tested. Most new feature requests were handed in by an stressed out boss on a Friday afternoon telling me that we need feature X / solution for problem Y / bugfix Z ABSOLUTELY URGENTLY because something went terribly wrong. Its not uncommon that this visits were the result of some prior hotfix backfiring.
And I build it. And it works.
I have often told my boss that it would be best to drag the whole system behind the warehouse and shoot it to relief it of its misery... but, well, it works...
Perhaps I should work on having this 'Pete skill' of leaving ship for the raise and promotion thing ;-)
pyrale|1 year ago
They milk the credit and move on, leaving the next engineer explain to management that what they have is not what they believe they have.
bombela|1 year ago
People like you acknowledge and understand the engineering trade-offs. Which you might smirk at, but is true nonetheless. If there is only one example of you not being op's Pete is that you tell your boss about the reality of the situation.
The OP's Pete I have met many. It is exactly as described.
spit2wind|1 year ago
As for the psychology of such people, I haven't found a single resource. Clearly the system they operate in provides a feedback loop that reinforces their behavior. I'm sure personality, as defined by the Big Five model, plays a part (e.g. orderliness).
whilenot-dev|1 year ago
As for the psychology: I always assumed that some people just don't perceive the contrast between creation and maintenance as very expressive or strong, the article The Maintenance Race[0] from Works in Progress comes to mind here. That article distinguishes between 3 types: Robin Knox-Johnston, Donald Crowhurst and Bernard Moitessier. Maintenance isn't fun for me, it's just tedious work that needs to be done. The easier and the faster it can be done, the better. There's accidental complexity anyway, and the world sure can be messy, but I'll do my best to keep my produced artifacts in line. My perception to orderliness is probably pretty sensitive, maybe my tendency towards depression plays a role here ("Doing maintenance cures depression" is a quote in the mentioned article above) and I can acknowledge that not all people are like that. But for me it feels somewhat similar as if I would compare real vintage things to things that just have been designed with that certain vintage look. Real vintage has to be accepted, it's history after all, but history just can't be designed and you're better off to work into the time ahead. I'll honor accidental complexity, it feels like history, but incomprensible problem-solving skills aren't somewhat part of it, in my book at least.
[0]: https://worksinprogress.co/issue/the-maintenance-race/
mst|1 year ago
I fear they missed the vocabulary part, which was what I found most valuable.
YmiYugy|1 year ago
intelVISA|1 year ago
rrr_oh_man|1 year ago
This, 100 times.
XenophileJKO|1 year ago
The reason they can "move fast" is because everyone else is trying to limit complexity, etc. and they are punching holes through the abstractions.
Then turn into your "Pete" when they get promoted...
motorest|1 year ago
That's perfectly fine. Your salary is paid by paying customers which are attracted and maintained by improving their user experience. You will never get a new paying customer by advertising that you prevented your abstractions from being soiled.
rvba|1 year ago
kelnos|1 year ago
This is not a "knack". It's a manipulative skill he has learned over time. A way to burnish his reputation at the expense of his peers. Petes suck.
cgio|1 year ago
lproven|1 year ago
I do not know the author of the blog, but this part especially strikes me as a misinterpretation of the point of the piece.
But that's shedding light, and maybe it's not and my interpretation was too narrow.
My interpretation was: Julius is a parasite, who contributes nothing but merely makes the productive members of the team work harder to compensate. He sounds convincing but understands nothing, does nothing, contributes nothing, and not only wastes others' time but also steals their credit.
But you see him as contributing? You see what he brings as being valid and valuable -- is that right?
tdeck|1 year ago
resonious|1 year ago
athrowaway3z|1 year ago
If you got something working, and are available to answer an email explaining why you made a design decision, then you're already cleared of being a bad Pete.
Pete can't make the perfect product and he shouldn't try to. If it took 2 weeks to make management happy then its a problem you can do "right" in 1 or 2 months. A new dev needs to read up on the problem, what Pete did, what needs improvement, and maybe restart fresh to deliver. Good management knows this.
But a 2-week-delivered project is naturally bounded in scope, and its better off for being 'proven' than whatever OP imagined the right way to do it is.
There are only 3 cardinal sins. Don't destroy/overwrite an existing architecture, don't be a smart/dumb coder, don't do a months long Pete-style yolo project.
_dp9d|1 year ago
She would take on a dozen small-ish projects (~6 months / $1M), and just jam them through by buying some off the shelf managed solution and using an external contractor who would write spaghetti to run tentacles to everything. She would routinely deliver projects early and under budget, which made her a stand out STAR. No other projects in the entire company were remotely close - normal was double time and budget. Green ticks next to her name, promotions, bonuses, etc.
Once I was invited to a conference call with a dozen people I didn't really know.
Her: We've tapped you as the main support person for this new system we've just deployed into production as part of this new project. I has customers live now.
Me: OK, great. Where's the documentation (there is none). What server does it run on? (Huh?). What credentials do I use to login (what?). Who is managing this SSL certificate? (What?). And so on.
I was told later that was a Career Limiting Move (CLM) on my part, because I wasn't being a team player, and I was adding friction to The Greatest Project Manager(TM).
She did this for at least 50 projects, always getting accolades while creating an absolute shit-storm for support to deal with. As the years rolled on I learned this is perfectly normal for a telco.
miksak|1 year ago
MortyWaves|1 year ago
__turbobrew__|1 year ago
It is a ying-yang kind of situation where you need people to do the greenfield stuff and just get something working and you also need people who balance that through documentation, rollout, and day 2 operations.
I am in a feedback loop of if what I built sucks I will get paged and woken up in the night, but that only includes operational health and not necessarily “good” architecture and documentation.
I will say that 9/10 times when I cut corners or do something which is hacky it is really only an aesthetics thing and does not affect metrics which matter. The best thing you can do is make things simple and hacky, it leads to quick MVP and is easy to refactor. Complex and hacky is where you get into all sorts of problems.
The_Colonel|1 year ago
I mean, why not, this sort of quick delivery is super valuable to companies. But management needs to understand that the solution is more like a prototype, difficult to scale (in features, team) and that's where it is the engineer's responsibility to be transparent.