BVLog Bryan Voss’ mental synchronization point


Do not be afraid

I am occasionally asked how I learned so much about [insert technical subject here]. My answer is always: "I just started playing with it until I figured it out." The point I try to get across is that I learned it by doing it.

A coworker asked me to sit down with him and teach him some things about Linux. We can spend all day talking, but the only way to figure out the ideas and concepts behind the Linux shell is to live in it for a while. I told him that around 10 years ago, I determined that I needed to learn Linux since it looked like it was going to be an important platform and doggone it, I didn't have the money to keep buying commercial software. I threw out Windows entirely and used Linux for everything at home. I started a sysadmin job at a small manufacturing company and proceeded to migrate everything I could to Linux. I was probably overzealous in my attempts, but I learned a huge amount as part of the process. I spent countless hours reading man pages and howtos. I signed up on the local Linux users group email list and asked questions. Eventually, I got good enough that I didn't have to post many questions anymore. Then I got good enough that I was able to post responses and help other people with their Linux problems.

I never would have gotten where I am today without banging my head against seemingly insurmountable problems, breaking all kinds of systems and rebuilding them, doggedly sticking with Linux even though it would have been trivial to solve a problem with Windows. I have since learned to back down occasionally and recognize the particular situations where Linux is the right choice and to accept the situations where it's not the right choice. But I wouldn't trade my history for anything. It's what got me to where I am today.

Here's the point in all this: do not be afraid to play with a system. Build a test box if the system is mission critical. Just the experience of building the test system is useful. Break it and rebuild it.

Learn the history of whatever project or system you're experimenting with. Feel the mindset and methods of the developers. There's probably a reason they did it that way.

Once the system is in production, it will eventually break in some unexpected and odd way. Don't be afraid to open the hood and fix it, just document what you did (an internal blog makes a great worklog).

Welcome uncertainty, it's a learning opportunity in disguise. The only way to gain certainty is to act decisively. No route is perfect. Pick what looks like the best one and run with it. If it turns out to be the wrong route, at least you learned something along the way.

But above all, do not be afraid.

Comments (0) Trackbacks (0)

No comments yet.

Leave a comment

No trackbacks yet.