With over 55 years experience in OS, hardware, software, and firmware design and development I have already made the mistakes you have not even thought about. From TTY paper tape editors, assemblers and binary load tapes to Xcode and Swift 3 has been a long and pleasant journey.
An early “computer” exposure was my Linear Programming & Econometrics professor on loan from Rand Corporation to USAFA in 1962. He made me program a linear regression analysis on a specialized Marchand Electric computing machine so that I could watch it calculate and absorb the zen of least squares machinations as it whirled and slid back and forth in its mesmerizing pattern. Fortunately the rest of the projects were with punched card sources, snail mailed to the largest IBM 7094 “Stretch” ever made (a 128 tape drive per channel, 3 channel variant of the machine featured in “Hidden Figures” located at Rand HQ). I also programmed on hybrid analog/digital computers at USAFA as part of Aeronautics & Astronautic courses in ballistic missile and satellite technology. I also worked with Boeings Commercial Airplane Division (during those interesting C5A military loss times when work was converted to massive re-engineering for the 747 commercial success). Hwere the IBM 7080 – the first machine built specifically for “commercial processing” – was a sibling of the “scientific” 7094 and the first major COBOL programming platform. The glossy brochures for the approximately 100 machines delivered worldwide were heavy in their sales pitch to corporate management for the then novel concept that computers “could be used for business purposes too”.
The major Boeing program implemented on the 7080 was the master scheduling project that drove all the shops, engineering changes (spitting out 100’s of reel tapes that fed programs on the 7094’s), wiring harnesses, inentory, employee schedules, parts ordering, etc. a total production line critical path scheduler – likely the first ever attempted.
It typically ran 24 hours a day (for a minimum of 10-16 days – sometimes 21 or more) as operator-programmers, engineering-programmers, and tape library staff (up to 200 tapes in / out on each of 24 tape drives on 3 channels) were present 24/7 to debug the extraordinarily complex program which crashed like clockwork multiple times over several days every time it was run. It sometimes required restoring all 24 drives to a library archive of tapes to restart from a checkpoint several hours or even days old depending on the nature of the bug.
I have worked with several startups and also an NGO (Oregon Research Institute) involving myself in multiple computer architectures, custom network hardware, multi-processor OS drivers, assembly level and high level languages, product and automated test designs. I was involved with research on developing ARPAnet services for the then unconnected research institutes. ARPAnet was a DARPA funded test bed for contemporary packet switching networks like ethernet and internet. Hard to believe that when I attended the first international networking conference in the early 70’s it drew only 200 people worldwide. Many years later I sold my own network startup to NYNEX (a Baby Bell with a division that lost sales to our cross platform products) which is now incorporated into Verizon.
In my quasi-retired state I do only limited consulting and lots of design tinkering these days but technology still excites me and I know I might save the right projects a lot of grief in the product design and development cycle if it happens to be a good fit with my skill set and interests.
Have a great day.