Here are some more observations from my refresh course in programming 30 years after graduating in IT:
My engineering degree came in handy to understand the basic concepts of programming language, but that was actually just a start, it makes sure your not intimidated and give up at the first glance of code
What is useful though, is the years of experience of finding bugs in code (including my high school years), it requires a certain skill to put in the right checks and breakpoints
My design experience is super important, it is so easy to create ugly user interfaces with stupid menu structures
50% of the effort of learning how to code is understanding the tools that help you write code. Wow, these things have moved on since the 1990s, eliminating a first layer of potential bugs by at least getting typos and syntax errors out the moment you write the code
I might be approaching 50, but the majority of people doing what I do is in their late teens or early 20s, and many are in emerging markets all over the world, which makes it legitimate to ask basic beginner questions online and have them answered by experts who want to help bring up the next generation. Thank you!
Google and Stack Overflow bring a whole new dimension to learning. For each issue there are dozens of posts that address a similar issue you have, never exactly the same, and sometimes the answer is way down the bottom with very little votes as another contributor perfected the #1 answer years after it was posted.
Legacy technology and backward compatibility adds an incredible layer of complexity to development. Something that I should be able to use to my advantage as the writer of a version 1.0.
It is all very interesting, and I feel that my combined experience in design and technology will lead to somewhere useful.