> This model assumes people can slice their time and attention like a computer, but people can’t do this.

I disagree. Perhaps the most famous exception is Grace Hopper, a naval reservist who had both a civilian employer and a separated military career. https://en.wikipedia.org/wiki/Grace_Hopper

I too am an officer reservist, though Army not Navy. Two separate careers with often unrelated skills in unrelated industries. Yes, there are challenges to division of effort in this regard. To say humans are incapable of doing this, though, is ignorance from people who have never tried it or magnificently fail at it.

Another example I worked with personally: MG Scottie Carpenter. He is also an Army Reservists with two separated careers. When I worked with him in his first general command he was a senior leader of the North Carolina State Troopers (state police). He is now the deputy commanding general of the Army Reserves. http://www.usar.army.mil/Leadership/Article-View/Article/126...

Yes, competent and career minded individuals can achieve dual affiliation serving two masters. It is completely possible and some people excel very well at it.

---

What people don't see about dual affiliation is that there is extra insight gained from these struggles that other people cannot relate to. I have tried to explain this to people many times before and it is often utterly incomprehensible.

My civilian employment is a senior JavaScript developer at a big bank. The military considers itself a profession, and like other professions there is mandated education and certification to do anything. Other civilian careers, nearly everything I can think of, has this but software does not. As a result there are somewhat fewer incompetent people that get promoted to higher responsibility compared to the corporate world. Trying to explain this kind of incompetence to software developers is like shooting yourself in the face.

In the civilian corporate world software development is a big common thing. In the military it is nearly nonexistent. The primary reason for this is workplace culture and the near absence of a professional nature around software in the civilian world that the military can model internally. By professional nature I mean there is no widely accepted definition of skills (even in an ad hoc defacto way), licensing, or code of conduct that defines the profession. Trying to explain how the military is behind the times and could save hundreds of millions of dollars a year by aggressively building an internal professional culture of its own around software development is equally frustrating.

Another example is that people in the civilian world are sometimes easily offended. This is incredibly frustrating when every conversation is a midnight tip toe on egg shells. This accepted degree of sympathy and sensitivity are what, in my opinion, allow the Dunning-Kruger effect to occur (sometimes rampantly). https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect

Conversely, in the military you want to be just kind enough to avoid crushing someone's soul and destroying their self-esteem, unless they have honestly earned a good soul destroying moment. Kindness has a far lower value than honesty, which is a wildly different work culture. Jumping between these work cultures can be disorienting. Brutal honesty is a pretty simple thing to figure out, even if emotionally scaring, compared to guessing at people's self-serving emotional motives. So in the corporate world you really have to slowly test the waters before challenging peoples' opinions even if you have 20 years experience and they have none.

Perhaps the most similar quality between the military and the corporate software world are the various irrational things people do to assert job security. In the military it is hard to fire people, but it is easy to cancel a contract and swiftly eliminate a large swath of civilian contractors. This can result in some software products that are massively complex and hardware bound so that they need continued, exclusive, and highly specialized support from particular vendors. In the corporate world, on the other hand, it is very person for themselves resulting high doses of invented here. God forbid software developers ever expose their incompetence by writing original software, so instead write as little software as possible and simply glue third party products together as much as possible. This is why many developers in the web world spend their careers painfully specializing around framework/libary APIs instead of spending a few hours learning the standard APIs that everything compiles to. https://en.wikipedia.org/wiki/Invented_here