Re this important thread from @grimalkina:
https://mastodon.social/@grimalkina/111972810596703896
I just gave a little soapbox to my Software Design and Development students that I give every time I teach the class, and I’ll give it here on Mastodon.
Software development is an intensely social discipline.
1/
Software is made by humans for humans.
Most software is made by teams. All software involves interacting with other people. When you use a tool, a programming language, you’re interacting with the people who made it; when people use your software, they’re interacting with you. When software works or doesn’t work, that’s the decisions of others, the work of others that you’re experiencing. It’s people all the way down.
2/
Most software is made by teams, and software development is an •intensely• social activity. Software projects stand and fall on the relationships between the humans who create it: whether they understand each other, whether they collaborate well, how they make each other feel.
Computers don’t fill in the gaps and misunderstandings for us with common sense; when we don’t understand each other, we •codify• that misunderstanding in our code, fix it in place and turn it loose.
3/
The best software tester I’ve ever known once said to me, “Whenever I start at a new place, I find out which teams hate each other. Where their systems interface with each other is the first place I look for bugs — because they’re not talking to each other.”
Software projects stand and fall on the relationships between the humans who create them. (A corollary to Conway’s Law.)
4/
@inthehands @pfriedma It seems obvious, but do you think it’s fair to say business processes are the same?
I think this probably applies to most any system in which you have two people involved.
@inthehands @pfriedma Thanks for sharing this.
It seems quite obvious *once it’s been pointed at*, while still being a thing you can metaphorically walk past hundreds of times without realizing that this is what you’re looking at.