June 24th, 2024

No Matter What They Tell You, It's a People Problem (2008)

The article emphasizes the crucial role of people in software development, citing teamwork, communication, and problem-solving skills as key factors for project success. It highlights the importance of job satisfaction and team cohesion, underlining the significance of positive personal relationships within development teams.

Read original articleLink Icon
No Matter What They Tell You, It's a People Problem (2008)

The article discusses the importance of people in software development, emphasizing that the success of a project often hinges on the dynamics within the team rather than just technical aspects. It references Gerald Weinberg's idea that "no matter what the problem is, it's always a people problem," highlighting the significance of teamwork, communication, and problem-solving skills in project outcomes. The author, Bruce Eckel, suggests that job satisfaction and team cohesion are strong indicators of success in software development. He poses questions about team dynamics and personal relationships, suggesting that working with people you like and respect is crucial for project success. The article concludes by stressing the rarity of happy and functional software development teams and encourages readers to prioritize working with inspiring and supportive colleagues. Ultimately, it underscores the idea that success in software development is deeply intertwined with the people involved in the process.

Related

Avoiding Emacs Bankruptcy

Avoiding Emacs Bankruptcy

Avoid "Emacs bankruptcy" by choosing efficient packages, deleting unnecessary configurations, and focusing on Emacs's core benefits. Prioritize power-to-weight ratio to prevent slowdowns and maintenance issues. Regularly reassess for a streamlined setup.

The manager's unbearable lack of endorphins

The manager's unbearable lack of endorphins

The author explores satisfaction in swimming, coding, and managerial roles. Physical activities offer immediate feedback and endorphins, contrasting with managerial tasks lacking similar gratification. Transitioning to management poses challenges in finding fulfillment.

Software Engineering Practices (2022)

Software Engineering Practices (2022)

Gergely Orosz sparked a Twitter discussion on software engineering practices. Simon Willison elaborated on key practices in a blog post, emphasizing documentation, test data creation, database migrations, templates, code formatting, environment setup automation, and preview environments. Willison highlights the productivity and quality benefits of investing in these practices and recommends tools like Docker, Gitpod, and Codespaces for implementation.

Getting 100% code coverage doesn't eliminate bugs

Getting 100% code coverage doesn't eliminate bugs

Achieving 100% code coverage doesn't ensure bug-free software. A blog post illustrates this with a critical bug missed despite full coverage, leading to a rocket explosion. It suggests alternative approaches and a 20% coverage minimum.

Microfeatures I love in blogs and personal websites

Microfeatures I love in blogs and personal websites

The article explores microfeatures for blogs and websites inspired by programming concepts. It highlights sidenotes, navigation tools, progress indicators, and interactive elements to improve user experience subtly. Examples demonstrate practical implementations.

Link Icon 12 comments
By @tibbar - 5 months
I'll say this much: People problems are behind the majority of failures I've seen in my career. A project isn't delivered on time, and no one knew it was going poorly? People problem. A team spends three months building the wrong system, because they didn't work out the details with the right stakeholders? People problem. A critical person is fired, and the processes they manage predictably catch on fire a month later? People problem.

There is a category of problems that, I think, are mainly engineering problems (a few examples below.) You could argue that these, too, are people problems, because the team lacked experience and someone should have hired better engineers. However, given how difficult and unpredictable hiring is, I think it's better to treat questions of engineering design as primarily engineering problems, since that's a much easier problem to address. Some examples:

* An analytics system without tests that generated incorrect results silently.

* A project management system that ran out of memory when usage increased and couldn't be fixed without completely re-architecting it.

* An accounting system that wrote the same value in two places which frequently got out of sync.

By @mattgreenrocks - 5 months
This type of post is practically a trope at this point: technical blogger who digs deep into tech inevitably has a grand epiphany that it's really all about people, not tech, and that's what we should really be interested in.

Maybe this is the unofficial CTO creed or something.

By @giantg2 - 5 months
The main problem I find is that the people who want you to build a technical system are unable to explain how the existing business system works.
By @wirrbel - 5 months
Sometimes I feel like the industry has just given up on solving people problem and is trying to fix stuff with Dockerfiles and yamls..
By @qujine - 5 months
> If you aren't working with people you like, people you respect, people that challenge and inspire you-- then why not? What's stopping you?

God I wish the world was like this again. I know so many people that don't have jobs and can't land anything because there isn't enough open.

By @alexashka - 5 months
Yes, when people will throw money at you to pick low hanging fruit, it is simply a matter of not squandering the incredible opportunity.

This very quickly becomes not the case due to the limited availability of... low hanging fruits.

This is of course not mentioned because why let reality get in the way of a good story.

Folks love a good fortune cookie - 'it's a people problem' - it only has 2 words! :)

By @jkaptur - 5 months
I think this is basically true in moderation.

I certainly agree that a lot of problems (including a lot of very difficult problems!) are not amenable to purely technical solutions.

But sometimes you have a difficult, technical bug to fix, and the "people problem" is making sure that someone has the knowledge, context, time, and incentive to fix it. This is not necessarily easy!

... especially if enough people have bought into "everything is a people problem", because then the technical work of fixing the bugs isn't valued or incentivized. Why would it be? It's not solving a people problem.

I think the viewpoint "everything is a people problem" can create a feedback loop that leads to poor incentives - which, ironically, is a people problem.

By @rozenmd - 5 months
"The hardest parts of being in business long term are all people problems." - Alex Hillman
By @cynicalsecurity - 5 months
> How many lines of code will your team write?

That's how you know the article is pure nonsense.

By @inglor_cz - 5 months
As Stalin said, no man, no problem.

Nevertheless, this observation is too trivial to be useful, with the possible exception of "design things so that some automatic mechanism, independent of humans, is able to detect errors".

By @tibbar - 5 months
There's a tension here which I can't quite put my finger on, but perhaps it is: If everything is a people problem, why do we need engineers at all? And if the business can't be run solely by MBAs and project managers, and we bring on engineers for that last part, is it really just a people problem they're solving?