I came here to say the same thing, since flat structure companies have always fascinated me and I generally still feel like it would be a good experience to work for one, I wanted to know what exactly led them to this decision. Instead only two things were listed as potential reasons: the gender issue and that employees didn't have a person to talk to about their performance or conflicts. The title is very misleading as I'm sure these couldn't be the only drivers. That's a huge cultural shift.
I don't know what led GitHub to this shift. At GitLab we want to maintain as flat of a structure as possible but we always wanted everyone to have exactly one boss and 4-10 reports per boss. For us the reasons are that:
1. You want someone to evaluate your and your team's performance. Not getting feedback on this is demotivating.
2. You want someone to help you get better and plan your career (all of our managers are skilled in the area of work of their reports).
3. You want someone to go to with problems: individual execution, team execution, collaboration with another team, and (inter)personal ones).
I'm curious if there's a way to accomplish those things without a single designated boss. For example, having coders taking turns every week or two being the person people go to for typical boss purposes. Of course some people just aren't good leaders or have no desire to be, so maybe some people can have a promoted status they get over time, allowing them to be in the "pool" of managers chosen on a biweekly basis.
There can be many factors to play around with. After everyone on a team has had the chance to be manager couple times, the team could vote for who should be the manager for the next month. Etc, etc. The idea is to still give a team the sense of control, rather than feeling that you're imposing a boss on them.
Rotating the boss would expose people to more advice. Like switching dance partners during a dance lesson the rate of learning would increase.
However, I think a boss is more like a person you go teach a dance workshop with that a person that participates in it. Maybe the intern can have a new mentor every week. But I see some obstacles doing this do experienced team members.
It is already hard to find people that are both an expert at the work and a great boss. Finding multiple bosses in a team seems hard.
Frequently your boss needs a long term view on your activities. Career planning, performance reviews, and performance improvement plans are multi-month affairs.
Coordinating with other bosses and team also happens via social capital. Having to deal with a new persons for all other teams every month might be hard.