By trade and education, I’m a software engineer. I work as a software developer and designer for a government agency, and I went to university for a B.S. in computer science focusing on software engineering and static analysis. It’s always been an interest of mine, though it’s gotten more integrated and second-hand, and since landing my current job, a lot of my energy and time is rerouted to the overhead and paperwork of office engineering and politics (feh). Although I’m hazy on large swathes of computer science now, I still know a little more than the basics of how a computer works, how a program works, what’s needed to make programs into what they are, how programming languages work, and all that stuff.
It sounds all technological and fancy, I’m sure, but really? It may as well be magic.
Consider the computer you’re using to read this text. Chances are good that you didn’t put it together yourself, and even if you did, it’s even more likely you didn’t assemble the individual parts themselves. It’s a black box (perhaps literally) that doesn’t reveal much about how it works. Sure, it has some cables out of the back that you can use to transfer data or sound out, and there are some slots in the front for media to be inserted, read, written to, and removed, but all in all, the thing’s pretty opaque. And yet, it works, and it presents all this data to you immediately in a pleasing, easy-to-use format (depending on your OS, GUI if any, and whatnot).
In a way, it can kinda be compared to the Qabbalah, the emanationist view of God, reality, and us. There, an Idea comes down from the Nous (Kether) and gathers mass and qualities as it travels down through the sephiroth, eventually picking up form and meaning and being, eventually coming into manifestation through the four elements down here on Earth (Malkuth). Similarly, data and communication comes in through the vast and unlimited Internet through your computer’s external interfaces, get routed through the hardware several times to its proper destination in the application layer, picks up more meaningful information relevant to the application, and is eventually presented intelligibly on some display. It’s kinda nifty, and just as the Qabbalah can be studied and worked with to accomplish goals, so too can the computer.
Consider theory and praxis. There are ideal models of computers and algorithms of how things ought to work and abstractions (boy, are there ever abstractions), and then there are the concrete parts of the computer that need to be plotted out, produced, and assembled together to make a functioning whole, and then there are interfaces that allow the hardware to carry out the software’s instructions, and for the software to interface with other computers via hardware. Between computer scientists, software engineers, and computer engineers, it’s kinda like magical theorists and philosophers and the devout who study how things might be done on an ideal level, the ceremonial magicians and diviners who figure out how to bring Ideas to manifestation and send the manifest back up to the Nous, and the witches and craftsmen who actually carry out the work in the manifest realm through the manifest realm.