summaryrefslogtreecommitdiff
path: root/content/blog/2024/gatekeeping-in-tech.md
blob: 935303d00f1f6067142a6112fd22e8767a23ad8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
+++
title = "Gatekeeping in tech"
author = ["Michał Sapka"]
date = 2024-09-25T17:33:00+02:00
categories = ["blog"]
draft = false
weight = 2001
image_dir = "blog/images"
image_max_width = 600
abstract = "Hidden complexity is the real gatekeer"
listening = "Tomasz Stanko Quintet - Dark Eyes"
listening_url = "https://ecmrecords.com/product/dark-eyes-tomasz-stanko-quintet/"
listening_img = "stanko-dark-eyes.webp"
+++

A few months ago I've read that promoting usage of basic tools, like Vim, is gatekeeping.
The reasoning behind this made sense - those tools are complex, require time and dedication, and therefore may lock people out.
But I can't stop thinking about this idea because I deeply disagree with it.

Vim is complex, sure.
Terminal is complex, of course.
I won't even go into Emacs, as it's complexity within complexity and should be considered a field of its own.
But is gatekeeping?
Are people like me just up our smug butts, thinking how almighty we are and how we hate the _pleb_?
Some of us, sure, as using aforementioned Vim is a badge of honour.
Yet, I don't think it's gatekeeping.

Firstly, why do we promote those "difficult" tools?
Because computers are complex machines.
It was true at any point of computing history.
Initially, all tools were complex, abstractions were unachievable due to technical limitations.
So yes, _starting_ was much more difficult than it is now.

But you learn.
Some may say: you pay the high cost of entry, but is it cost?
You've learned things.
With each problem you've fixed, you gained knowledge.
And this knowledge was transplantable!
Learned how the system hierarchy works?
Great, now you can use it everywhere!
Next time you encounter this problem, it will be much easier.

This allowed for _bedroom coders_, kids who were able to master the computer.
Not everyone was as smart as Carmack, but we were still able to operate the beige boxes.
The complexity was there, but it was for us to toy around with.

This has not changed one bit.
Computers became much more complex, but if you can use _basic_ tooling it means that the complexity is close, you can reach it.
Does it require time?
Sure.
Is it doable?
Sure!

Now, back to 2020s.
Vim is a thing of the past , you can write sentences of simple english and it may even work.
You don't need to use a terminal - everything has a web UI.
Perhaps you don't even need to learn anything, simply subscribe and have it ready for you within minutes.
Why try to run a bare-metal server, when you can get a ready machine using docker within minutes?
I think this is the idea behind "vim is gatekeeping".

But the complexity is **there**, like it always was.
The only difference is that it's hidden, unreachable.
You may be able to understand how ec2 works, but most likely you won't have time to it.
There are too many problems with the abstraction.

And even if there are none, someone is paying for making it "easy" to use.
It doesn't come from the goodness of the heart, there is expectation of "speed".
You can spin up a server with one little commit in terraform, so you will not spend time there.
You've learned how to use the abstraction (or an abstraction over abstraction), but it's not transplantable.
Your Datadog skills are useless unless someone will pay for Datadog.
You will never master anything, as it will be obsolete before that.
Remember when you could buy a book about Pascal and teach yourself some programming?
Just enough to have fun?
Good luck with this approach now - before even writing some code, you need to set up dozens of dependencies... or pretend they don't exist and dockerize it.

I often whine about money ruing computers, but computers were ruined by money.
Unix was envisioned as a communal system, where people would gather and toy around.
It was sold as a mean to make money, but it was not crated for that.

The current trend towards hiding complexity has only one winner - big tech.
It was never harder to _play_ with a computer than it now.
Everything is aimed at non-technical folks, simple.
It is near impossible for a teenager to get the bottom of the bag of complexity.
Big tech made sure to gate keep that.
Learning the basics is easy, _anyone can code_.
Digging deeper is near impossible.

Let's not forget that the same companies providing those "simple" tools are the ones which started because tinkering was so easy.
Hiding the inner workings of computers makes it difficult for anyone to remove from their trillion dollar piles.
You can work for them, not against them.

Guess that's why I found FreeBSD so great.
It's a complex system, but the complexity is known, documented and changing slowly.
I feel that I am able to get to understand it well by just using it[^fn:1].

[^fn:1]: People often say that FreeBSD is like Linux 20 years ago.
    Nothing works without a fight.
    I agree - FreeBSD is like Linux 20 years ago, when you were capable of understanding things.
    It's a system ready for a multi-million company fuelled by interns.
    What it is, is a perfect hobby home system, which just happens to beat Linux at being a server OS.