I've been a few times in a situation where I needed to make significant changes in a huge codebase with lot's of tests but also with a lot of corner cases, on my own.
I've spent blood sweat, tears and restless evenings scrolling and ctrl-f-ing huge build and test logs to finally accomplish the task.
But let's take a step back.
So they assign you to get that done. You're supposed to be careful, courageous and precise while making those changes without regression. There's very little up-to-date documentation on the design, architecture, let alone any rationale on design choices. You're supposed to come up with methods like Mikado, tdd, shadowing or anything that gets the job done.
Is this even fair to ask? Suppose you ask a contractor to re-factor a house with old style plumbing and electricity. Will they do it Mikado style, or, would they say - look - we're going to tear things down and rebuild it from the ground. You need to be willing to pay for a designer, an architect, new materials and a set of specialized contractors.
So why do we as sw engineers put up with the assignment? Are we rewarded so much more than the project manager of that house who subcontracts the work to many people to tear down and rebuild?
If you're paid by the hour, then does it really matter if you have to refactor stuff? If it takes a long time to do then it'll be more expensive for your employer.
Does the project manager get paid more by the hour to refactor a house than to build one?
That number feels off by a lot to me. I think i can say i'm quite good at socializing, quite above average when comparing to people I meet and work with. I'd rate my engineering skills about average level and i have a firm dislike of fraud and of people acting to be better/smarter/faster than they really are. In my career I've come across managers of the julius type, as well of the narcissistic type, even a sociopath. I would estimate 10 to 20 percent of people are of the Julius type.
It was a subtle ref to the 80/20 rule in that most people likely oscillate between the julius and the useful. Some of that 80% are full time julius for sure.
To be honest, the 'bush hid the facts' bug was funny and was not really a vulnerability that could be exploited, unless... you understood Chinese and the alternative text would manage to pursuade you to do something harmful.
In fact, those were the good days, when a mere affair with your secretary would be enough to jeopardize your career. The pendulum couldn't have swung more since.
What they are basically saying : a framework built up from bash-or-makefile-ground by an LLM, is better than any existing framework. I don't agree. When I use LLMs to generate scripts for me, I often have to adapt them to fit in the bigger picture. The more scripts I have, the more blurred becomes what that framework as a whole stands for. Then to become a usable framework, refactoring is needed, which means the calls to those scripts need rewriting and retesting as well.
And why do they say ‘right?’ every time? Because without it my ‘ja’ does not mean ‘yes, sir’, but rather ‘I hear you, go on’. So, same as everywhere else.
I think we could summarize all as follows: _everything_ is inter-connected and hence influences its surroundings and hence everything, indirectly. Some connections (in-brain) are stronger/wider than others (human to human etc).
> see the employee-manager relationship as adversarial by default.
I don't see how anyone can be happy in their job if that were the default. Maybe I am naive or lucky, but I have a very goed relation with my boss, as well as with the boss above.
When that condition is not fulfilled, i definitely tend to slack off and I will eventually leave. I believe such should be the default.
The relationship between owners and workers has always been extractive. The adversarial relationship is built in. That doesn’t mean that you can’t have a good relationship with your employer, but there is always a conflict of interest, so to speak.
I’ve had great relationships with my bosses, but they’re always under pressure to extract more work from the workers. In turn, their bosses are also pressured to do the same.
So yes, it’s not the default and you and I have both been lucky.
Classifying a relationship as adversarial presumes a competitive context. I don't believe we are in competition with our employer but in a cooperative relationship, so we're talking game theory. A good employer cooperates with their employees to achieve business goals, a bad manager defects and prioritizes their personal goals/desires above the shared business goals. Your relationship falls out of this behavior (assuming no personal issues).
Isn't there competition for your own time? I'm thinking of crunches, or justifying a schedule despite workhour efficiency varying way too much (what are you going to achieve if you finish your last task at 16:40 on a Friday?)
What about a farm worker who tills the land? Is every farmer/farm worker achieving business goals through _cooperation_? What about seasonal farm workers? I guess the farmer can set up incentive payments, but even so, are you saying there no adversarial component to the relationship?
Any relationship can be framed however in different ways that embody different ideals. What one person views through an adversarial lens, another can view through a cooperative lens. All (above board) worker/employer relationships can be seen as cooperative. Neither entered into the agreement by force and each is getting something out of it.
This has almost never been my experience in ~20 years of working. Other than a few fleeting assholes, all of my work relationships have essentially been collegial, with all parties, regardless of position, looking at how we can best get the work done that’s in front of us. I’ve never felt exploited or used and never felt I was exploiting those I managed.
I think if one sees their work this way, maybe it comes true? It’s a very cynical way of looking at things.
Since we’re speaking anecdotally: I’ve also worked in service industry, and I have personally observed employers/managers abusing their power to elevate themselves at the expense of their employees. Does that make you reconsider? I would hazard to guess it doesn’t.
My point being that anecdotal evidence isn’t particularly useful.
> I’m not even sure it’s that common in most modern workplaces.
I don’t know what to tell you honestly. This is an incredibly naive take
Edit:
I feel I’ve been uncharitable in responding to you. I think we are likely talking past each other and what an “extractive” relationship is. I don’t think people are malicious. Most people (IMO) are essentially good and maliciousness is relatively rare. That said, if you work for an employer, you will always be resisting pressure from above to do more work for less pay. Maybe you’re lucky and you have an excellent middle manager (I have had some) who are skilled at preventing shit from rolling downhill. The fact remains the pressure exists and eventually, someone breaks. Maybe they have a bad day, or fall into financial distress, or the economy sucks. It doesn’t really matter. The people who pay the highest cost are the people at closer to the bottom of that hierarchy.
This is an oversimplificstion. The relationship between the person holding the scarce resource, and the person holding the common resource, has always been adversarial.
As labor becomes more skilled and less common this dynamic changes.
I’m looking at the status quo. Which still puts vastly more negotiating power in the hands owners of capital in most economies today. I agree it’s an oversimplification and there are some markets where this is not the case.
If I consider my experience it’s clearly still in the minority, so I still consider myself fortunate.
I figured it was worth mentioning since the status quo among HN users, skews closer to markets where this does not apply, than the status quo of the general population.
First, you're certainly lucky. Secondly, the emphasis should be on "by default"; managers can, and some easily and quickly do, prove that they aren't adversarial. But companies (especially tech companies with high stress on unsustainable growth) don't often incentivize that, and sometimes disincentivize it whether they mean to or not.
I'm happy buying groceries at the grocery store without having to pretend that the checkout clerk loves me.
I also feel that the emotional attachment to one's source of income could cause people to compromise their morality for them, as if they were family e.g. I don't think one child should be favored over another, but I'm happy when my child is favored over others.
> I believe such should be the default.
It's delusional. Your boss is trying to pay you as little as possible for as much work as possible, and you are trying to get him to pay as much as possible for as little work as possible. You've both examined your leverage and have come to a temporary accord which may change a year from now (or a day from now if you get another offer.) The relationship is adversarial. It's not a matter of opinion.
In fact you are right, there is no escape from this assimilation, at least I do not see how. And the outcome might be worse than becoming the Borg. Nobody can tell right now.
There's resistance but on the other hand there was resistance against light bulbs, trains with engines, automatic press, phones, television, a global internet,...
> There's resistance but on the other hand there was resistance against light bulbs, trains with engines, automatic press, phones, television, a global internet,...
There was also resistance against fascism, slavery, Ponzi schemes, the privatisation of public goods, the devaluation of the Humanities, ...
I don't see fascism, slavery etc as part of progress, it is more of a political/ethical choice. AI is a next step in human progress and that is why i see its use as inevitable. Of course there still need to be checks and balances, just like with free trade, free speech, capitalism, private property etc to keep things fair and balanced. But it is never perfect.
The thing is, not using AI costs so much effort that it is almost impossible to correctly say "I don't use AI" . It is like saying 20 years ago "i don't use a search engine."
I've spent blood sweat, tears and restless evenings scrolling and ctrl-f-ing huge build and test logs to finally accomplish the task.
But let's take a step back.
So they assign you to get that done. You're supposed to be careful, courageous and precise while making those changes without regression. There's very little up-to-date documentation on the design, architecture, let alone any rationale on design choices. You're supposed to come up with methods like Mikado, tdd, shadowing or anything that gets the job done.
Is this even fair to ask? Suppose you ask a contractor to re-factor a house with old style plumbing and electricity. Will they do it Mikado style, or, would they say - look - we're going to tear things down and rebuild it from the ground. You need to be willing to pay for a designer, an architect, new materials and a set of specialized contractors.
So why do we as sw engineers put up with the assignment? Are we rewarded so much more than the project manager of that house who subcontracts the work to many people to tear down and rebuild?
reply