Here’s my assumption: I’m a hacker if I have the guts to push all the random buttons that are physically in front of me. I’m not eyeing new casinos for some kind of heist…
In other words, I’m someone who never takes one aspect of programming too seriously because I consider that I could be doing a lot more with programming.
Let me explain what I mean with an example of how the most prominent software architecture framework that’s popular in the industry is architected. The most popular programming languages in the world are C++ and Java. You can use these languages to build any application that involves managing or configuring resources for users or applications. You can even learn these programming languages with the help of any simple Java Tutorial, or a C++ tutorial. In fact, these languages are essentially the heart of any modern software engineering project because they enable you to program everything you might need. For example, they’ll tell you how much memory you need, what interfaces are required, and so forth.
Based on my hypothesis, I have to be a programmer if I care about the amount of resources I can provide to other people or manage. I have to be a hacker if I can push the random buttons in front of me to realize that I can push more buttons to get more resources.
Think about the software architecture as the network of resources that make up your application. These resources include CPUs, disks, GPUs, disks, and so forth. These resources can be part of a single machine or made up of several machines. The software architecture should facilitate the way to manage these resources efficiently by defining what resources need to be managed by which network or the way to structure the resources to be managed.
Why do I like software architecture? Because I’ve realized that if you have the guts to push all the random buttons that are physically in front of you, you’ve got a ton of knowledge that’s worth sharing. There’s a lot of intelligence out there that isn’t being put to use because it’s not needed to help the world grow, move, and solve problems. So, be a hacker. Make sure you’re pushing random buttons to get information that’s worth sharing.
You’re also a hacker if you can interact with computers to solve problems.
If you can control a desktop, then you’re an interactive hacker who can interact with your computer to find solutions to difficult problems.
Your browser probably works the same way: it’s a computer that you interact with to solve problems. These interactions aren’t necessarily natural interaction. You’ll be pushing random buttons or clicking on links to get information that’s worth sharing.
Therefore, you have to be a hacker if you can interact with computers to get information that’s worth sharing.
These are some of the more common ways in which you can interact with computers:
Interacting with a computer means pushing random buttons to get information worth sharing.
Having my laptop set up as a platform and telling the OS what kind of input devices I’m using to get information that’s worth sharing.