January 18, 2013

Weekend Project: Becoming a Linux Expert

Last I wrote up a basic guide to getting started with Linux for people who have no Linux experience. Then a few days later, the Linux Foundation hosted a live question-and-answer on Facebook (or "stump the chump", perhaps), and that made me realize I had only scratched the surface. It is a good introduction, but the Linux world extends far beyond a user-friendly general-purpose desktop system. Want to become a Linux expert? Your first decision is expert in what? Kernel development, application programming, multimedia production, productivity, enterprise apps, system and network administration, embedded, mainframe...what? There are hundreds of options.

GNU and Tux

A field that is rich in potential is helping businesses migrate away from Microsoft to Linux and FOSS. Some of the difficulties are figuring out what to do with archives of documents in closed, proprietary formats, mail, calendar, and contacts stores, finding good FOSS replacements for essential software, and ongoing training and support. Education is under-served, as are accessibility technologies.

Whatever field of interest you choose to explore, your most valuable skill is learning how to find information, and cultivating the ability to continually learn and expand your skillset. Linux does not stand still, and it favors the self-starter. The Linux and free/open source software world is full of smart, helpful people, but you have to show some initiative and willingness to dig in and do your homework. (Which is the most valuable life skill, IMO.) If you have an Internet connection you have the whole world at your fingertips. Here are some guidelines to help you get started.


Do employers value certifications, and do you learn anything useful from becoming certified? Yes and yes. The two Linux main certifications are the Linux Professional Institute (LPI) and Red Hat Certified Engineer (RHCE). The LPI is vendor-neutral. The RHCE is specific to Red Hat Enterprise Linux, and the RHCE exam is rigorous and hands-on.

Linux Training

What about formal training? That is a big subject because Linux is so big, so you need to get specific: system and network administration, documentation, security, audio production, video production, animation, drawing and illustration, photography, math and science, office productivity, Web application development and social media, embedded coding, Android apps, medical records and practice, and on and on...so it all depends on what you want to do. If you're college-bound a computer science degree is a solid foundation for your whole life. A lot of schools are offering multiple computer science degrees with emphasis in different specialties like programming, security, and network and systems administration. It may sound odd, but I consider a liberal arts degree to be more valuable, and some universities offer computer science degrees through their College of Letters and Science rather than their engineering schools. The difference is getting more classes in literature, history, and philosophy, in addition to computer science courses. Technology is just a means to an end, and a good grounding in the liberal arts helps with keeping your focus on goals and consequences, and avoid getting tech-toy tunnel vision.

Cirpack LINUX tux 2

The Linux Foundation offers all kinds of training courses, and has a lot of free training videos and other materials. Check your local community college, see if there is a Linux User Group (LUG) in your town, and if there isn't one think about starting one.

Online communities are rich resources, so invest some time in finding some for your particular interest. You might start with the forums and mailing lists for your favorite Linux distribution, or favorite application. For example, Krita and Inkscape are first-rate professional drawing and illustration programs, and have their own communities. Programming languages always have large active user communities. Another approach is from your chosen field of interest, such as Linux security, high-end networking, distributed computing. System and network administration covers a lot of ground, from simple standalone servers to datacenters full of clouds and virtual machines.

Product vendors often sell training, for example enterprise resource planning (ERP), business intelligence (BI), and accounting and financial products. Red Hat, SUSE, and Ubuntu all have various training courses.

Books and Magazine

There are still a lot of good commercial Linux publications, both books and magazines. Books are for deep dives into a specific area of interest. O'Reilly's Safari Books Online is a subscription service that gives you access to most of their catalog. Of course all tech publishers still offer dead-tree editions that you can browse in real live physical bookstores, and there are still some printed Linux magazines, like Linux Pro Magazine and Linux Format Magazine. The grandpappy of Linux magazines, Linux Journal Magazine, no longer has a print edition, but is digital-only.

But What About Free

There are abundant free-of-cost learning resources online: YouTube, IRC, forums, mailing lists, and thousands upon thousands of online tech publications and blogs published by enthusiasts and professionals. Don't forget to look for vendor blogs; sometimes these are just fluffy marketing junk, but more often you'll find a surprising amount of in-depth useful information. Developer blogs are often rich sources of product and coding howtos. Again, look for something specific to your interests. These Linux news/howtos and news aggregation sites are good starting points:

And of course you must hang out here at Linux.com. Again, the key to learning is to be willing to invest time and energy in study and practice. Linux is free, and there are trainloads of free learning resources, so the rest is up to you. When you need help be as specific as you can: summarize the steps you have taken, and then ask your question.

But What About Hardware

I am glad you asked, because the weak point of free software is hardware. Hardware is largely outside of our control, and so we're continually bumping into closed, proprietary hardware obstacles: smartphones,grizcat

 set-top boxes like Tivo and Roku, video cards, external storage devices, cameras, audio devices, and so on. Hardware, of course, is a more difficult challenge because of the expense and difficulty of manufacturing. There are two approaches: become an ace reverse-engineer, or design and manufacture your own. There are various ways to take the latter approach. You can do like independent Linux computer vendor ZaReason, and work with overseas manufacturers to produce devices to your own specifications. Arduino and Raspberry Pi are examples of tiny open platforms, though even they have to deal with closed components such as ARM chipsets. AMD just announced a modular open motherboard.

I'm afraid I can't offer much guidance on how to become an open hardware mogul, though becoming involved with existing open hardware projects might be a good start.

In fact, that's a good approach for anything you find interesting in Linux-land: Don't reinvent stuff. We don't need yet another Ubuntu re-spin, or desktop, or gratuitous user interface re-arrangement. (In fact, some actual sensible UI is sorely-needed.) Get involved with an existing project. You'll build useful relationships, learn how to function in a cat herd, and learn the mechanics of running a FOSS project. The most valuable skill you can ever learn is how to work effectively with your fellow humans.


Image Credits

Cirpack Linux, public domain, courtesy Wikimedia Commons

GNU and Tux, Free Art License, courtesy Wikimedia Commons

Stash the Cat, Carla Schroder