Managing a Software Company
I've had a 14 year career in software, I've worked at startups with 9 people, 100 people, and 12,000 people.
No one has really figured out how to organize a software company. I don't have all the answers, but here's some thoughts that might help get us there.
⇢ The most valuable commodity to a software company is your coders' uninterrupted coding time.
⇢ In most cases, blocks of about 4 hours of deep work tend to be the limit until your brain becomes fried. There is variance to this, but this is the absolute minimum amount of time a coder should have uninterrupted every single day.
⇢ Some coders get into a flow state easier in the morning, some in the afternoon, and some in the evening. I think you should find a way to segregate these people by their cohort into functional squads. You can group PMs and EMs into these cohorts as well, because they will have non-meeting work to do during these times, too. IMO creating these cohorts as a coder's "fit" in your company is much more important than knowing a certain language, technology, whatever.
⇢ Use time zones to your advantage! A west-coast morning person can be in the east-coast afternoon cohort, its the same thing.
⇢ Now that your squads are separated into their respective cohorts, you could schedule meetings in the opposite 4 hour block of time thusly: - morning cohort -> meetings in afternoon - afternoon cohort -> meetings in morning - evening cohort -> meetings in afternoon (evening cohort sleeps in the morning lol)