Raising the Bar for Linux Trainers
Key #4: Keep Your Knowledge Current
I stepped away from Linux system administration and training for a while to pursue a different business and investment opportunity. When I came back, a few things had changed. Due to package management utilities like apt and yum, dependency hell was a thing of the past for the average user. All the previous courses I taught before my hiatus focused on rpm or dpkg, and I got quite good at showing students how to resolve dependencies. Now, my experience was outdated and not as useful.
This taught me a valuable lesson. Don't let the only time you touch Linux be when you're in the classroom. Don't wait until you're preparing to teach a course. Stay current. The single best way to stay current is to have real work to do. So look for some clients, large or small, that need system administration help. Build a sandbox out of an old PC or a VPS. Try to learn a new programming language on a Linux server. Do whatever it takes to keep your experience fresh.
The result is that you'll understand what students are going through in the real world. For instance, I discovered the change to resolve.conf management in Ubuntu 12.04 the hard way. (Sure, I could have read release notes, but who has time for that?) After editing the resolv.conf file several times with no success, I finally spent some time reading how to use the resolvconf utility. Now, instead of looking at students with a blank stare when they mention this change in the most recent LTS version of Ubuntu, I can speak intelligently about the topic.
Am I up to date on every distribution and every change? Obviously not, but I'm not in the dark either. According to students, training managers and several of my consulting clients, that is what makes a good trainer great. They stay active the field. Sure, you could spend all of your time in the classroom, make good money and keep students relatively happy. But, you'll feel more knowledgeable and be better able to accomplish the previous three keys if you spend time practicing your craft and staying current.
Never Forget Where You Started
Think back to the first time you sat down at a Linux or UNIX console. Mine was around 1996 in a summer class at a local college—IRIX on an SGI Onyx. I found the unfamiliar interface intimidating. I've now come to love the terminal.
If you felt any measure of trepidation your first time in a Linux or UNIX classroom, remember that when you step in the room to teach others. Be sympathetic. Make the environment relaxed. People don't learn well when they're fearful. Crack a few jokes (not too many, you're not a clown). Bring in some donuts mid-week. Tell one or (an absolute maximum of) two personal stories. Become a real person to the students. Let them see you as a new friend who sincerely wants them to be comfortable in the new operating environment. It helps tremendously if that's how you really feel.
Think back to the worst training experience you ever had in Linux or UNIX. Mine was in 2002 at my first job out of college—IBM Systems Group storage development labs. An engineer I worked with had me type long commands with multiple options, redirectors and pipes...with no explanation of what each fancy symbol did. I did my best to write each one down. I spent hours frustrated, not understanding why I was typing these long commands and experiencing unnecessary failure.
If you've ever asked the question, "What does that command do?" or "Why must that option come last?", and you didn't get a clear answer, remember that when your students ask you questions. Better yet, be clear enough in helping them understand concepts so they don't need to ask. If teaching a complicated topic, walk them through each step and help them understand what is being done and why. Don't move on until you're satisfied that a majority of the students understand. If the majority are still confused, you didn't explain the concepts well enough and you're not done.
Think back to the most tedious, irritating, monotonous task you ever did only to find out later that it could have been made much easier if you had been properly trained. Mine was working with another engineer who wrote down 60–100 worldwide port names (similar to a MAC address) for several external storage devices then typed each in manually when configuring LVM on HP-UX. He typed a command to get the code from the system, wrote each 16-digit hexadecimal code down on a piece of paper, and then typed back in manually as an argument to another command. If any mistake was made, the command took 1–2 minutes to alert the user to the error.
If you ever realized that the right training could have made you love scripting and learning new Linux utilities after it was too late, and you wasted eight hours of your life doing something the hard way, make that experience different for your students. Many of them already work hard. Help them work smart too.
Instead of manually typing in each 16-digit hexadecimal code for each of the
LVM configurations I mentioned earlier, a Marine taught me better. He was
former special forces and a disability caused him to return to a lab job.
His military training had taught him to work efficiently and not waste
effort. When he showed me the right way to accomplish the task with less
effort and less human error, I was amazed. It was the first time I saw
grep and a for loop used in a practical way. He made me love *NIX.
Instantly, I realized how to teach other people. Work on real problems.
Show real solutions. Teach concepts.
By engaging the students, teaching concepts and keeping our real-world knowledge fresh, we can be better professionals and better trainers. So if you've been thinking about becoming a trainer or you already have some training responsibilities at your job, follow the keys above. You'll provide quality experiences to those you train and save the next generation of Linux disciples the pain many of us have experienced.
Teacher image via Shutterstock.com.
Darren Douglas has been a Linux admin, advocate and trainer for ten years. He is Principal Consultant at Synse Solutions.
Practical Task Scheduling Deployment
One of the best things about the UNIX environment (aside from being stable and efficient) is the vast array of software tools available to help you do your job. Traditionally, a UNIX tool does only one thing, but does that one thing very well. For example, grep is very easy to use and can search vast amounts of data quickly. The find tool can find a particular file or files based on all kinds of criteria. It's pretty easy to string these tools together to build even more powerful tools, such as a tool that finds all of the .log files in the /home directory and searches each one for a particular entry. This erector-set mentality allows UNIX system administrators to seem to always have the right tool for the job.
Cron traditionally has been considered another such a tool for job scheduling, but is it enough? This webinar considers that very question. The first part builds on a previous Geek Guide, Beyond Cron, and briefly describes how to know when it might be time to consider upgrading your job scheduling infrastructure. The second part presents an actual planning and implementation framework.
Join Linux Journal's Mike Diehl and Pat Cameron of Help Systems.
Free to Linux Journal readers.View Now!
|The Firebird Project's Firebird Relational Database||Jul 29, 2016|
|Stunnel Security for Oracle||Jul 28, 2016|
|SUSE LLC's SUSE Manager||Jul 21, 2016|
|My +1 Sword of Productivity||Jul 20, 2016|
|Non-Linux FOSS: Caffeine!||Jul 19, 2016|
|Murat Yener and Onur Dundar's Expert Android Studio (Wrox)||Jul 18, 2016|
- Stunnel Security for Oracle
- The Firebird Project's Firebird Relational Database
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- SUSE LLC's SUSE Manager
- Managing Linux Using Puppet
- My +1 Sword of Productivity
- Non-Linux FOSS: Caffeine!
- SuperTuxKart 0.9.2 Released
- Google's SwiftShader Released
- Doing for User Space What We Did for Kernel Space
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide