This article was originally published on .cult by Mynah Marie. .cult is a media platform for untold developer stories, where developers can read content around the softer side of development and watch documentaries about the tech they love. You can read this original piece here.
I remember when my parents bought our first home computer. It was somewhere in the 80s and I was about 6–7 years old. I remember looking at this mysterious “box” and thinking to myself, “how does it work? Are there little people living inside the box doing all the work for us?”
My first instinct was to open it and try to see these little beings at work. Curiosity was killing me and I just wanted to tear it apart but I was a good kid and I didn’t want to upset my parents.
It’s only well into my adult life that I started to learn programming. Growing up, I guess I showed some natural tendencies for the Arts and creativity because my parents chose to encourage that side of me instead of the curious side I had for science.
I was well into my adult life when I discovered programming, I remembered this feeling I had as a child: the fascination for how things work and this incredible urge to want to tear things apart in order to understand them better.
To me, that’s the essence of hacking and the motivation that inspired the birth of what we call the hacker culture.
In one of the presentations, some students were asked to talk about security issues related to SQL. They talked briefly about SQL injections and cross-site scripting but I felt this was all very theoretical for them. I always try to encourage students to understand the impact these vulnerabilities can have in the real world.
So I asked, “Did you try it?”
“Try what?”, they asked back.
“Did you try creating a small database you could break into? Did you find a practical code example vulnerable to an injection?”
And, well, they hadn’t.
Hacking and hackers today have a very bad reputation. As a result, hacker culture has become vastly misunderstood.
It’s true that security in cyberspace has never before been such an important concern. It’s true that the more society depends on technology, the faster the development cycle becomes, and the more the percentage of potential security issues increases.
It’s a dangerous world out there on the internet.
But throughout all this rapid evolution, it’s important to remember how it all started.
So, what exactly did “hacking” mean back in those days? What are the ideologies that drove the creation of what we know now as ‘hacker culture’?
Hacking meant you had an insatiable curiosity to understand how machines worked beyond the explanations that were given to you.
Hacking meant living in a world full of possibilities where the question “what if?” drove people to important discoveries and innovations.
Hacking meant having the desire to make the most out of the hardware you had at your disposition, even if (and some would say especially if) that hardware had very limited capabilities.
Hacking was about experimenting and most of all, hacking was FUN. Breaking stuff was a way to better understand the technologies surrounding us.
From Wikipedia, we can read:
The hacker culture is a subculture of individuals who enjoy the intellectual challenge of creatively overcoming limitations of software systems to achieve novel and clever outcomes.
Programmers at MIT talked about discoveries in terms of their hack value, a term that almost completely disappeared from today’s tech jargon.
So what does this mean for us as developers today?
Being a developer is not only about building, it’s also about understanding the limits of the applications we build. To do that, I think it’s important to question how the technologies we use work and not just take languages and frameworks for granted.
To me, understanding security in application development comes from the exact same attitude I described earlier. It’s that same desire to tear things apart to understand how they work; that same obsession, that what if, always driving us to answer questions no one else thinks to ask.
Everything we create is built on top of someone else’s work. Nowadays, companies are so absorbed by getting results quickly that, as developers, it’s easy to skip some of the fundamental steps necessary to understand what our code is really doing under-the-hood.
Hey, we’re all human! When our work environment is stressful and we have deadlines to meet, no one can blame us for trying to cut a few corners once in a while…
But a healthy hacker mindset can help us always give our absolute best by staying motivated and driven by our curiosity instead of feeling drained by frustration.
I love this quote from the TV show Mr. Robot:
A bug is never just a mistake. It represents something bigger. An error of thinking. That makes you who you are. — Elliot Anderson
So how can we develop a healthy hacker mindset?
The answer is simple: start breaking things! Hack something (legally, of course!). Anything. Build something small and then try to break it. Find bugs in your projects and instead of fixing them right away, ask yourself first: “What possibilities does this bug open? How can I exploit this?”
Before you know it, you’ll be amazed at how many new things you’ll learn and how much extra value you’ll be able to add to your team at work. And all that while having a great amount of fun! Because a hacker mindset does bring a bit of a mischievous feeling… and, well, it’s fun to feel like a rebel once in a while.