I think it funny how much average engineers are beginning to discover the challenges of engineering leadership and program management. This has always been the bottleneck.
It's why managers and PMs want to be in standup. It's why slack exists and engineers are constantly being poked on it. It's why execs always talk about not getting too far away from the work. It's how seagull management happens. It's why program management is a job.
All those behaviors engineers hated about their bosses that kept them away from being focused on the code...they're starting to feel what it's like on the other side and reinventing the solutions instead of just reading a book about engineering management. Maybe we'll rebrand program management to "understanding ops" or something.
I wonder what AI would say about us if given the tokens to complain.
I’ve worked on both sides, so I know they’re actually very different.
As a manager, the first thing you do is get to know your people. Some of them will be very strong and trustworthy. You give them the hardest work, and you ask them the least. That’s how you scale your team’s scope without getting overburdened. And that’s why teams have key people.
But when you work with LLMs, you still need to understand most of the ideas yourself if it’s a serious product. Because in the end, it means nothing to “trust” an agent. You’re the one responsible for what you and the LLM ship.
LLM doesn't need soft skills, but just knowing how to write a prompt to get the correct percentage values in a RAG and get the result close to your expectations out. Well it might be different based on the training data, which ai company, and how much you're paying.
People are different, they will be sometime affected by their emotional situation, surrounding, no matter how much they're being paid, You need to understand their mental situation, did he got scolded by the upper management today? He might not be on his best of his capacity right now. Or they might've pulled an all nighter and really not in their best position.
If someone going to treat people like an LLM, definitely is not going to have good time
Ironically, the same applies to AI. We seem to get demonstrably better results when speaking to models encouragingly [1]. It's a lot easier to re-establish goodwill when you can clear the memory and context of a program vs. a human though.
We don't know if it's all marketing stunts, or real, do we now?
> It's a lot easier to re-establish goodwill when you can clear the memory and context of a program vs. a human though.
That's the point. You can't erase human memories, experiences, (unless you bonk their head hard enough according to movies in my subcontinent, another bonk might reverse too) which will definitely affect their decisions and results.
But if you are managing AI agents you dont' need "soft skills" do you? You don't need to be especially nice to the AI, or symphatize with it, or have fun with it to build trust,
I would imagine that managing a team of AI-agents is totally different from managing a team of people.
> But if you are managing AI agents you dont' need "soft skills" do you?
“Soft skills” in management just means figuring out how to get what you want from the people you have available to you. In that respect those skills translate to using an LLM.
Figuring out how to get what you want from people would seem to me to be a very different skill than figuring out how to get what you want from AI agents.
For instance, how do you motivate people to work long hours, put in extra effort, feel proud of their work? How would you do that with AI?
They may be softer, but they're really not an identical set of soft-skills.
To illustrate the difference, imagine: "Hey, you've got all those soft-skills from tweaking the AI stuff, right? I need you to motivate Bob to get his head back in the game, but without causing him to resign."
Talking to an LLM is not a skill, just like using Google is not a skill.
Why? One, the companies like Google or Anthropic or OpenAI are working hard for it not to be a skill. That's the whole point. Second, these system are opaque, so there is no understanding to happen, only superstition, which might be wrong or change tomorrow.
I beg to differ. It is a simple skill that a great many have, but that doesn't make it “not a skill” - there are certainly many that don't have it, or don't want to practise it. Though I wouldn't name it specifically for Google, it is the more general “finding information online” skill which feels more specific because for many people these days it doesn't extend much beyond using Google or whatever their browser's default search service is.
People without the skill are quite evident: many of the closed duplicates on SO and similar sites are due to people lacking the skill to find information in old answers and effectively just asking others to look things up for them, the same for this week's 20th+ “my first layer has these bumps and gaps, what is going on?” question on any 3D printing forum (facebook groups etc.) that could be answered by scrolling down a few posts, and I'm sure the equivalent happens in groups serving any other plaything/hobby/skill/whatever.
Neither are skills that a large portion of users of those services pursue to any meaningful extent, I'll grant you that. They also certainly are not synonymous with the term "soft skills" as I know it. So I think I am on your side of the fence on that part any way.
I feel like if they were skills under a reasonable definition, you should be able to name an expert in these skills, and how do we know they are an expert.
But I think you can't. It seems to me, instead, one is better at googling/prompting the better they are in a particular domain, but it only applies in that domain. Like knowing a jargon is not a skill, knowing the domain is.
> you should be able to name an expert in these skills
There are certainly local “finding information online” experts in many families and social groups.
> and how do we know they are an expert
They are the ones who get mentioned a lot in conversations in the manner “I'll have to ask [name]” with the implication that [name] will look up the information or know it from previous occasions people (possibly this specific person and [name] is getting sick of them asking and not remembering simple answers!) have asked.
Soft skills include: handling change under ambiguity, critical thinking under pressure, self-awareness, prioritizing, motivating and guiding others without relying on authority, navigating disagreement constructively.
And of course if you point any of this out people go “Well many people are good at it, people getting bad results are just bad at it.” The constant refrain of “you’re just using it wrong” has become very tiresome.
If you can always say “just use it right” every time a critique comes up, then we aren’t having an honest conversation about the limitations of these tools.
It is impossible to duplicate results with an LLM. This strikes me as a serious barrier to calling it a proper skill. If you can’t even somewhat replicate the results you can’t really improve the input consistently. You can’t become “skilled” at it if you can’t even reproduce what you did.
If you enter the same prompt 3 times the results are of pretty significantly different quality. ChatGPT literally has you A/B test for them sometimes. They’re right to call it superstition - it feels like we’re making incantations and hoping for the best a lot of the time.
Prompting LLM’s still feels like a constant game of guess and check. At best you can argue it’s an educated guess. I don’t know about you but I didn’t learn math by guessing and checking, I frequently had to work backwards and review where I went wrong and/or I had the answer given to me with the work shown so I can learn. I can’t do that with a prompt. When I get bad results (which we all frequently do) I just guess what it didn’t like, try again, and pray for a better result.
Me typing into emacs is also not replicable, until I git push. Me with emacs and a good coding LLM can generate systems that I see as good, in my extensive professional judgement. For coding, for production grade code, the LLM will mostly be a tool in the hands of the professional. There is a new category of disposable code, which I think will be useful for many adhoc investigations; in neither case is replicability a serious requirement.
I do a lot of guessing and validating in learning maths. It is pretty efficient way to build that conceptual understanding. I even try to predict the next big theorem as I am listening to a lecture or reading a text book. It's engaging.
And honestly, I am enjoying learning this new way to make code I am pleased with. Using the LLM effectively and for quality deliverables is different from typing in many surface ways, but modularity of thought, iterative design and implementation, simplicity and generality, documentation, all still pay off.
These conversations always veer into “well I find it useful so I disagree.” I’m not saying anything about utility, I just think that system prompting is still very much hopes and prayers. We’re having a discussion about whether or not it’s a hard skill one can learn, I think that’s incredibly debatable
> It is impossible to duplicate results with an LLM
But that's the fundamental property of it - it is stochastic by nature. The skill is to learn how to sandwich deterministic logic between layers of randomness. Determinism doesn't live in the model. It lives in the harness you build around it. You can't make the model deterministic (it simply cannot be), so you make the system deterministic instead. Validation before, validation after, the randomness stays contained in the middle.
Talking to an LLM is not a skill, having a meaningful conversation leading to practical outcomes is.
If you ask me to write an email, all 3 variations will be more or less the same, except it will almost always improve with each iteration. 3 cracks at a prompt is 3 separate, unrelated attempts. None of them informs the other. In fact, you run the risk of making it worse if you include previous versions.
> 3 cracks at a prompt is 3 separate, unrelated attempts. None of them informs the other.
Thats where the "skill" part comes in. Like your 3 attempts at email that `almost always improve`. This is where you input the "previous versions", not directly back into the model. It's the "soft skill" of being flexible and adjusting based on how an entity responds to the input. Not learning how to adjust the input (by using previous attempts to inform the next) to more optimally direct the output given the state of the llm (chat? agent? model, effort lvl etc) it will seem chaotic.
The skills wont make an llm* deterministic, same as applying these soft skills to people. Give the same input to a person in `3 times separate, unrelated attempts` you are likely to get 3 different seemly chaotic outcomes. The "skill" is in being able to take what you received as output the first time, and make adjustments based on previous attempts while accounting for the state of the entity for the next attempt.
* In no way am I saying they are conscious beings or whatever nonsense by using people in the analogy. There are, however, parallels in how a set of soft skills (and this is why they are "soft" skills) can be used to get more optimal results from an entity that should never be expected to act as a pure function.
I don't think soft skills describes it in the traditional sense. The skillset largely needed with LLMs is more akin to being an editor or qa tester.
I suppose you could describe having the modesty to admit to yourself when you don't understand and research something deeper could be described as a soft skill, but I'd say it's a stretch. You are dealing with yourself in that scenario, not others.
You’re still responsible for what you and the team ship if the team is human. Trusting your people just means you’re willing to take the fall if they mess up.
Actually, I would say trust is an intrinsic part of an engineer's job, because the job is to deliver something that can be trusted to do what it says on the tin.
For software engineering, you're perfectly right that reading the code is one way to build that trust. But the industry has evolved many other methods, and I think those (and new methods based on those) will become more and more important in the future.
> It's why managers and PMs want to be in standup.
While I agree at face value, I also believe a lot of managers and PMs do not have enough work to justify 40 or more hours of work a week, so attending standup, meetings, etc. is performative attempt at self-preservation.
Of course, there are many managers and PMs that are leading death marches, so I know it's highly workplace dependent.
> I think it funny how much average engineers are beginning to discover the challenges of engineering leadership and program management. This has always been the bottleneck.
It is somewhat new for most ICs to need this skillset, as opposed to tech leads/staff folks. What books would you suggest for this new reality?
To me, the biggest hurdle to trying to manage agents like humans is that there's no real continuity, out of the box at least.
You can trying to get around this with RAG and markdown files and skills but you're basically building from scratch the "tools" on how to remember the codebase that you take for granted with people
Maybe, or maybe you are overly pattern matching on what you what to be true?
I don't think anyone would mind having a competent manager or PM in a standup, someone that is actually contributing towards finding solutions and ways to move forward.
yeah, I would say half of the program managers I ever interacted with had their role justified, the other half would be let go during the next layoff....along with at least half the competent ones..
That would be a massive improvement. “I don’t know, maybe these other smarter more expensive models with more recent training data might… here are some questions you could ask them:…”
Simply those first three words out of an LLM would be a massive improvement: "I don't know". "I am not sure". "My confidence in the following answer is low due to a lack of reliable information in my training and online sources ..."
If you haven't gotten a refusal from AI yet to answer a question, I guess you haven't annoyed it enough. Claude very much threatens to stop conversing on re-hashed topics with repeated arguments within a thread lol.
AI passed the Turing Test empirically long ago. Further and more practically, they consistently convince millions of people that they are a real person with real intentions all the time, every day.
They are so convincing that an emergent property of the Turing Test is also being shown: that real humans are called bots by people that genuinely believe the other is a bot.
The standard 3-person Turing test with 2 people talking and a third observing and trying to decide which is a computer, if any, has been summarily defeated.
So many people I know believe that AI has already passed the Turing test. What's weird is that a lot of them are managers and should understand that never getting an "I don't know" means something ain't right.
I remember reading a news article over a decade ago (maybe even two) about people testing their bots on dating sites and how they have to occasionally break the hearts of people who fell for their bot.
When I run the Turing test, it's me testing the computer. I don't care if anyone else isn't able to discriminate. Of course there is no "standard Turing test" as that would imply that it's an some kind of bot testing another AI and obviously that fraud with issues.
The Turing test is a human testing the computer and that human is me.
I have some experience as a manager, but not a lot (something short of a two years in the same company). I dislike the idea of standups both as a programmer and as a manager. They remind me too much of military drills: something performative, useless, only to keep new recruits busy.
The reason I think that is because it puts communication into a very simplified and regimented framework, so simple and unable to adequately answer the needs of the communicating parties that nobody actually uses it for the intended purpose. The actual communication happens between people who actually need to work on something, in the format that allows more freedom, with more aids, more prep time, perhaps over multiple sessions.
Sometimes, probably, as a manager, you have to work with a very low quality workforce, lacking motivation and simply avoiding doing any useful work as much as possible (eg. some overseas outsourced project that gets paid by an hour). In this case, standups become a soft punishment tool: something to verify that workers showed up to work, that they didn't lie about the progress made so far etc. You would still have to do the former part of the management, but now you also have this kindergarten-teacher style chore on top of it.
I remember when I raised this point like a year or two ago -- in response to someone saying that coding AI made all their work trivial I said something like "if you have multiple agents the work changes and becomes more managerial - don't you think that managers contribute value" and I got a bunch of downvotes and all the responses were like "no manager has ever contributed value." Ahh, good times.
As an engineer I've found most managers that i ever worked with to be perfectly fine people and their role was justified and I was happy that their job was not my job.
"Managers" don't contribute much if any value. Someone with creative vision contributes value. That cam be a PM, or the right engineer, and sometimes both if you're lucky. Most of us aren't lucky like that.
I’ve managed large software teams for 10+ years and also worked as an individual developer.
In my experience, most middle managers, probably 90%, have no clue how to manage software developers. It’s not that hard to manage teams IMHO, but you need to focus on the right things.
Actually, project managers could learn a lot from computer science. For example, on scheduling - kanban is the way to go (that's what OS is doing), scrum is BS. Or on planning - planning has a cost which decreases the total throughput.
There is also a variation of Amdahl's law - if you automate more things, the predictability of remaining work will decrease, because it will now take more time.
Also, formal languages still trump natural language. Despite LLMs; I think it's a stepping stone to something better but "vibe coding" will turn out to be unsustainable.
It's why managers and PMs want to be in standup. It's why slack exists and engineers are constantly being poked on it. It's why execs always talk about not getting too far away from the work. It's how seagull management happens. It's why program management is a job.
All those behaviors engineers hated about their bosses that kept them away from being focused on the code...they're starting to feel what it's like on the other side and reinventing the solutions instead of just reading a book about engineering management. Maybe we'll rebrand program management to "understanding ops" or something.
I wonder what AI would say about us if given the tokens to complain.