Kyle Rankin, Linux Journal:
It wasn’t very long ago that we lived in a society where it was a given that average people would do things themselves. There was a built-in assumption that you would perform basic repairs on household items, do general maintenance and repairs on your car, mow your lawn, cook your food and patch your clothes. The items around you reflected this assumption with visible and easy-to-access screws, spare buttons sewn on the bottom of shirts and user-replaceable parts.
Through the years though, culture has changed toward one more focused on convenience.
The typical thinking goes like this: if my hourly wage is higher than the hourly cost of a landscaping service, even though that landscaping service costs me money, it’s still cheaper than if I mowed my own lawn, because I could somehow be earning my hourly wage doing something else. This same calculation ends up justifying oil-change and landscaping services, microwave TV dinners and replacing items when they break instead of repairing them yourself. The result has been a switch to a service-oriented economy, with the advent of cheaper, more disposable items that hide their screws and vehicles that are all but hermetically sealed under the hood.
This same convenience culture has found its way into technology, with entrepreneurs in Silicon Valley wracking their brains to think of some new service they could invent to do some new task for you. Linux and the Open Source movement overall is one of the few places where you can still find this do-it-yourself ethos in place.
…there is something missing in most of these opportunity cost calculations—the less tangible benefit you get from increased knowledge and skills when you figure out how things work and how to repair them, and the satisfaction and pride you feel when you see the results of your own efforts. When you do things yourself, the mystique starts to fade away, and you realize that most of the things around you aren’t nearly as complex or magical or inaccessible as you once thought they were. The increased confidence you got when repairing your lamp might encourage you to figure out how to replace that faulty light switch in your house.
With the advent of cloud services, it’s incredibly easy to have someone else set up Linux and open-source services for you, and when they break, throw them away and start from scratch. However, this convenience comes with a cost of its own, and not just the hourly rate for your servers. These services and abstraction layers make things easier to use, but harder to understand. It adds a mystique to technology and makes it seem much more complex than it really is under the hood.
When I started out with Linux on the desktop, I essentially got an education in software development, networking and system administration as part of just making Linux work. Using Linux as a server platform immersed me in computer fundamentals even more. I learned more about Linux by breaking something and then fixing it myself than I ever would have in a certification class or by handing it off to tech support. I learned more about networking fundamentals by physically connecting two Linux servers and trying to get them to talk to each other than I ever would by clicking a few buttons in a cloud dashboard.
These days Linux has become a lot easier to use, but along with that ease, we’ve lost most of those built-in learning opportunities. How do new junior engineers learn how networking really works these days? How do they learn how to fix a broken Linux server? I want to encourage you to search for these learning opportunities. Learn what’s going on under the hood. Get a spare Raspberry Pi and set up your own web, DHCP, DNS and email servers from scratch.
Eventually that server will break, and if you don’t give up, with a bit of research and troubleshooting, you’ll be able to fix it all yourself.