And yet I've worked several places with some decidedly non-trivial code where we quite happily did do this. None of us were wasting half a day getting up to speed because of things like:
* More of us being familiar with more of the code - so less to get confused about
* Lots of small functional commits, so the changes tend to be small
* We were bright enough to go have a conversation with everybody if we see changes that are going to affect lots of people
* We had an excellent test suite that prevented regressions, and was a good tool for getting up to speed with changes that had been made
Quite frankly - the idea of planning a business around only two people really groking bits of the code base is a bit frightening to me.
* More of us being familiar with more of the code - so less to get confused about
* Lots of small functional commits, so the changes tend to be small
* We were bright enough to go have a conversation with everybody if we see changes that are going to affect lots of people
* We had an excellent test suite that prevented regressions, and was a good tool for getting up to speed with changes that had been made
Quite frankly - the idea of planning a business around only two people really groking bits of the code base is a bit frightening to me.