| Sort answer: have bills to pay. Degrees / training to keep current / technical certifications are expensive. More $$ for same amount of time helps pay down expenses quicker. 1) Software development is by definition research related. 2) IT services are non-research realted and have a defined/bounded focus/goal(s). #2 / bounded development much easier to allocate resources over time (unknowns & knows are defined/generally known up front). Similar topic would be why companies like to outsource things (cloud, human resources, software, #1 / unbounded development, much harder to allocate resources over time (many unknowns, and unknown "what don't know") Simplifying things, management likes #2. #2 keeps things within budget/minimizes resources which leaves little room for funding/resources for research/learning. #1, is similar to doing things for 1st time -- large amount of resources upfront and over time in order to possibily produce something. BUT, that something may not be useable/return resource investment until other known/unknown things happen. Examples: Original development of first IC. Laser. 8088 developed as IC for DataRace display (not as cpu computer). Xero Parc and the Alto. AT&T Unix (vs bsd/minux/linux). Dirty Operating System, Disk Operating Sytem, Gnu DOS. 1970's Polaroid employee developing the digital camera (pre-IC / cpu chips). Rise of Amazon, where amazon didn't return an investment for more than a decade. Nerf as a graduate project. Dell & Facebook as side projects. make/git as quick thing to help get research work done. Related topics: case studies/write-ups on why founders get tossed from founding company once company gets beyond start-up phase. Diy medical device story: https://www.medtechdive.com/news/tidepool-loop-clearance-diy... https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6610599/ |