Is Redhat the way to go? should I learn basic programming first? Are there other certain languages I should learn to go along with Linux certfication?
You would need to be more specific about what it is you think you want to be. I’m not sure what the a “Linux Professional” actually is. Linux is an operating system. It is the most popular Unix variant. Do you expect to administrating Linux systems? Doing development on Linux systems? What do you call Linux Certification? Who does it? Do they have a syllabus? How do they do the certification?
System admin is part generic components, as system admin extends to network admin as well in almost all cases. Then there are the OS specific parts. Even the most basic admin skills will require some knowledge of programming, even if only for the most trivial shell scripting tasks. And given the arcane nature of shell scripting languages, you would want to have some clue about programming before diving into shell programming.
If you have no programming skills, I’m not sure what exposure to operating system management you would have, and why you would want to go down this path.
Ok. This is fairly helpful - I figured the using the term “Linux professional” would indicate my lack of knowledge about this.
Anyway, the work I do involves hardware maintenance on a Linux based system. One of my coworkers is taking Linux classes and seems to be learning scripts without having any prior programming knowledge and he seems to believe that once he’s done this class there will be high paying job options available to him. He seems a little overly optomistic to me , but what do I know?
The plan I was thinking of for myself is to learn programming at a community college, then work on getting a Red hat certification and then get a help desk position - or maybe reverse the order of the last two things.
I’m not too particular about where I go from there, I just want to get away from blue collar work and various things have lead me to believe that IT is my best chance of doing that that based upon aptitude and personality. Also I’m over 40 so something such as accounting (which I studied for a couple years in my late 30’s) does not offer as much opportunity as IT.
The company I work for has internships etc. for people who do know Linux and basic programming - I would have to look at the last series of job postings they sent to tell you specifically what they were looking for. I would probably lean towards learning the things that are in demand at my current company if they were also skills that are more generally in demand in the wider job market.
Sell out?
Well I’ll make my personal suggestion. TO some extent being a successful person at the what you describe requires an element of geekyness. Which is hard to learn, geeks tend to be born not made.
Anyway, the most important point about messing with computer systems is that you learn by doing. Taking classes is OK (and I taught Unix system admin classes, and even wrote a one week course from scratch - it was a great little earner in its day) but in the end the best way you wil learn the basics is to grab yourself an old PC (it matters little how old, just so long as it works) install Linux on it, and mess about with it at home. Setting up a tiny home network of say three PCs, and working through all the elements of setting up a functioning local system would teach you a great deal. And nutting through the tasks yourself will teach you vastly more than any classes will. It is the skills at doing this working thorugh stuff that matters. If you want to admin systems or help others who have problems with theirs, you need to learn the problems solving skills that come with system admin. Rote learnt setup of a machine is only a very basic start.
If you do something like this you may discover what it is you have an aptitude for and what you enjoy in the tasks. Help desk is more about people skills and being able to work out what the heck someone is trying to describe as a problem when they have no clue what it is that is wrong. Then comes detective work and experience in solving a problem by remote control.
Working on a Help Desk doesn’t normally require programming skills and Help Desks are not necessarily tied to Linux. For example, the Help Desk at my company (and probably most companies) is there to solve Windows problems, e.g., Outlook doesn’t work, I can’t login to my PC, installing new software, etc.
On the other hand, the Help Desk at a web hosting company would deal heavily with Linux because most websites run on Linux.
Although tinkering with Linux is enjoyable, I would suggest getting a clearer idea of what job and skills you are aiming for before investing a lot of time. In other words, study the job listings and see which skills are required for the positions that look interesting.
[quote=“Francis_Vaughan, post:5, topic:794086”]
Well I’ll make my personal suggestion. TO some extent being a successful person at the what you describe requires an element of geekyness. Which is hard to learn, geeks tend to be born not made.
Anyway, the most important point about messing with computer systems is that you learn by doing. Taking classes is OK (and I taught Unix system admin classes, and even wrote a one week course from scratch - it was a great little earner in its day) but in the end the best way you wil learn the basics is to grab yourself an old PC (it matters little how old, just so long as it works) install Linux on it, and mess about with it at home. Setting up a tiny home network of say three PCs, and working through all the elements of setting up a functioning local system would teach you a great deal. And nutting through the tasks yourself will teach you vastly more than any classes will. It is the skills at doing this working thorugh stuff that matters. If you want to admin systems or help others who have problems with theirs, you need to learn the problems solving skills that come with system admin. Rote learnt setup of a machine is only a very basic start.
If you do something like this you may discover what it is you have an aptitude for and what you enjoy in the tasks. Help desk is more about people skills and being able to work out what the heck someone is trying to describe as a problem when they have no clue what it is that is wrong. Then comes detective work and experience in solving a problem by remote control.
[/QUOTE]Wow, thank you very much. I want to learn how to use Linux in depth - not just superficially like my coworker seems to be doing.
I want to change careers around 45ish - so I maybe have 3-5 years to build up proficiency.
While you /look around for jobs/, and /talk to people/, you can setup your home network, moniter network traffic, setup a vpn, setup a VOIP system, connect to the VOIP and VPN systems from your phone, setup a database system, try to break into your home network, try to get the passwords from your home network, and tear it down and set it up again automatically using Puppet.
“Using scripting” used to be pretty much what “unix in depth” meant, and it’s still a basic skill, but something like Puppet may be more valuable.
Yup. Agree with the above. Get skills up in the areas of Devops (Puppet , Docker, etc) cloudy stuff - which issues a lot of this as well, and absolutely get your security chops up.
Sell-outs are for Windows.
I learn best by doing and I installed Ubuntu on my home computer and went t it cold turkey. (No dual boots for me) I then spent a lot of time on linux boards on tutorials and on forums learning how everything works.
Start here. linux.org tutorials
These days with it all being free and not requiring anything special or high-end to run it, anyone can have access to it to learn it.
Aw, no big money for the Big Iron?
As the saying goes, if you use Red Hat, you’ll learn Red Hat. If you use Ubuntu, you’ll learn Ubuntu. If you use Slackware, you’ll learn Linux. But even that’s not true, as Slack uses system v init scripts while many others have switched to systemd. Many distros are veering away from their UNIX roots and you’ll never be proficient in Linux using some of them, but you may also have a hard time with them if you’re used to a more pure Linux.
Get a clean hard drive and install about 5 different distros on it and use them all for a few months, then install some others. Install BSD, build gentoo from source, run some pentesting distros from a USB stick, tinker around with high security systems like Tails and Subgraph, set up a server using a minimal Debian install on an old headless PC. Do it all.
The standalone skills you would need to be a Linux admin are:
Vi - The common editor used in Linux environments. Yes, there are 1000’s of other editors you can use, but you can’t install your preferred editor on every Linux system you manage. Learn to use vi because it’s everywhere and almost always installed by default. It’s a very old editor and cryptic if you’re used to graphical editors, but it’s very powerful once you learn the basics.
Bash - The common shell used in Linux environments. Many startup scripts are written in bash and you’ll need to be able to write and understand bash scripts.
Python - Less used than the above items, but used enough that you’re likely to have to touch python every now and then as a Linux admin. But python is used to program many things, so if you know python well, you can do more app development.
A class will just teach you the basics of how Linux works and how to setup the typical things. I would expect them to cover the above 3 topics and more.
Most problems you face will be unusual in some way and you won’t immediately know how to fix them. You’ll need to understand the problem enough to research the solution (e.g. google) and then understand enough to sift through all the results to see which solution might work for you.
Enjoying solving problems is a big plus to being a Linux admin. How do you currently solve problems in your personal computer? Do you hand it off to someone else or do you try to figure it out yourself. If you’re the type to try to fix it yourself, then being a Linux admin won’t be so different.
Mostly I’m able to use logic to solve or at least isolate an existing problem. Where I work, what seems to come fairly natural and intuitive to me others seem to have a little more difficulty with - and that’s several different coworkers in a couple different departments I’ve worked in telling me this, not just me evaluating my own abilities in a biased manor. When working on various things with other people I get a feeling that they just think there is some ghost in the machine or something when things behave unexpectedly. But there are other things that come much more easily for some of my coworkers than me especially given I’m on the socially awkward side.
The really good thing is that I can get my hands wet with this stuff without a huge expense so if I don’t have the required aptitude I won’t be out much money.
Being socially awkward is actually a requirement to being a Linux admin. You’ll fit right in.
I would think in your environment there are plenty of opportunities to do more of the configuration. After you fix the hardware, who does the configuration to pick up the new card or whatever? I would think you could easily get more involved in that process. Often, it will be a fairly usual set of instructions to reconfigure what is needed. So after swapping a network card, run these commands. After swapping a disk, run these commands.
Much of Linux (and programming) is learned on the job and involves creatively solving problems you’ve never seen before. It’s like how going to architect school doesn’t mean you’ll only be designing the buildings you learned in school. School was just to teach you how to use the tools, but in the real world you’ll need to figure out which tool to use and how to solve unique problems. And you’ll have to learn how to use new tools all on your own. The technology changes so often that your school learning is often obsolete after a few years. As Linux versions move up, the way certain tasks are done will change. So you always have to learn new ways do to different tasks.
Back when I started out decades ago, the company would send us to class if a project needed a language that we didn’t already know. That is no longer done. Now they tell you, “You’re working on a project which does X, and uses languages A, B, and C. It ships in 6 months.” They don’t care that you don’t know X, A, B, or C. You’re expected to use Professor Google to teach you how to do it. So don’t let your lack of knowledge hold you back. Even if you go to school, you’ll still be expected to figure a lot out on your own.
There’s a eunuch/unix joke in there somewhere…
I’m an Oracle DBA who has databases on Solaris Unix and we are converting to RHEL (Red Hat Enterprise Linux). I have root privileges only because I know enough to NOT be dangerous and usually defer to our System Administrator. So far the transition from Unix to RHEL has been pretty painless and often really nice. The locate command is much, much nicer than find in unix and faster too.
Back to the OP: there’s other opportunities with Red Hat than just being a SA. Being a DBA is another option where having unix/linux knowledge helps getting jobs.