Tuesday, March 12, 2019

Can any self-taught programmers share how you learned programming?

That was a question asked on Quora. And this was my response:

"Got referred to a part-time Software Tester job in ’98 by a student I befriended in a French course — an elective — during my 3rd year in college as a Political Science major. The testing process was monotonous: you recorded what you did on the application being tested and then played that recording back using some products called Rational Recorder and Rose. How boring! So I tinkered around and found out that the test data was all captured as string values in a VBA script. Interesting.. this script thing! So I changed the string values, added my own, etc. and found that the scripts played back with the changed data. Oh wow! There was a product called Microsoft Access installed on my PC. I opened it — just like I had opened every other app that was installed on my PC — and wondered if I could capture the test data in this database thing and have the VBA script read data from that database instead. Few days later, I had VBA scripts that only had code in them. And it was much, much shorter and succinct code. But that code was using ADO — or was it Jet? — to now read test data values from an Access database. Yay! I enhanced the code so that it generated random test data values, even more test data values than what was originally captured, etc. The testing suddenly became much more dynamic. The whole team adapted my “technique”. I may have got a pat on the back. I don’t remember. At 21, I was too naive about receiving recognition, etc. I was only interested in girls, an used Oldsmobile Achieva that I had been eyeing and.. this coding thing!

I was mostly hanging out with the Indian community back then. And the H1-Bs were all on PowerBuilder and dissing a product called Visual Basic. Visual Basic? Hmm, sounds familiar. I looked around and, sure enough, there was a product called Visual Basic and it had a derivative called V..VB.. VBA! Which I had already worked with! Holy Cow! I remember thinking, “Those PowerBuilder guys have no idea what they are talking about.” Humph! Two months later, I had my MCP certification for passing the Microsoft Visual Basic Desktop Applications exam..back when Microsoft exams were simpler and to the point. By this time, I had made a very good friend who worked for State Street bank. His tools: Visual C++, Sybase, etc. His background: a Master’s in Aeronautics from IIT Chennai. Gulp! He had magazines called Microsoft Systems Journal lying around all over his place. Under the Hood by Matt Pietrek.. what’s that? Who’s that? Hooks? Multi-threading? Oh, how interesting. I wonder if I can make all that shit work with VB? My friend showed me his C++ code. Pointers, network sockets and shit. Look at that! But, oh man. And I had already dropped out of college. Could I ever get to his level?! I decided to find out for myself. I looked around on a budding website called Craigslist, interviewed for and got a VB6 programming job at a startup south of Boston. I was with that company for 10 years. Phew! Oh and..I am still great friends with my “C++ friend”. 20 years now. I was the photographer at his wedding!"