Sometimes you can be right about a thing but wrong about about the timing, so much that you're wrong anyways. I resisted learning Javascript+HTML+CSS because I felt it was an awful hack and that it was just a very, weird GUI toolkit-- and something better would come along, and lets just learn that. Well, That something better was probably Silverlight and we all know what happened to that.

I still have dreams about being able to point a cell phone at a physical object (television, fast food restaurant, car etc), and being presented with an AR GUI that controls that device. I suspect this is where things will head with Apple's AR headset. This is not a new idea really... in the mid to late 90s there were specialty AR headsets which could read QR codes and look up schematics and overlay them for you, But it was literally, a 486 that sat on your head.

Other things that blindsided me... The current advances in AI. I worked at an AI lab in the late 1990s. Our pride and joy was a demo that could, given a dataset of 500 images, differentiate between a few classes of images... really simple stuff like, flowers, animals, landscapes, machines. The images were like 48x48 and it took weeks of training on a Sun Ultra workstation.

And this was an interesting lesson for me. To quote a friend of mine who was/is an AI researcher--"These are the same algorithms we used 25 year ago. It's the computation that has changed." He had an idea to make a botany app which could tell what kind of plant what was based on a picture of the leaves-- this was 12 years ago at least. I told him it was impossible because I couldn't fathom how it could work. But he was right of course and now I believe there are such apps.

Back at that university in 2000, I had an array of Sun A1000's-- like 70 disks in total to make 1TB of storage. It cost the university 250k. Today, I have about 100TB of storage at my house personally, and it cost me... 5k maybe? Similarly, my cheap graphics card has more power than every computer on earth before at least the mid 90s.

This is to say, when the SCALE of things change, your capabilities change a lot. This is something that worries me about Google/Apple etc. They have access to oceans of compute power/storage. How could a small company ever compete with that? I would like to get back into AI as I always found it fascinating-- but how can I even learn when access to resources like that cost billions of dollars? I can't even get a decent video card or RAM for my computer at the moment.

We also seem to be at the end of this era of ever-increasing capabilities. We will need a big breakthrough to keep up the pace, or we will have to get much better at using resources.

--

I'm also very surprised by how little what I consider fundamentals of CS matter in the day-to-day. I probably had the last of the classical engineering educations-- full tour of calculus, physics, chemistry, partial tours of like EE, chip design, automata, relational algebra, to mention nothing of the humanities.

When I was a team lead at a large corp, the young folks would be impressed about how I would use an idea from another discipline to solve an engineering problem-- but I think the era of that kind of guy is over. I think what's important now is speed and loyalty. I watch in amusement as the JavaScript community discovers stuff that has been known to the wider world for decades.

Regarding loyalty-- I was raised with the Scientific mindset-- that our commitment was to the truth. A colleague of mine once worked for Sandia National Laboratories and he jokingly suggested that they falsify the results of an experiment-- and he was pulled aside and told something to the effect of, "We are scientists, we do not do that. Don't even joke about it."

I feel like that mindset is absent, even in science let alone business. The most important skill is loathing yourself while pretending that whatever bullshit, alternate version or reality your bosses boss is forcing on you is great.

This is something I could never adapt to. Working 60 hours weeks simply because of bad management. In my corporate gigs, it was always the same-- when a project went well it was because the manager did a good job. When a project went poorly-- it was because engineering fucked it up. I've worked on projects where 9 months out we warned management about XYZ. They ignored it, then blamed us when what we said was going to happen, happened. I think engineers are ill-equipped to defend themselves in these political environments.

In short, I never imagined most of my jov would be going to meetings and lobbying for common sense.