News for hackers. Stuff that matters.
Re:TerrariaClone – An incomprehensible hellscape of spaghett... by onion2k on Friday October 13, 2017 @05:25AM (#15464181)
If everybody has autonomy in a shared codebase, you end up with a heterogeneous spaghetti of unrelated design decisions and styles overlapping everywhere.

Being free to do things your own way often means choosing not to do something if it's going to negatively impact other people. Once you realise that you need to think about the way your decisions impact other people you quickly realise that compromising on your choices for the benefit of the wider team results in much better code.

Re:TerrariaClone – An incomprehensible hellscape of spaghett... by speedplane on Friday October 13, 2017 @05:40AM (#15464241)
> Being free to do things your own way often means choosing not to do something if it's going to negatively impact other people. Once you realise that you need to think about the way your decisions impact other people you quickly realise that compromising on your choices for the benefit of the wider team results in much better code.

This becomes more and more important as the team grows, as there are more feet that you can step on. Working on a large team is really different than a solo or small team. Large teams are as much about communication, mutual respect, and shared goals than writing good code. Unfortunately, communication takes time and energy, and necessarily slows down the entire process, but it's critical.

The Mythical Man Month lays this out nicely. The possible lines of communication in a N person team grows quadratically at N*(N-1), which explains why large teams are often far less efficient on a per-person basis than smaller ones.

Re:TerrariaClone – An incomprehensible hellscape of spaghett... by shrimpx on Friday October 13, 2017 @11:13PM (#15470494)
Good point. I think what you're hinting at is good if all or the vast majority of people are on board. In my experience this is not generally the case. People usually climb up the authority ladder not because they are emphatic toward others, or because they compromise on their choices to help the team, but because they solve technical problems and deliver product to customers, often while cutting corners and making executive decisions in the code base. More junior and newer people are at the whim of these more senior people, regardless of whatever egregious technical decisions they like to make.

The microservice approach has its own problems but hints toward a direction where teams are small and autonomous, with ground-up freedom on the architecture of their little service and free from draconian oversight. I'm not an advocate of microservices, but it's an approach that hints at something different.

Re:TerrariaClone – An incomprehensible hellscape of spaghett... by watwut on Friday October 13, 2017 @06:03AM (#15464328)
The trouble is that in closely cooperating teams where I worked, people who did what you suggest ended up in submissive position against people who just do their thing ignoring others. If I proactive think about others and you don't, you get to work however you like it oftentimes making my work more difficult - while I am more restricted and have harder time to make my ideas reality.
Re:TerrariaClone – An incomprehensible hellscape of spaghett... by infinite8s on Friday October 13, 2017 @06:58AM (#15464558)
What you describe doesn't really sound like a "closely cooperating" team.
Re:TerrariaClone – An incomprehensible hellscape of spaghett... by watwut on Friday October 13, 2017 @09:08AM (#15465236)
I meant team without clear responsibilities and "turfs" supposed to work together :). Clear reasonable responsibilities are an awesome thing and kill whole bunch of insecurities and resulting behavior.
Re:TerrariaClone – An incomprehensible hellscape of spaghett... by arthur_pryor on Friday October 13, 2017 @12:31PM (#15467128)
> people who just do their thing ignoring others

in a professional context requiring collaboration, that's an asshole move, and people who do that sort of thing on a regular basis should be reprimanded.