The first thing I ever learned how to do on computers was to type commands. My best friend’s computer was set up to only run windows if he typed “win” (that was common back then), so starting up the computer would result in a black MS-DOS 6 prompt. I remember him teaching me how to type in the commands to play Wolfenstein 3D on DOS. This could even be considered programming since all DOS commands can be scripted as batch commands. I later learned batch programming from an obscure VHS (not “Video Professor”), QBASIC from my friend’s uncle (a software engineer from IBM).
I mastered graphics in QBASIC graphics by reading Absolute Beginner’s Guide to QBasic by Greg Perry. Coding helped me understand why computers were designed in certain ways. Certain things are difficult or buggy because programmers take shortcuts or do not complete some part of the program. Unfortunately, this happens even in commercial software (software that costs money). However, “seeing the matrix” (seeing or even just imagining the source code) helps you work around the issues and potentially even fix programs. I have used my programming knowledge to help users do one or the other in Windows, Microsoft Office, and other programs. My friend went on to fix several bugs in World of Warcraft’s user interface (the UI is programmed in Lua, a scripting language, so the source code can be found in the program’s files), and send them to Blizzard. He is now very successful in the software development profession.
Even with such a head start, becoming a computer professional required literal blood, sweat, and tears. Often people who see software development as a shortcut to make money don’t understand that it is somewhat easy to learn but difficult to master (knowing how doesn’t mean knowing how to do it well–read about design patterns). However, coding is a way to be a part of the digital world that is being created and reinvented every day. You can contribute to Free Software (public-licensed software, as opposed to just open-source or just no-cost), which can be used by or replace popular programs and web services. Developing with a team, including as a contributor to Free Software, can also help you develop the team and programming skills that are part of mastering software development for a career.
“‘You’ve got to eat, sleep, drink, live, and breathe your work all day long, even on the weekends, and realize that you’re not going to be spending any time at the beach until you’re successful.'”
-John Scherer https://motherboard.vice.com/en_us/article/d7y5mq/video-professor