“Computer Science is no more about computers than astronomy is about telescopes.” - E. W. Dijkstra
At my job we have an internal chat room called The Peace Room, meant to be a place of casual chatter and cat memes. We wrote a bot to display a Quote of the Day each morning, and that quote showed up recently. It seemed, in my opinion, to be at the heart of who a programmer is… a problem solver.
I don’t say “problem solver” like your elementary school teachers did when then they handed out assignments about colliding trains moving at above regulation speeds. When I say programmers are problem solvers, I mean people who take on impossible tasks and completely crush them. I mean people who are stuck on an island and build a radio out of coconuts. I mean people who are missing a part, so they build it. I mean people waiting for a slow elevator and discuss how they could make it more efficient during rush hour. I mean people who find solutions to problems you never knew existed.
Computer scientists solve problems, and they use computers to do it. Computers the best tool for the job, and we are so coupled with them that they became part of how we define ourselves. Which machines and operating systems do we prefer, which languages are our favorite, how many libraries we know.
We’re not all about writing code. It’s fun, but we’re always looking for ways to write code more efficiently, so that we can write less and more quickly, so that we can spend more time solving problems. It’s why we write libraries, and high level languages, and operating systems. If you find yourself doing the same task multiple times, write a program to do it for you. Repetition is a computer’s bread and butter.
You could work at a large corporation and spend your time implementing solutions because the system is too large and complex to do anything quickly. You could also be a student who works on many small, unrelated assignments which are thrown away as soon as you finish them. Programmers generally don’t spend their time creatively solving important problems. But we yearn for the problems. Coming up with new, crazy solutions to a difficult problem is what we live for. It’s who we are.
Hackathons are where even very shy introverts can go to socialize with like minded individuals. They thrust you into a group of people you’ve never met before with completely different backgrounds and have you share with them something very personal: your ideas. Your really big, wild, so-far-out-of-the-box-i-think-we-lost-it kind of ideas.
How about we build the impoverished third world a straw which disinfects water as you suck the water through it?
How about we completely circumvent the hazards of commercial flight by building a train which travels at airliner speeds, while in a long vacuum tube on the ground?
We could always build a tiny satellite so cheap that it would allow ordinary citizens access to a previously inconceivable level of engagement with our planet and the stars.
Hackathons are places where you can let your hair down, turn up the music, and try to put a dent in the universe. All ideas are welcome, but the celebrated ideas are the ones which can be demoed. I could give a presentation on this cool idea I had about a car that runs on happy thoughts, but unless I made some sort of prototype or proof of concept, no one really cares. This is why we put so much value in not just brainstorming, but programming and physical application. We want to solve problems, not just suggest solutions. The hacker rock stars in are those who come up with revolutionary ideas and deliver them.
We hack because we are driven to improve the world around us. We hack because working with other people towards a goal is a roller coaster of emotions and builds relationships. We hack because we like being in a community of people who would forego sleep for a weekend to work on their solution. It’s a place to show off something cool you’ve been working on without any judgement, and to learn from others who are excited to teach you and build something with you.
Hacking is putting yourself out there to take your best shot at doing something you love.