When we were kids (in the early 1990s), together we made websites: he did the difficult stuff, I did the graphics (Corel Photopaint back then). When I went to college and ran a philosophical magazine, I had my brother make me two websites, in “dynamic html”, then in Flash — it was the late 1990s, and those were cutting-edge, especially in the arts department. While in college, my brother got hooked on php, while the official curriculum taught Java and mocked at “website scripting“. Meanwhile, I picked up html and css, and kept reading: TUGBoat, Techcrunch, Wikipedia. I became quite knowledgeable about the newer stuff: Javascript MVCs, NoSQL — but, as with TeX, everything purely theoretical.
Two years ago we decided to work together again, with this new stack of Mongo/Meteor/Sass: he still on the back-end, I on the front, although the difference between the two is fading away, especially with Meteor. One learns a lot, mutually, in a common “full stack”…
Most of what we can, is from self-learning. I can imagine my brother’s formal training in CS sets a background for self-learning, but his insights in code organization and architecture is from hands-on experience. Without the help of my experienced bro, I’d have a very hard time while teaching myself to code. I keep being a scholar, read about Lisp, Turing completeness, try to figure out data structures, helping myself out with Wikipedia. I’m amazed how all that fascinating theoretical stuff seems to have been merely noteworthy in the CS classes my brother took. I studied art history and philosophy: formal logic was the nearest thing to algebra I had in years. I can safely say, I guess, for both of us, our education has very little to do with the software we write, love and live today.
Our father claims to have written software, while he did his PhD in biomechanics in the late 1970s. It’s hard for us to believe that: as an old-school mechanical engineer he’s got this habit of looking down a bit on making websites and apps. What really helped us to love computers and learn to program, I guess, is that when we were still in primary school, our father bought a PC, got an early internet connection, and let us play with those, freely and without any restriction.