Sergey Tsvetkov

May 28, 2023

Hacker's Culture

When someone says "hacker" in front of a common audience people tend to imagine some bad ass Neo of Matrix style people breaking into government's IT systems to reveal some dirty secrets or put a large city into blackout just for fun. But the origin of this word and what it means in programming community is a bit different. The best source of information about it is, of course, Steven Levy's "Hackers: Heroes of the Computer Revolution" book. However, - to put it short for the sake of this discussion, - I'll just say that in programming world "hacker" is a person who knows the topic so deeply that it becomes admirable. Hacker is an ultimate expert, basically. But not only that. Just being awesome at something is not enough. You have to cook it right. So, this title comes also some specific cultural obligations. Hackers are free. Hackers are independent. Hackers respect nothing but ideas and skills required to bring this ideas to life. Hacker is not dreaming or talking. He is doing.

In the beginning that was mainly underground culture. You couldn't be a hacker in a large corporation. In many ways that was an escape from the world of black suits, ties, hierarchies and formal discussions. Working as a counterweight for a big tech this culture created open source as a field for an experiment. If you were not allowed to try something in too regulated and traditional environment at work you could always just draft it off and then publish it for others to play in the Internet. This went all the way down to creation of such huge projects as Linux kernel or Git, for example. Which than changed the world. 

Home come? Well, look, in the end of the day, as a money making entity when you see a bunch of geeks pulling off some project which could not be achieved for years with an army of your employees in suits and ties you tend to revise your values. Who cares if they don't give a fuck about ranks and that they respect only skill if it leads to results faster and cheaper than ever? Hire them. Let them be. Protect them from everyone thinking they can be controlled and managed. Then take your profit out of what happens. That turned out to be a great strategy. I mean, look at Microsoft transformation of the last few years to get a grasp on it!

I'm old enough to see this revolution from the beginning with my own eyes. 

When I started working with Linux that was very much strange move. Nothing worked out of the box there especially if you were a beginner. No IDE even close to what Visual Studio could provide. No lessons or courses on the topic. Try, fail, read and then repeat. Suffer all the way through the problem. But I kinda liked it. And I didn't have a lot of choice to be honest either. My computer was just too slow for Windows, especially when Vista era has begun. But it could perfectly handle Linux. Every time it was needed to do something practical I knew that I'll face technical obstacles on the way which made me faster and more risk tolerant. I knew that if something breaks down I'll just fix it. That's a very powerful mindset.

In the same moment, every little notepad in Linux environment could highlight your code while on Windows it was a separated feature of heavy and slow IDE-s. In other words, Linux was a natural habitat of my kind. I was home. I could speak the language. If you were native to it your skill grew up faster and your understanding went much deeper than it could be easily done in other platforms. I'm not saying you couldn't be a good programmer using Windows. Obviously, we have quite a lot of examples of the opposite. But it was just almost easy to become one on Linux due to it's complexity and instability.

For a long time it was just a weird toy. 

Suddenly it changed. I can't remember the exact moment. Probably it has something to do with a raise of Apple, creation of Android and VC funded revolution in Silicon Valley. Historians know better. Doesn't matter the reason, one day I woke up in a world where my useless skills of debugging and building open source code written by somebody else become very much valuable. Programming underground culture has become kind of a pop culture. People who were deeply integrated into this meritocratic system where code wins all arguments have become founders, CTO-s and CEO-s. What was creepy and unorganized side story grew up to be a foundation for a new generation of multi billion businesses. 

With time though, as it usually happens, things lost their original meaning. To make sure I'm not crying out loudly that world was once better place long time ago, as a typical old geezer would do, I'll go for a concrete example here. In 2001 the document known as "Manifesto for Agile Software Development" went public. Back than it was a statement which challenged the entire industry. 

Here is a text:

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools.
Working software over comprehensive documentation.
Customer collaboration over contract negotiation.
Responding to change over following a plan.

That is, while there is value in the items on the right, we value the items on the left more.

In the following years the same group of people developed tools which all of you know today: effective patterns of enterprise software development, refactoring, extreme programming, etc. 

Now, if you worked in a company which implements an "agile approach" nowadays then you most likely have seen something called "SCRUM" adopted there. Read this little manifesto above one more time. Can you, with all due respect to your managers, say that your processes reflected the values which are supposed to be in their foundation? And I'm ready to bet, for many of you, my dear friends, this is a first time when you even read the root cause document which describes the goal. Isn't it is fascinating? Yeah, that's what I'm talking about when I say that with time words lost their meaning. 

But why am I talking about it today? 

Well, because given the power to adjust things around, I'll finally try to do what I wanted to do for years. I'll try to incorporate back true hacking values for a group of people working to build a product for an actual living market - Urban Connect. Simply speaking, I'll do my best to embed those values into the DNA of our team. 

Let's make it clear. That's not an easy walk. Much-much easier said than done. Mainly because this culture requires a level of suffering and dedication which is quite unusual for the modern society. You can't fake it. You can't talk your way out of this challenge. You can't pretend. You can't half do it. This approach doesn't value your life-work balance. It ignores bad days or good days. Skill is what matters. Things you can do with your own hands are defining you in this world. Your value literally lives on the tips of your fingers. You have to embrace it and live it inside out. Yes, it is transformative experience. And it is as painful as it sounds. 

People won't like it. 

As well as I won't like to convince and trick them into it. And the funniest part here is that I don't need to do that to be successful. On the contrary, having this goal in mind puts me at much more risk than I have to take otherwise.

In the end I have no other goal than just making things work great while earning money in the process. Even if the approach is a bit unusual, I own no authority but this notion that I know what I'm doing. So, I invite you to challenge me if you are good enough to do that. And let the best idea win. Uncertainty, doubt and fights are a part of the game here. So, I have to be in a way very much sneaky, quick and smart bastard myself to pull this off 😅 

About Sergey Tsvetkov

Programmer. Open source. Remote first. Books. Running. Two kids. One love. Fuck off.

Working with Rails for many years. Using Go when it is needed. Sticking to PostgreSQL. Building mobile apps and services in the team of good people with skills.

Consider subscribing to my blog to to stay in touch! 😉  You can also find me here:

- Telegram: https://t.me/kgcodes
- Twitter: https://twitter.com/kimrgrey

See you!