Ask Slashdot: How Did You Become a Linux Professional?
First time accepted submitter ternarybit writes "By 'Linux professional,' I mean anyone in a paid IT position who uses or administers Linux systems on a daily basis. Over the past five years, I've developed an affection for Linux, and use it every day as a freelance IT consultant. I've built a breadth of somewhat intermediate skills, using several distros for everything from everyday desktop use, to building servers from scratch, to performing data recovery. I'm interested in taking my skills to the next level — and making a career out of it — but I'm not sure how best to appeal to prospective employers, or even what to specialize in (I refuse to believe the only option is 'sysadmin,' though I'm certainly not opposed to that). Specifically, I'm interested in what practical steps I can take to build meaningful skills that an employer can verify, and will find valuable. So, what do you do, and how did you get there? How did you conquer the catch-22 of needing experience to get the position that gives you the experience to get the position? Did you get certified, devour books and manpages, apprentice under an expert, some combination of the above, or something else entirely?"
I ate a penguin!
Practice, practice, practice... learn by failure, otherwise you are just a common user
I am using Linux to build my own products, I suppose this means I am a 'Linux professional' just as much as a professional in all the other things that I am using in my products. My normal systems are built with either Fedora or Ubuntu at this point, with OpenBSD used as firewall, PostgreSQL, Java, Tomcat Apache, Apache server. Everything else is just various Java stuff.
How do you become a 'professional'? You use it in a way that allows you to sell your product or service, that's what a 'professional' really means as opposed to an amateur. Amateur doesn't mean that the person has less skills, it just means he is not using it in his work.
You can't handle the truth.
I spent much of my childhood reading instead of playing video games. I received my first programming contract when I was 16, did some telco programming after that, lazed around for a year then went to work as a system administrator. I'm still a sysadmin, in a devop role, where I earn 45USD an hour. I'm probably going to grow further than this, as I've been doing it for 7 years. I believe my next goal will be to reach 55USD an hour.
Far as education is concerned, I've no college degree, no certs, the fact is I dropped out of high school since it was keeping me back.
Being a "Linux Professional" in most fields of IT is like being a "Knife Professional" working in a kitchen.
It's a useful set of skills, and it gives you the ability to use a suite of tools that are very useful - and essential for some career paths - in that field.
But it's not how you should define your career, or even your desired job. (That you're thinking of it that way might be why you keep seeing sysadmin in a Linux environment as the only obvious role.)
You just need to appear to know what you are doing and find someone to pay you to do it. I know too many professionals in my field who don't know crap but get paid more than I do.
Linux Professional? There's nobody here by that title. Most people who know Linux also have some other job to do because there's few jobs for people who want to maintain Linux all day without at least worrying about an app or hardware too.
I'm LostCluster but I lost my password to that user. Hey Slashdot, how about helping me get it back!
How Did You Become a Linux Professional?
By installing the first one in a non-linux shop when I was asked to install some service, once it was in used I mentioned it in some meeting with some big dog. No one had the balls to acknowledge they didn't know.
The world of *nix neither begins nor ends with Linux. Stop being such an illiterate lamer. Maybe your question should be, "How did you become a *NIX professional?".
It starts with my first account at the university for a computer lab running AIX V3.2 and HP UX 7.1.
It continues with me taking a C programming course, then diving deeply into MUD programming.
It goes along with Linux 0.99.4, which a collegue of mine showed to me running an MWM like window manager.
It sees me helping acquaintances compiling kernels for Slackware based distributions on their respective boxes.
It has to do with my second position as a firewall administrator of firewalls running on Solaris and later FreeBSD based machines.
It gets me to owning my own Solaris box along with a Linux box running several Linux distributions installed on top of each other.
It accompagnies me to a short stint as a system administrator at a research institute for distributed computing.
And now it sees me administer phone switches based on Linux and applications plugging into the phone switches and running on Linux too.
Put those Linux skills on your resume and start searching for a position that uses those skills.
At the end of the day, employers care about whether or not you can do the work and how good of a cultural fit you are. Skills are skills, whether or not you acquire them personally or professionally.
As far as positions go: you either build the systems or operate them. If it's the first, you're a developer. If it's the latter, you're a sysadmin.
For me, a background C++ development on Windows along with doing sysadmin-type work outside the main project, was sufficient to get C++ on Linux development work at IBM.
If you can get yourself consulting work or work with a smaller company where you are their main "technical guy", you can often just specify what you're going to do--as my first "resume-able" work with Linux was. Getting approval for doing a client's entire internet presence (mail server, web server, firewall, NAT router) for "free" (outside of a cheap x86 box and my time, of course) was approved without difficulty.
~ Whence do you come, slayer of men, or where are you going, conqueror of space?
Bioinformatics has been very happily open source and Linux friendly for my entire career to date (14 years). Only the last two and a half of those 14 years have been whithin acedamia, but open source is an especially easy sell here.
First entomology, then virology, and finally bioinformatics systems. Bugs follow me wherever I go.
Install a technical distribution that does not take your hand.
Slackware or Arch Linux comes to mind. Set up anything you can imagine, and play with it.
Learn its ins and outs.
Read many books on Linux, there are many available for free online.
Of the top of my head?
* SlackBook! http://www.slackbook.org/
and maybe also the Debian book, but it contains a lot of "Debian-isms" which are not
as useful as a general Linux-learning book.
* Debian Books! http://www.debian.org/doc/books
I have made money building networks for corporations, network firewalls and network routers
and also network fileservers, both scp, ftp and samba.
From there I have made money running lamp stacks and implementing web applications for companies.
These are not "freelancer jobs" that I have gotten from job postings, but jobs that I have gotten through
word of mouth. Getting a foot inside the door of a corporation so to speak.
Finally I have made money just using my brute force tactics from my Slackware days on Windows servers ;)
Also, learn to love free as in libre.
Easiest way is to get into the hosting industry for somewhat low pay (~$40k in the Chicago area). You get experience and exposure to other technologies and you can always get certs in the meantime. You may have to start off doing Level 1 Tech Support over the phone or DC stuff, rebooting and making cat5 cables to start, but this is a very common gateway to the IT industry.
Fuck Ajit Pai
Go find a small company (Make sure they can actually pay you). Small companies are far more willing to let someone 'learn on the job'. I'm a linux sysadmin and either through being hired for the position, or being in a helpdesk position and having the server guy leave, I've managed to build up a good bit of resume experience. But before all that, I had linux (and computers in general) as my hobby. I played with them a lot. Ran into issues and learned how to fix them. Imagined cool projects and figured out how to make them happen.
Specifically for a company, they'll find most useful backups, samba, apache, mysql, php/ruby/whatever. That will take care of their website, their local fileshares, and their backups. That's a HUGE portion of what needs to be done. Get good at those couple things, be able to answer some questions or relate experiences about them. And you'll look like the smartest linux guy on the planet.
In summary, use linux, find a small company that sees you as a person and not a number, and relay to them how the linux skills you have will help them. Welcome to being a sysadmin.
As for sysadmin vs othertitlehere, If the goal is linux, then a sysadmin/sysengineer is kinda what you'll be in my experience. If the goal is anything else, you'll be that and happen to use linux and possibly be an help/annoyance to the local sysadmin. (There are lots of people who aren't sysadmins, who think they know some linux, who think they know how to manage a server better than you. Maybe their idea is actually better/faster/cheaper, but the sysadmin has an infrastructure to manage and not one box. It's a different beast.)
The only version of Matlab that I access to at work was on an IBM RS/6000. I had absolutely no idea what X11 was but it seemed like the way to go. I had a 386/SX at the time with 4MB of memory and I knew that could not handle the data sets I wanted to use. I loaded slackware from floppy, compiled my kernel (1.2.13 or thereabouts) in 26 hours, and was up and running. Understanding the CLI and some system internals, plus eventually tinkering to the point that I wrote a simple device driver, gave me the knowledge and confidence to be able to handle more aggressive projects without windows.
With patience and much forethought. I spent many years working with windows systems but always made sure those around me knew I knew Linux. People in the know recommended me for a network ops job where everyone else ran Linux. (or OS X [BSD]) Before that, it was never part of my work life. From there a began maintaining Linux servers and eventually moved on to an *nix admin position.
I've been programming since I was 8. I started with BASIC on Apple IIs, then BASIC on Atari systems, then BASIC on a Timex Sinclair 1000, then assembly on a variety of platforms, then Pascal on Atari ST and then C...
So, I'd been programming a long time before I could even really think about the job market.
My first real job was something my HS career counselor pointed me at. It was a small business who'd had an HS kid handling all of their on-site computer needs. I ended up being hired by them at just barely above minimum wage. They got way more than they bargained for.
I ended up writing my own smal windowing system, my own b-tree indexer, and a variety of other things. I sped up some of the programs their accounting department ran by 20 times (and that only because it was still limited by the speed the printer could print at). I instituted a backup policy. I made their accounting programs produce output that Quattro Pro could read so they could use Quattro Pro to create reports. I added data entry verification (which was previously completely missing). All kinds of stuff.
Eventually, a very small consulting company who was looking for the cheapest possible people noticed me and hired me. Their idea was 'manufacturing software' like you would manufacture an automobile. It was kind of a silly idea, but it got me work that was very clearly programming.
I also ended up meeting programmers online on MUDs. And talking to them, I landed a consulting gig in OKC that I wouldn't have gotten. That got Oracle on my resume.
After that, things got a lot easier. When I got back from that gig, a business the previous consulting company had hired wanted me to work for them because they were impressed with me when I'd come on-site. And a different small start-up liked my resume....
I didn't really start being chiefly focused on Unix/Linux though until Amazon paid me to move to Seattle. And even now, one of the things people really value is that there is almost no widely used computing platform that I haven't touched and learned something about.
Need a Python, C++, Unix, Linux develop
Let's see. So you want to get a job that has something to do with free software...
Well, why don't you work on a project, put that in a portfolio, showing that you can handle your own ass, without management, gratis.
Search for some awesome jobs, like at Valve (yes, no not the server component for Counter-strike), Fedora or AMD. Click that "Apply for a job-interview button" and continue with development, next to a sysadmin job, untill you get notified about a job interview?
It's so damn difficult these day to figure out what you want to do with your own life these days. Maybe Slashdot will decide what to do with your life, for you?
Yes, I'm being a complete asshole. Yes you should mod this down under "painfull truth no-one can handle", section 1: "extremely offensive" or section 2:"It's someone else's fault, not mine", but section 3: "flamebait trolls" sound appropriate.
Here be signatures
I have inadvertently become a Linux HPC consultant as a side effect of my education in scientific computing. This is not a made up title -- I've done HPC consulting for a major Linux vendor for several years, working onsite and remotely on systems for Fortune 500 companies, major defense contractors, etc.
I've cleaned up a lot of messes made by inexpeirenced or careless Linux sysadmins. NB: I don't claim to be a fantastic sysadmin, I have so much still to learn, but repeat business says I'm at least better than most people on the market at what I do. The aforementioned messes indicate that, unfortunately, there are a LOT of bad Linux sysadmins out there, so 'better than most' is not such a heap of praise.
Here's what I think, in retrospect, is most important:
1) Dogfood. Do everything in Linux all the time on your own machines. This will force you to learn all kinds of stuff. I started in 1998, for example, running primarily Linux, with an 8-year foray into OSX-land.
2) Learn basic programming. You should be able to bang out a BASH or PERL script (or these days Python sometimes) to do what you need in a short period of time. BASH and PERL are especially useful for scripting sysadmin tasks. I'm sure others have their favorite languages, don't want to start a war here. I started with a partical CS degree in undergrad (C, C++, OO Design, basic operating systems stuff like memory paging, some basic Computer Engineering).
3) Find a mentor, watch more advanced Linux users. I've learned so much that way. Following NixCraft (cyberciti.biz) doesn't hurt, but it's not a substitute for the real thing.
4) Find another job where you can do Linux sysadmin as part of the job, and grow into it. A lot of smaller shops and University jobs would probably fit the bill here.
5) BE CAREFUL AND METHODICAL. Come up with a consistent way of doing things, and build caution into your habits. For instance, always double-check your userid and path before running anything destructive. If you do scripted for loops with BASH, run them with 'echo $COMMAND' the first time around rather than just '$COMMAND'.
6) Specialize. Linux sysadmins are not too hard to come by. Linux sysadmins that totally rock at $IMPORTANT_APPLICATION are in much higher demand. You still need to be a jack of all trades -- learn how to work Google carefully (i.e. using advanced search techniques, see searchlores.org) and how to read manpages -- but you will land a job because you know $IMPORTANT_APPLICATION really well, and nobody else applying for the job does.
Those are the most important things I can think of now. Will reply more later as an AC here if I think of something else.
Red Hat offers certifications:
http://www.redhat.com/training/certifications/
I got the LPI Linux certification, but only after I got a Linux job. I wouldn't recommend it, it was little more than a stupid cram of shell commands.
One certification which has a better reputation, though, is RHCE/RHCT.
The easiest way to get a Linux job is just to use it, develop in it, and then apply for a position in a company known to use it (which is almost everyone these days).
xkcd is not in the sudoers file. This incident will be reported.
Speaking as a very young 20-something *nix Systems Administrator:
Join a user group in your local community. If there isn't one, start one.
Follow the development of what you find interesting, I follow numerous operating system mailinglists, and lambda the ultimate on a daily basis.
As for what an employer can verify:
Results. Be able to point to a string of past positions that you did X, Y, and Z. Work it into future contract/position agreements so that you can talk ( at least a little ) about what you did.
I've spent 1/2 my 25+ year career as a "Unix" (you know what I mean) system administrator and the other 1/2 as a Unix system programmer, sometimes application programmer, all with a little (sigh) DOS/Windows thrown in. I've worked on just about every flavor of Unix running on PC class to Cray-2 hardware, usually several at any one time. For most of that time, there were no books on the topics, just man pages and the compiler. Linux is just another tool in my toolbox.
It seems almost universal that every prospective employer only sees the "other" half of my experience - We want a sysadmin, but you're a programmer. We want a programmer, but you're a sysadmin. I simply tell them I do both and I do both well. Resume and references speak for themselves.
I got my first jobs at my university doing LISP research and working in the CS office. First real job because employer liked my school experience (did more than just took classes). It was small company and I did both system programming/admin (on 8 different versions of Unix). Second job, I bumped into professor from school and got job as both Unix system admin/programmer at NASA Langley (super computing network) and another contractor as sysadmin (100+ Sun/SGI workstations); then The New York Times for a few years as Unix sysadmin; now defense contractor (can't say who) for 11 years, because of friend from very first job. Now I work on primarily Solaris, Linux and (sigh, still) Windows systems as a system/application programmer - in about 10 different programming languages - and sysadmin when needed.
All in all, you learn what you need to know and what interests you - sometimes the weirder the better. You never know where it will lead.
There is one definitive: I hate Windows, especially Windows 7 - or as I call it "Windows for Dummies".
It must have been something you assimilated. . . .
They know how to get paid more than you.
Do you even lift?
These aren't the 'roids you're looking for.
I started as a Solaris administrator. I converted from running Solaris with CDE as my main desktop to Debian with Fluxbox. At some point we needed a replacement for an old FTP server that had been running on IIS and I suggested a Linux based replacement on spare hardware. That was the toe in the door that led to a variety of servers running a variety of services on Linux.
Once we had Linux running in the environment I began to get Red Hat certifications. As I added each certification, Linux became even easier to sell as a solution since the company had a known skill set to run it.
I'm not a Linux professional, per se. I fell into the role of Virtual Machine server guy. Some of the VMs are Linux. For many things, Linux is a better tool than windows to deal with VMWare problems, system monitoring and so on. So I use Linux as part of my paid work, and I notice that part is increasing. I guess I have to say that I'm slowly sinking into it, sort of like quicksand, but not as messy, at least not until you get into the configuration files.
Please do not read this sig. Thank you.
took some computer classes, joined/founded a LUG or two, took any (temp) position or otherwise had anything computer related, worked as a grunt in a small ISP that would hire talented but inexperienced people for no money, took experience and played up every scrap of linux related work on resume even if it was only 10% of the job, made job titles sounds more admin-y (odd unix positions had odd titles so they became "unix operator" if I didn't have root and "junior unix admin" if I did), begged/badgered local sysadmin firm into giving me a job with "unix admin" as the title even though it was a bad commute away and at miserable pay, worked hard, hard-balled them into giving me raises, eventually quit over pay and location, rinse lather repeat.
the oddest thing about "unix administration" is that so many positions which are not strictly speaking administration (essentially unix based application support) can pay as well or better than the generalist position, but then you are using only a small subset of your skills and becoming an SME in a product which then, in turn, requires you to keep working with that product.
it helps when the market is expanding and absorbing people who can spell l-i-n-u-x and not when it's contracting and wants to keep only a pool of seniors and the barriers to entry are high.
i tried hard to avoid hybrid unix-windows positions but it might be a good foot in the door if you then play down the windows part (i've found that having 'windows' on my resume lead to me getting offers of windows positions for which i was not interested or qualified so it does not, nor will it, exist there).
that's "a way" - not sure if it's the best way.
"By 'Linux professional,' I mean anyone in a paid IT position who uses or administers Linux systems on a daily basis.
Being a "Linux Professional" (or as people tend to more often call me, "Linux Guru", damn them) is more about a broad and deep level of experience than it is about 'knowing linux'. For instance, you're going to know the inner workings of how many protocols work; you're going to know how to build your own Linux distro (more or less), and you're going to know how hardware behaves properly. There are many 'professionals' who don't know this, but if you're specializing you've got to know pretty much everything.
Think: RHCE or similar.
Over the past five years, I've developed an affection for Linux, and use it every day as a freelance IT consultant. I've built a breadth of somewhat intermediate skills, using several distros for everything from everyday desktop use, to building servers from scratch, to performing data recovery. I'm interested in taking my skills to the next level — and making a career out of it — but I'm not sure how best to appeal to prospective employers, or even what to specialize in
You'll become a generalist unless you become a "Postfix Administrator" or something like that. That's the most likely first step. You will pick up your specialty over the years, largely depending on which type of systems you're working on.
(I refuse to believe the only option is 'sysadmin,' though I'm certainly not opposed to that).
That's not the only option, but it's the main and first one you'll have to master. Being an architect or systems specialist (mail, dns, filesystems, whatever) is the next step up. It takes a while to get there, and usually requires either a specialized company dealing exclusively with something in that domain, a very large corporation, or contracting.
Specifically, I'm interested in what practical steps I can take to build meaningful skills that an employer can verify, and will find valuable.
This is sorta "LOL". You assume that your employer cares more than anything other than a stable work history and/or specifically applicable experience to what you will be doing on a day in and out basis. It is a rare IT manager who cares more about this, even. Being highly skilled and capable, in a field where your skillset is in demand, is entirely different than being employable doing said work.
So, what do you do, and how did you get there? How did you conquer the catch-22 of needing experience to get the position that gives you the experience to get the position?
You know the right people, or you luck out and get a job in the field right after school. Part of lucking out is knowing the right people.
Every single IT job I've gotten has either been due to the employer being desperate because they have someone vacating a crucial position or expansive growth they can't manage, or through a friend. I've also not gotten jobs through friends, after failing interviews (not enough experience in such-and-such technology or the snap-judgement IT Director not liking me, or any number of other things.)
Did you get certified, devour books and manpages, apprentice under an expert, some combination of the above, or something else entirely?"
Everyone is different in this regard. I personally got a 4 year degree and spent many, many long hours devouring man pages, chatting on technical IRC, experimenting/pushing my envelope, and reading in general. That's the easy part. The hardest part of all of it is breaking into a linux-oriented job, IMO. If you're not in the right market, you've got to get yourself to that market before any of your experience even matters. Knowing the right people is, IMO, key. Personally, it took approximately 5 years of constant trying, experimentation with what works, etc. to get my first 'linux' job - and that was p
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
like some clustering combo with virtual servers that you could scale to work with n+34523 users. maybe open source it. it helps if you can find real users for the service, like if it's a game or does something useful digging up some info from some source.
and suddenly you would have experience you could use to score a gig, then another...
world was created 5 seconds before this post as it is.
Jobs posted on Craigslist from these entities tend to want someone who can think and who can be taught, vs those who expect *every* admin to know Linux, Apache, *SQL, switches, storage, shell scripting and Jboss.
There are a lot of Linux startups that will be more than happy to teach you things like block level file systems and SAN administration, chef, puppet, cfengine, apache, Postgres, KVM, xen, iptables, nagios, cacti, bacula, clustering, perl, etc etc. when you get into that stuff, you're more than a "sysadmin". Eventually, you will be paid as one.
Also, I wouldnt worry about "multiple distros". They are all almost identica, or fit into 2 or 3 highly related categories. RHEL, Debian, Suse, and BSD.
The ore option would be a the position at a large company that is based on *nix, but doesn't need you to know the entire history of the world about it (VMware, IBM, Security firms, storage, software based networking, hosting, or *gasp* "cloud providers".
Good luck!
And since I'm a naturally curious person, over time, I automatically became good at it.
“Everything is a file” and everything being scriptable just is vastly more powerful, since it means it's an ACTUAL computer, where you automate your work away. (As opposed to being an appliance like the iPad is, and Windows, OS X, KDE, Gnome, XFCE, etc try extremely hard to be.)
Nothing more.
That's funny... because both are pretty bad for you.
I started with Linux use early 2000s, went through a couple years of labor and frustration installing, re-installing troubleshooting, etc. until it became my primary OS. One of the best things UI did was grab one of those fat Linux Bibles and read it cover to cover (the one I read was the Red Hat Linux 8 bible) - not all of it will stick, some will be not useful now, and largely it makes a great sleep aid, but it will give you a general picture of how things work in Linux.
From there start setting up a test system where you can try out the more serious stuff like setting up a web server, FTP, shell, ssh, etc. Maybe try out LTSP, etc. Once you get to the point where you can confidently do something useful (business wise) then see about migrating it to work. Show your boss you could do x with Linux, faster cheaper and without licenses, and that you can write out what to do if it crashes and your not there. Once you get the chance, make it work and also show it to your peers. Once things are rolling on Linux, you've become the Linux professional. Now you're there, you have to keep up on all that stuff - and there's always more to learn.
"Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
The first computer our family had was a 286 12MHz running DOS 3.3 and Windows 2.11. Then came some 486SX, which I upgraded to have a double speed CD-ROM. Here in Germany dial up and downloads were very expensive, so the CD-ROM became my means to get my first Linux distribution. It was a magazine cover CD-ROM containing a DOS-bootable archive with Linux (something around Linux 1.0ish, I forgot), running the UMSDOS file system, ca. 20 MBytes. That was 1994. I played around with it for some time, until I bought my first Slackware, then my first SuSE distribution. So far this was still a hobby. I started to get paid for this as a student in 12th grade, by administering a small ISDN dial up router/server, which also hosted a Hylafax server, a Squid proxy (serving ~10 people over 64kbit ISDN), and an Email-Server. I had not enough clue about TCP/IP at that time, and I had to learn a lot the hard way.
Then I started my studies (computer science) in 1999. By 2000 I had removed Windows from my machine completely, only installing it a bit later in VMWare, for using it once in a blue moon. I wrote all my papers under Linux, did all my programming homework on it etc etc. After I graduated, I became a grad-student and did my research and all the work at the institute also under Linux (now Debian). At home I switched to Ubuntu after a few years more with OpenSuSE. Then, I got to know OS X, and switched to that for my desktop at the lab / work, and having the Debian PC be the number cruncher. Shortly before leaving university, I bought a Mac for home as well, since keeping up my Linux box was too much work at that point. Now I work for a company that makes behavioral finance software, and again I work under Debian, feeling at ease. At home, I still use and love my Mac, using MacPorts for all the good Unixy stuff, and having an OpenWRT router for toying (sometimes) and soon, hopefully, also a Raspberry Pi.
So, this year marks my 18th anniversary using Linux, and I still like it. I know that whenever I have to do CS / coding / computer work, I will always want some kind of UNIX-like system. Be it Linux, OS X, BSD or some other OS with a bash. :)
[--- PGP key and more on http://www.root42.de ---]
About 15 years ago i just started installing it and using it for various tasks. In a smaller company this is a very easy thing to get away with, and I've spent most of my career in Small/Medium businesses. Many of which were in startup mode and saving money was an easy sale. What makes you a professional is when you've started to break things, or see things fall apart and you can fix it.
The hardest part about Linux (or at least was) is that you'd have to cash the checks you were writing, no blaming microsoft or Oracle when you put Linux on the line.
Any chance that you have to get an organization to invest in Linux is a sign that they are interested in investing in their own employees, namely you.
If they aren't interested in trying Linux/Open Source, it's probably trust issues with turnover or having been burnt by someone in the past that just didn't know what they were doing. If you do jump into that game, start with something small and low-key, maybe a simple PHP app or a file server. Ease into other services and build up your toolbox. You will panic the first time the disk fills up, or the server is unresponsive and you have to mount the disk in single user mode for a repair. Things happen, but lucky for you google is your friend.
The best way to become a professional in my experience is to jump in and Just do it ! :)
Best of luck.
tried Linux around 1999-00 after hanging out on IRC and hearing about it. played with Red Hat, Slackware, even Mandrake. Left it alone for a few years and came back. Now I'm strictly into Debian. I recently got certified RHCSA, LPIC-1 and Novell CLA. If anyone wants to give me a job let me know.
0x5921D69C
It's the 'foot in the door' - once your on this side of it, it's up to what you do with it.. Once your in, script your job to make life easier for you, while also doing everything 100% with out failure (assuming your scripts aren't full of bugs) - you will get promoted into another position - or simply ensure that you keep your job. If you don't get promoted, jump jobs - its basically ALL experience that gets you the higher end positions, nothing else, certs help with the bigger companies, smaller ones (where I prefer) want experience more than anything. Jumping jobs, ensures you get the varied experience. Multiple steady jobs as a sys admin, could land you the Sr Sys Admin in a smaller company.
Also, don't stop with just installing systems on new hardware, thats easy - try to get your hands on the 'old' stuff that barely works, and I'm talking Pentiums - nothing in the last decade. back when I was a teenager, my mom was given around a dozen plus systems for a project she was working on, she tasked me with seeing what worked and what could be done with them. I was able to get around 7 systems fully working, only some had no drives. Between them all, I got into networking (obviously), diskless nodes, DNS, various services, the kernel/modules/configurations, etc.., etc.. Because the amount of resources I had to work with was very limited, I had to really do my homework to get everything going AND usable. A few years later, my first 'good' job I scored because I knew what some strange boot codes from LILO were when simply no one else did, and I could get the critical systems going again (I was contract initially) - I only knew that info from the countless issues I ran into on that old hardware, and getting it all working.
When it comes to your employer verifying that you can walk the walk, and not just talk the talk - it's done one of two ways, and sometimes both - they will either verify from word of mouth (previous employer/references) or during your 30 day/3month 'probation' period.
You want to know how people started so I'll tell you. In the early 1980s I got a 300 baud modem. I began calling Bulletin Boards Systems. One of them was a board with a private section which I gained access to after chatting with the sysop. It had "codez" that I could make free phone calls with.
I got busy in the mid-1980s, but in 1989 I began calling BBS's again. I started calling boards with h/p sections, or totally h/p boards. One one of them I mentioned the dialup to a local university, and what I saw on the various menus I could get to. Someone responded to my post (this person later became the CTO of a company whose worth was in the billions). He gave me the hostname, and a username and password of a SunOS box at the university. I logged in. It was the first Unix I ever logged into.
Anyhow, fast forward to early 1996. I have hacked the account of someone who runs a local ISP, who I dislike. I am reading through his e-mail and various files. One thing I see is his Usenet spool of the local tech job postings. I start reading it, and see an ad for a company. The company is a new ISP which is about to expand from extremely small to slightly bigger. It sounds so small and poor I think I might have a shot. I log back into my legitimate systems, and send an e-mail to the ad placer and say I'm interested in a job. I say I know Unix well (true) and that I complete my college and have a computer science degree (not true). When I meet him, his wife's friend is there, and I happen to know his wife's friend, so that was luck for me as well. So I get hired. The main box is a Linux pre-1 which got upgraded to Linux 1.X on the first week of work. We also purchase a used Sparcstation IPX at a good price.
And it's gone on from there. The most I ever made as a Unix sysadmin was over $90k a year. Although adjusted for inflation, the highest I got in an adjusted for inflation sense is $110k.
Unix administration was really hot in the ISP and dot-com go-go days. Not so much any more. Of course there's jobs out there. People are trying to do more "in the cloud" nowadays so that lessens work to some extent. There really wasn't as much good turnkey web hosting and managed colo and the like in the mid-1990s as there is now, so a lot more people had to roll their own. Or shared virtual servers. I have been doing different stuff in IT lately, I have never even worked with some of the "newer" stuff like blade servers. Not that blade servers are that new any more.
Also be prepared to be chained to your cell phone 24/7 and getting calls at 3AM if there's an outage, even when you're not on the on-call rotation. And then have office gossips and nosybodies complaining you're not in the office at 10AM after you took that two hour call, which almost no one will know about. Or having to deal with old, out of warranty, broken servers that have trouble backing up and keeping their data, with no good recovery plan, which no one cares about until they go down - then the bosses will all crowd your desk every five minutes frantically asking you for a time estimate of when everything will be back to normal. Of course other IT jobs, like development, have a different kind of pressure. In some ways system administration is more preferable, as you can only keep servers up 24 hours a day - developers usually have a mountain of desired features piled on top of their workload.
So after the plastic mannequins posing as managers discovered that "Lye-nux" was in use by some enterprise that they read about in some shiny trade publication and was therefor "sexy", I was anointed "project leader" to build and configure a mail server and a separate file server.
I used retired machines (lots to choose from), (if I remember correctly) a Slackware 6 CD, and did what they wanted, when I was called into a meeting and asked how much I would need to buy the equipment and software I told them that it was done and ready to begin testing whenever they wanted.
This really pissed them off, (not to have to spend huge sums of money) they felt cheated somehow and after I had successfully demonstrated that the setups I created worked reliably management decided to scrap "Lye-nux" and spend $500,000 on high end Sun equipment instead!
I killed da wabbit -Elmer Fudd
Learn C language and find a project which uses Linux for embedded devices.
You'll not only be able to use Linux and enjoy all its userland features, but also you'll get a possibility to see how well organised codebase it has by writing device drivers for it. Also creating your own file system images can be a lot of fun too.
There are some trainings available from free electrons which provide nice introduction to embedded development for Linux once you know C (and basic command line tools).
Way more interesting than sysadmining.
Your most important asset is curiosity. Without that, you won't get very far. You also need a very diverse set of skills. That's pretty much how I got to where I am now, and I've been a Linux IT professional since 1998. Knowing your hardware, ability to build and deploy stable server systems with the right Linux distribution, and finally learning how Linux works and why. Just installing Ubuntu is not enough, you need to objectively pick the right tool for the right job. Some days its CentOS, other days its Ubuntu. Some days some animal entirely set apart from either. Jack of all trades, master of none. Running through a few builds of LFS will teach you far more than any distro will any day.
And if I have to be completely honest, being a search engine power user. Without being able to effectively use a search engine, and you'd be surprise how many people can't, you won't get very far at all.
-- 4 8 15 16 23 42
I started my career as a Windows NT and AIX admin, but my customers and clients decided to switch to x86 servers running Red Hat Linux to cut their software license costs.
My boss at the time asked me if I heard of Linux. I said that I did, so he declared me an "expert" to our clients and had me building servers with it a few days later.
Fortunately, Linux and AIX are somewhat similar so the learning curve wasn't all that steep.
that. However there's a large number of Windows trolls. People who are proud of never having used a console before. People who design a whole company infrastructure around Excel sheets and VBA. People who think they know everything about computers, yet struggle to do even the simplest tasks. They are similar to PHP trolls, which are people who think they know PHP, but neither know PHP to some useful level, nor anything else.
Again, as some people said, the typical route is to just get a unixoid system and work with it. You will usually outperform your peers easily, depending on your job. In some companies that will gain you some respect and bring you further. In good companies this will allow you to keep using your machine.
I wouldn't consider myself a Linux professional. I'm an engineer. And as an engineer I need tools that work and tools that work efficiently. Unixoid systems just happen to fulfill that role, and Linux just happens to be among the best unixoid systems out there at the current time. As long as Microsoft still doesn't understand Unix I doubt they will ever bring out anything that can be considered to be a useful tool. From what I have seen, Powershell is no more than a crude joke.
However keep in mind that companies are not there to solve problems or find solutions or to earn money. Their main purpose is to maintain their internal structure. If you don't believe this is true, _please_ show me an exception.
The funny thing is that all the IT guys who don't know Linux tend to smash it. All the IT guys who know Linux will sell it like no tomorrow. So I don't know how to get a job being a Linux admin but put it on your resume and the good IT guys will notice it and want to talk. The worst thing you can see on an IT resume is the absence of Linux, it just screams stay back.
Assuming you do not have experience working in an enterprise environment, do not be afraid to take a job at the bottom of the totem pole. Learn all you can from each position that you take, but do not get too comfortable if your ultimate goal is upward mobility.
If the money isn't what you'd hoped for, just think of it as an education expense. For every year you spend learning from others on the job, you are gaining a year of education as well as experience.
At 19 I started off working in the IT department at my university. From there I moved to an ISP doing tech support-with some Linux work on the side and then to another support role doing more SQL stuff than I wanted. By the time I felt I was ready for a job as a full time Linux administrator, I had 8 years experience in not only Linux, but also other IT areas (SQL, Windows, Networking, Storage, Management).
I would also suggest that you go on every interview you can. Interviewing is a valuable skill that really only comes with practice.
When I started it was as an operator at school. No UNIX/Linux in sight (about 1974). I actually helped unload the largest computer the school had from the delivery truck (a whole room full of processors+memory+I/O controllers and disks - 80MB per disk, 8 disks. a whopping 128k of 36bit word memory)
First job out of school was what is now called embedded applications developer just because I happened to be able to program the PDP-8/11 in assembler. From Operator/Developer I became the system administrator of the company data processing center. All that meant was that I got called when the system wouldn't boot, or wouldn't do what they thought it should. It also meant I babysat any vendor maintenance personnel. Oh and I got to design/implement the backup strategy. This job also taught me the value of written documentation (got mentored while writing specifications/contract).
The first UNIX system was V6, where I learned the basics. But it was not a production system. Taking vendor administration classes (it was a VAX) gave an understanding of the basics. I then got my own UNIX System Vr2 based system (a 2MB Motorola 68020 system), which gave me the basics of modern UNIX.
My next job was adminstrator/developer for HPUX system (I was more familiar with UNIX than anyone else there), generating documentation frameworks that saved a bundle (docs were sent to another site for formatting/typing - I just used nroff to eliminate a weeks delay in turning it over to the customer). Making backups was still the primary administration task.
The next job (well, skipping another short VAX cluster admin job) was developing applications on a Sun workstation, and extending that to a workstation cluster (all 5 of them).
The big job came next - UNIX workstation admin for a supercomputer center. That allowed me to move into large system admin (Crays, SGI clusters, security admin, IBM systems...) which lasted 11 years. Tasks here expanded from basic administration to security, user administration, support, and above all, document, document, document. I saved a job by telling a director "no, I don't remember, but I have it written in this..." and handed him what was a systems operation manual.
The key in all of the jobs is learning the background. Without that background (math, CS, administration, security, documentation) none of the jobs after school would have occurred as I would not have been able to quickly translate job requirements into tasks. Both for personal tasks, and organizational tasks.
As an ex hardware guy I don't have any software degree or certifications. I used to buy Redhat releases on floppy back when I had dial-up and install them on my second PC. Learned all about networking, DNS, DHCP, etc. from howtos - which were always out-of-date even then. Anyway, last two jobs have been increasingly Linux and now I'm a full-time kernel hacker. The best source of information for what I work on now is the mailing lists and LWN. Buy a subscription.
Started out on Amiga, loved the CLI. Used to write fancy startup.s scripts and all sorts of glorius 90s eyecandy. Tried Red Hat 6.2 back in the days, didn't work very well. Went to computer engineering classes, learned Solaris. Got pretty familiar with Linux development trough DJGPP and all that. Cygwin, etc. Years went, tried version 4 or 5 of Ubuntu. Went to more school, learned Mandriva/Mandrake. Using different Ubuntu distros at home. Was at 8.10 when I got 'professional'. Work used Windows XP workstations, but all the development servers was Linux, so Putty was the numero uno app. Company had custom quickstart-guide to Linux for the inexperienced and we had posters of shell commands on the walls, Also, the bash buffers on all the different servers had like 2 years worth of command history, so it didn't take long to learn to run most of the park. Nitty gritty details were left to the respective admins ofcourse.It was harder to memorize what was running on all the servers than to actually perform the work needed on them :D Now I have tried about every major distro, even quite a few lesser known. Arch, LFS, DSL, Puppy, Manjaro. Even experimenting with building custom Linux now. The whole linux development pipeline is just lovely. I usually mouth off at the desktop situation, but actually working with Linux is bliss.
Can I light a sig ?
"I'm interested in what practical steps I can take to build meaningful skills that an employer can verify, and will find valuable."
I have been on many interviews for Unix sysadmin jobs, and have conducted many, many interviews for Unix sysadmin positions over the years.
People fall under a Gaussian distribution on an interview. A few people know almost nothing (we try to screen them out with phone interviews), a few people knock every question out of the park, and most people are in that big chunk in the middle of the bell curve.
The middle people, where most people are - you're not really sure about. You can tell they kind of know it, but they struggle on a lot of answers. It's hard to distinguish one middle person from another. They can tell you at a basic level what RAID 0, 1, 5 and 10 are, but if you ask for more detail they start coming up short. Or maybe they get 0 and 1 mixed up, or don't know what 10 is, or whatever.
Can you explain in detail what a sticky bit is? And how it would work if someone throws different scenarios at you? Or how inode permissions on a directory work given different scenarios? How well can you explain what an inode is? Can you explain in detail a Linux machine booting up? From the reset pin being activated on the processor, to how it gets to BIOS at FFFF:0000h and beyond that? Is the processor running in protected or real mode when that happens? Do you know what kind of electrical signal is sent to that reset pin to boot the system? Can you walk through the bootup in detail up to the init state, and past that?
If you can give good, full answers to questions like these right now, with enough door knocking, you'll definitely get a job. People who know their shit are always in short supply. If you go on an interview, do you miss any questions? Why did you miss them? If you give a full, complete, lucid answer to every technical question on an interview, and do not have an abnormal personality, it would amaze me if you were not hired somewhere over time. A lot of positions are open over time because they can't find people with the knowledge and skills needed to work for a certainly salary in certain conditions.
A little bit of networking helps as well, if you're out there at various tech things, and casually mention you just interviewed for a Linux sysadmin job somewhere, people will know you're looking, and that helps as well.
Forgot to mention - the Sun workstations got replaced by Linux under my recommendation. I wanted UNIX, but purchasing would not buy them, so I told them PCs with Linux could be secured. PCs with windows could not. From there it just ballooned.
Linux is too hard, stick with Windows administration.
Honestly though you need to know both the system and I don't mean using a Desktop no enterprise environment loads one. In addition you had better be able to program, you can be a admin without being a programmer but you cannot be a great one. Linux / Unix greatest strength is in the ability to automate the hell out of everything. If you cannot program you cannot maximize the use of the platform.
Got Code?
I installed Linux first back in 1993; the Uni I was attending had some Unix boxes and I liked it so much I tried out Linux myself (slackware, on floppies no less).
Anyway, there are a couple of things that I think make you a professional:
And the most important aspect of being a professional, in my opinion: admit it when you don't know something, or made a mistake. It sounds much better to tell your customer "I don't know how to do that, but I'll figure it out" than to say "Sure, no problem" and come back 2 weeks later empty-handed. Also, "Oops, I'll fix that right away" works much better than "Nah, you must have seen it wrong" or "It's a glitch".
"Fix it? It has been disintegrated, by definition it cannot be fixed!" - Gru in Despicable Me.
By asking questions on Slashdot, of course. Yeesh.
Everything you know is wrong, Just forget the words and sing along.
(I'm coming at this from a developer's perspective, so a sysadmin perspective may be different.)
To be sure, Linux isn't the only Unix, and you can do this to an extent on Windows. (Much more if you install Python or Ruby on Windows.)
But Linux tends to have the state of the art in Unix tools, from the various scripting languages to the various development tools and languages. And because they're so good, it does encourage this idea that things should fit into a larger system, that you're not making "apps" or huge "enterprise" systems that are big fugly stovepipes. Instead, these are tools that do specific jobs, and someone else can make another tool that complements it, and so forth.
The contrast, I think, is with the IDE mentality where all the messy details are hidden from you. It's fine to use an IDE but if you're using it because you can't figure out how make or a linker works, you're a very junior developer. You're still using training wheels.
And it gives you a clear path to get rid of the training wheels. You don't have to ditch the IDE entirely. Instead, if you're using Eclipse, figure out how to write your own build script. Learn how to use your source control management without the IDE. Learn how to use grep and find instead of the tools in the IDE. These are all things you can do one at a time, so it's manageable and achievable. Pick up a shell (or even stick with a language like python) and start scripting some annoying tasks.
And that's how I'd really try to sell yourself: not necessarily as being a Linux guy, but being someone who understands how things work and is more versatile.
A "freelance IT consultant" is a guy who plays WoW 24/7 with breaks to answer the door for pizza deliveries or go fix friend's computers in exchange for chee-toes. Get a job. Somewhere. Anywhere. Be a server admin at a company. Yes, that means you'll likely have to do windows. When the time comes for a big server expense, honestly and impartially present Windows vs Linux. I.e. For an email upgrade, a Linux server with Outlook enabled email (no changes on the desktop) and spam filter, vs MS Exchange with a commercial spam filter. $20,000 + $2000 per year for one, and $0 for the other, with no changes to the desktops, and poof, you are now a Linux admin. Do that for a year after the change, get your coworkers skilled up, then look for a job with more admin work. You want to be a Linux professional, but don't know what you want to do with it. That's strange to me. That's like saying "I want to use a screwdriver for a living, but don't know what I want to do with it." Plumber, framer, electrician are all vastly different and all use screwdrivers regularly. Decide what you want to do, the more specific the better, then read all the openings for that job and see what they are looking for. Then do it. It may take 20 years, but it's not hard. Well, it was for me because I gave up on mine. There was only one job on the planet that did exactly what I wanted, and it has low turnover, so the only reliable way for me to get that one job would have been murder, which wasn't a career path I wanted.
Learn to love Alaska
Back when I was in high school and using Win 3.1.1 on top of DOS 5, I came across a new copy of OS/2 Warp at a local computer shop, heavily discounted. I used it through my first year of college, where I got more and more into using Unix-related software under OS/2, thanks to the great porting work done by the community. I was regularly using vi, Apache, Perl, etc all directly under OS/2.
In school I used everything from DEC Unix (DEC OSF/1 on Alphas) to HP-UX on HPPA RISC boxes to, eventually, Linux, mostly in my on-campus job working at a research institute. That drove me to switch to Linux personally.
After dropping out of college due to money, I made my way quickly up the food chain at my first 'real' job. We had a mix of HP-UX and SCO in house, and no proper networking (10b2 all using "example" IPs out of the manuals--which were not private-space IPs). I modernized us and slowly introduced Linux into the mix. At the same time our primary software vendor (who I later went on to work for) started adopting Linux as well. We eventually displaced all of our HP-UX boxes and infiltrated the SCO install base with more and more Linux systems. Later on, when I went to work for that vendor, we got almost all of the installed SCO base replaced with Linux as well.
Long story short, using FOSS under OS/2 opened the door for me, while using it at work sealed the deal.
Very interesting. perhaps
Power = budget * underlings
is true.
Me and a few friends started an IT consulting business in 1999, prior to that we were using Linux at home (I liked slackware, they liked redhat). After we had the business going, we set up all-in-one machines for companies that ran Linux. These machines did SMB filesharing, squid caching (most clients shared a 56k dial-up for internet at the time), pop & imap email. They all ran slimmed down installs of Slackware.
Fast forward to now, and I've parted ways with the company I founded to work in IT at a shop that's a mix of Linux and Windows (zimbra mail server, linux dns and etc servers). I still run Linux at home and carry an Android powered phone (SGS3).
None of us had formal schooling, we just hacked together the OS the best we could to make it work (OMG apache+mod_ssl+php+rewrite compiling by hand I don't miss those ./configure lines). We used it for everything and learned it via hands on using manpages and talking to other Unix professionals at the time (that turned their noses up at us because they were using HP/UX, AIX, Solaris, FreeBSD)
Seriously. Pick projects that you think would be useful in a work environment. Do them as a hobby evenings and weekends. Write a short 1-2 page summary (typeset w/ groff or LaTeX). Put them up on a website as PDFs. Communication skills are as important as technical skills. Expect to take a day or more to do a good write up of a week's worth of work. Make sure your presentation focuses on a management perspective. That is, when and why, not how, though a few hows are probably good if readable by completely non-technical people.
I got laid off in '91 and spent 4 months learning Unix admin on a Sun 3/60 I bought just before I was laid off. Then I spent a month learning lex & yacc because I thought it might be useful someday. I got lucky. I got a 6 month contract gig. My first assignment was expected to take 2 months. With lex & yacc it took 2 weeks. They thought I walked on water. I stayed there 3 years and only left because they were having a layoff and I didn't want to endure the misery. Funny part was they had a layoff at my new gig the day after I got there. I just found a piece I wrote summarizing the state of the computing environment at that job.
Note: I did this in a 3 ring binder, but never used it because except for the first job I've gotten a job because someone I knew came looking for me. So the binder wasn't needed.
Have Fun!
In the early 90's (1993 or so) I started a small ISP in the midwest (playing out of my house) which grew fairly quickly. After about a year, I brought on partners, and hired employees, as well as found office space.
I had a couple of high school and college age guys who came by to help us out, and play with our large amount of bandwidth. They convinced us (1995/1996) to try Linux (Slackware, I believe) for our DNS and mail. After many attempts to show us how stable, and great it was. Eventually, we began to use it in production, and it was terrific for so many reasons.
Eventually I had to learn command-line, and how it all worked, and I spend much time learning the 'right' way to do things. Joe (the text editor) became a good friend.
From there, we eventually sold the ISP, and I went to work for the company that purchased us. I've been heavily involved in Linux administration and development ever since.
If a new hire has a degree or certification.... "We won't hold that against you.". You can't pick the majority of skills via any courses or degree's its basically trial by fire. Expect not to know stuft, always be humble & don't be afraid to ask for help.
A Linux from Scratch installation is far from a usable system on the long run, but is a great experience for learning.
That job title could sound grand or rather banal, or even worse, depending on your point of view, but it doesn't really describe what I do properly!
I prefer to say I'm "the pet linux geek" where I work, but even that is egregious; I use far more FOSS than just Linux in my daily work, and it's largely skills in those technologies that got me my current job, for example: GNU Utils; MySQL; DRBD; Apache; Nagios; Sendmail/Postfix; Perl; Python; Shell scripting; Red Hat/CentOS; Debian/Ubuntu. In addition, my broad and, in places, deep experience of other technologies (including hardware) was helpful.
Firstly, I'd been inetersted, and had used vairous LInux distributions since about 1993 (yggdrasil, slackware and then Red Hat 2 or 3) on an experimental/liesure basis. Whether or not it matters to employers, I have a passion for Free Software, in particular Linux-based operating system distributions.
Secondly, I *did* get my Red Hat certification, but that has since lapsed (though I might renew it sometime); in 2006 I was made redundant from my "IT Department" position where I was originally employed to work on Novell Netware, Windows NT 4, and later 2000, and XP, and subsequently making a move into AS/400 (RPG) development. During my "gardening leave" I had wanted to leave Windows behind for some time and took the opportunity and began studying for my RHEL 4 "RHCA" exam, using "RHCA/RHCE Study Guide" by Michael Jang; I also took an official RH course + exam, and subsequently passed.
Third, I then worked as a contractor for about 3 years, doing various types of work, with a gradually greater Linux element. My last contract job (as the recession was beginning to bite) was my first "pure linux" position - which I took at a lower rate than I'd been getting in my more recent contracts, just to be able to put "Linux Administrator" on my CV (resume).
Just as I was beginning to despair of finding a new contract (even a non-linux one) because of the depressed state of the contractor market, I was informed about a vacancy by one of the job agencies I was registered with, which resulted in a telephone interview.
There's a yarn here, too (please bear with me): the interview was scheduled for a Friday, an hour before I was due to leave to drive for an hour to pick up my children for the weekend, and it over-ran by half an hour, though it had gone well, and I thought I'd probably got the job; I had just rushed out, and I got a second call from my interviewer, asking me if I could join a conference call in about an hour;
I explained the situation, but agreed to join. So I carried on, and drove to my rendesvous point, and then did the conference call sat in a "LIttle Chef" car park, where I was given the root password to a customer's system (I had to scrounge a pen to write it down!). Over the following week, I worked for several days on this system; I eventually had my face-to-face interview the following week after that, which by then was a mere "formality". So I actually began working at my current position before I'd even had a proper inteview!
Today, I mostly look after internal systems - Nagios for monitoring; Request-Tracker ticketing system; Alfresco CMS etc. I also do custom Nagios-based monitoring systems for customers, a bit of Moodle and Global File System build and consultancy, and anything else "Open Source" that my boss can sell services for...
So I get to lab-test, and generally play round with lots of Linux-related FOSS technology, and code in Python, Shell-script, Go, etc. and spread the spores of Ballmer's Cancer! I'm like a dog with two tails!
Started a job where I would eventually need to do Linux sysadmin, I'd only started fooling around with Linux at home shortly before. I took an introductory course but am self-taught otherwise. Now all my computers except my gaming PC run GNU/Linux - including my phone.
"When information is power, privacy is freedom" - Jah-Wren Ryel
Set up a system at home. Have a machine which you can use as a server for various things (music, streaming videos/DVDs, etc). Understand how to make it secure from external attacks (set up firewalls, root-kit hunters, etc.); figure out if/how you might access it remotely and still keep it all secure. Ensure you have a decent backup solution (understand what file systems exist, how they are useful, why "RAID is not a backup solution etc.". Set up crypto partitions for any sensitive data (if case someone walks off with your stuff). Depending on where you live and how likely power outages are, install a UPS and hook it up to your server. Install system monitoring software so you know everything is ship-shape (SMART checkers, Munin, etc.). If you have multiple machines set up NFS (and discover all of its wonderful gotchas).
Basically, build and use at home what you might be doing admin for at work. When you know that inside out you should be in a good position to answer questions thrown at you in an interview. Finding _good_ sys admins is hard, if you know your stuff then that's probably most of the battle IMHO.
* Started with redhad 5.2 at home since I was fascinated with a windows alternative (and not a happy windows user).
* Started using blender for a school project
* Was contacted by a company who wanted to pay for my 3D work (which I was doing on linux by now),
* Did this for some years.
* Now work as a programmer/software developer on linux doing graphics programming and have been doing so for ~3 - 4 years.
I found one of the early issues of Linux Journal in a used book store in Honolulu around 96 or 97. I soon installed linux on my home machine, and in about a year, I quit my job and did about nine months of self-study. I installed Slackware numerous times, became proficient with networking (running my home network with firewall and samba to connect to my wife's machine. I mastered emacs and successfully installed X11-- that was back in the days when you could actually destroy your CRT if you did it wrong (I did mke my monitor produce terrifying high-pitched whines on more than on occasion).
I lucked into an application specialist job in a fast growing EDI company where I was given the manuals and became one of the leading authorities for the software by writing my own parser for its language using lexx and yacc. From there I got an EDI job with an auto manufacturer and have accounts on probably 30 of their linux machines on two continents where I support four different third party aps and write scripts for internal use.
I'll be teaching my co-workers a scripting class next month. The only computer courses I've ever taken were a BASIC class in High School and a business aps class in college. I read and reread the man pages and try things out. I am considered extremely proficient by even our sys-admins.
I learned some unix at university. Tried linux briefly in 1994. Installed linux again in 1997, and haven't used another OS since on my own machines.
Got a new job in 1998, in a university. Decided to use linux at work, and had no problem with that. Even then, linux had all the software needed for teaching. Today it is more streamlined and easier to install. (Not that I install much - I have only reinstalled twice, due to hw problems. With Debian, you just upgrade now and then. :-)
Linux turned out to have some advantages. The virus epidemies in the early 2000s were entirely "other peoples problems". The same with crashes and reinstalling - not for me. Thanks to LaTeX, anything I print look much better than word output. And with LyX, it is also easier to write. I can write down what happens at a meeting in real time, and mail out a pdf as the meeting ends. No need to touch up anything.
Not a sysadmin, but one of those who uses linux on a daily basis. A pc is a machine that boot up in under 30s from power-on, and logging in is never more than 3s. Be it a local logon or network logon. I have seen people who need 10 min to start their machine - or to log on. Could never understand why they put up with the waiting.
I started working with UNIX in college in 1979. Version 5. Every job I after that was on some *IX platform. Learning to admin these things was seat-of-the-pants. Early jobs, I was the programmer and admin. At Y2K, rather than pay the outrageous price for a Y2K compliant upgrade, the company I was working for switched to linux platforms. After the programming jobs were outsourced, I was able to shift to an admin position. There was never any formal training or certification.
Why, without your clothes, you're naked, Miss Dudley!
Long story short: I learned how to use Linux when I was a child. No formal training, no certifications, no books, no legit credentials. I just learned by screwing around and using the web. Learned a lot of neat tricks from people on IRC. Can't really claim to be "good at Linux" (whatever that means), but I've found that in my professional career, I am VASTLY more experienced with GNU/Linux platforms than ANYONE else I have encountered. On some level, I still consider myself a noob (I suspect that my competency relative to those around me is because I'm in Seattle: MSFT is right next door), yet I've been able to swing great jobs with fat salaries just because I know more about how to make GNU/Linux systems do useful things than anyone else in the room.
Here's my story. I suspect that I'm a bit younger than most people on here, so I'm curious how my experience compares.
Got my first own (read: non-family) computer as a kid. Ran Win95, filled with cruft. Hand-me-down from grandpa. Got a copy of RedHat 7.0 for Christmas that year, installed that over Win95. Spent about a year fighting with it, but mostly just screwing around. This was circa 2000/2001.
Upgraded to a machine that I custom built when I was an early teen. Installed my dad's copy of Windows 98 on it first, but discovered that Windows 98 was a real piece of shit compared to RH 7. Couldn't even burn CDs at the same time as playing Quake! Useless! So I downloaded and installed RH 7.1. Dual boot for a while, but switched to Linux exclusively after I realized I couldn't do anything useful or cool without a shell. Plus Linux never crashed on me, I could leave it up for months. With Windows, I'd be lucky if it hadn't blown up after a few hours. Switched to Slackware at some point, with the intent of learning how the system was put together. Switched to Gentoo (for the same reasons) a year later. Started learning C so I could hack around with the software I used the most. It was fascinating to me that people had built all this awesomely useful software and given it to the world, for free, so that nerdy kids like me could play with it and make it more useful.
Then I went off to college. I ended up buying a Mac, because I felt that I needed a Unixy feel to be productive, yet I didn't want to spend hours of my life maintaining a Linux system and playing Mr. Package Manager. Was correct in my assumption that I wouldn't have time in school to fuck around with a Linux system all the time, but incorrect in assuming that OS X would be a good chice. It was 10.3 at the time, and it sucked. Apple fixed most of my gripes by 10.5 or so, but I ended up using a Linux desktop for most stuff while in college.
Worked part-time IT type jobs all the way thru school, and used Linux or BSD at all of them. Each place was in dire need of someone with Unix knowledge when I started. Graduated and kept doing the same thing. Moved away from IT into software engineering, now I write C++ all day under Linux, for a specialized instrument that also runs Linux. I've always been the Linux guy wherever I've worked.
Anyone else have a similar story?
First don't mention "freelance IT consultant" as this won't get any jobs at least in big companies :) :)
I have asked this some time to time and I usually tell to think which direction you really like to go, large/huge size company admin or small/medium company admin , and start learning skills for those.
Like for example if targeting to huge companies, try to learn much as possible about things like PXE, SANs, different NAS protocols (even clustered and exotic ones), different HA systems, backup systems, authentication/authorization systems and database skills are always plus
If you manage learn some of those to decent level, you will easily get adopted by big companies.
On smaller companies usually tend to require more generic Linux admin skills, good scripting, databases and web relates skills.
Back when I was deciding between the free Unixes, not only was it more natural to choose FreeBSD, but at least back then, Linux was a mess in terms of documentation and consistency of the distribution(s). I chose FreeBSD and never looked back.
Quit, and charge them an exorbitant consulting fee.
I just declared I was. Noone at the time in my dept knew much about, certainly not much more than the PHB who had somehow heard the term and decided we needed an expert. The consequence was I needed to learn faster than my lies could catch up to me. 15 years later, voila, I'm still the company expert.
My advice to you is avoid Linux training courses that have a published failure rate and a high cost of retaking the exam.
Back in 2000, having had experience being a system manager for the now long gone Hewlett Packard MPE and MPEix systems and having installed and used several early Linux distributions, I decided to take the Red Hat CNE one week certification course.
I failed the final CNE exam and the result was a half assed resume entry and a blow to my career energy. Computers are fun and interesting, and you can better develop your career than walking into a running chop saw.
Regarding the exam, it was a bucket load of stupid dorm tricks that I have never encountered in the real world. The bugs that had been introduced on the test computer were really interesting and I would have liked to study what exactly the bugs were doing, but a short time limited exam just isn't the place to explore.
The problem is the course said "Some or substantial Linux experience required." and the course description addressed to companies said in effect, this is not a creampuff Microsoft type "everybody passes" course. In fact the Red Hat CNE pass ratio for persons who took the 5 day long course was about 50%.
Note, the institutional priority for Red Hat was to prove how valuable and challenging the training was by holding the pass ratio to 50%. From the point of view of a hapless fellow trying to establish a career, the Red Hat priority is akin to generals proving their courage by telling all their soldiers to charge, at Verdun in WWI.
Dear Slashdot,
I have become proficient in the use of a "Hammer" and I'd like to know how to become a Hammer professional. I use a hammer on a daily basis. I can't believe that making furniture is the only job available, although I would be open to that. What areas of Hammer usage have other people experienced, and what has been your experience as a hammer professional?
- For the complete works of Shakespeare: cat
I learned Linux during grad school, with a little help from lab-mates but mostly by reading online stuff and trying things out. It is incredibly more fun to fix and explore Linux systems than it is to write conference papers or a thesis! I also got nominated as sys admin for the lab after the previous guy quit school to join a dot com, and learned a great lesson on security: script kiddies break into computers that have no valuable information on them (Why would anybody bother breaking into this computer? Oh, it's been subverted into a tool for sniffing passwords to accounts that might actually be interesting... password sniffing on uni networks preceded the current age of bot nets where zombie computers became a business commodity in themselves for DDoS and such)
While in grad school I helped start a LUG, which has been a great source of contacts for my eventual career as Linux consultant. Both key colleagues and clients have been met through the LUG. Most of the contracts my company has now are directly or indirectly (as in initial person was met due to LUG, then introduced us to future clients) related to the LUG. One contract opportunity initially came via a recommendation by my dad who was working at the company as a programmer, but even then being an officer in a LUG lent more credibility to claims that I was a Linux expert.
Note that although the LUG has been great for my career, that's certainly not the reason I participate. I picked both the career and the LUG because I love Linux, and it sounds like you've got that enthusiasm to help out as well.
I grew a neckbeard and waited for three years of dick cheese to build up under the foreskin that covers my useless two-inch penis.
because I pay someone to do the work for me. Open source jobs and all.
I grabbed a PC that wasn't doing anything, loaded my favourite distro (Slackware) on it, plugged it in to the network, and showed that it could do useful things at an interesting price compared to the Sun hardware we mainly used at the time.
Now we use Linux for all new development. The suits insist on RedHat for product stuff. So be it. We use CentOS for development. My personal box remains Slackware.
...laura
I started using Linux at 17 or so (asj introduced me to it), connected to the Internet via dialup and realized that if I could connect to systems on the Internet they could connect to me (using SLIP/etc I had an actual IP). So I started learning about security, but basically no documentation/etc. existed back then (this would be 18 years ago). So I started keeping notes, back then stuff like disabling stuff in /etc/inetd.conf (remember that file?) was serious high end security, and using tcp_wrappers was Matrix style kung-foo. I then realized I couldn't be the only person with this problem (not knowing anything about security) so I started documenting it, in early 1998 I registered seifried.org and put the docs up (where they remain today, out of date but somewhat useful) at seifried.org/lasg/.
This in turn got me a contract at SecurityPortal which got killed in the .com downfall, then I contracted for iDefense (then Verisign bought them) and then iSIGHT partners where I basically did information security analysis, focused heavily on Linux. But I wasn't super happy, I realized what I really enjoy is writing stuff for the public (not just paying customers). So I decided to go back to my Open Source roots and joined the Red Hat Security Response Team (https://access.redhat.com/security/team/) and CVE guy (e.g. http://people.redhat.com/kseifrie/CVE-OpenSource-Request-HOWTO.html).
Basically in the security community the way (everyone I know) gets hired is they get into security on their own time, do something like build an IDS, or create a secure Linux distribution which is basically their portfolio/resume when it comes to getting hired. Much like the Linux Kernel we don't have a lot of volunteers in the Linux security space, if you're any good at this you tend to get hired quickly. In other words "just do it" and if you are any good at it, a job will not be a problem.
Posting anonymously so I don't get accused of Karma/etc. abuse.
So if you want to do Linux Red Hat is a pretty good Linux vendor to work for (disclosure: I work for them). We're committed to Open Source and better yet we're hiring (we just broke a billion dollars last year and need more people). Go to http://careers.redhat.com (which redirects to icims). Then find a job that is suitable for yourself, many are location specific (Red Hat tends to group certain types of people in offices, e.g. doc writers, kernel guys, product teams). You can apply straight through the web interface but of course your chances are much better if you know someone at Red Hat that can help nudge you/provide a recommendation, cultural fit is an important aspect, so if you have a history of participating in Open Source that's a HUGE advantage (your name in CREDITS, or on web pages and so on, or being known to be helpful on IRC or whatever).
rm -rf *. It fixes EVERYTHING. If you don't have it available, apt-get install rm -rf.
I got a sweet job as an IT Administrator in the Wall Street area at a Windows shop (the Linux details come later). Anywho, I was set to become the DoT for the new online trading platform that they plunked down $5 million. New office space, hardware, new staff, all Windows crap. Turns out, one of the CEO's son blew through the cash (bad trades / whores / alcohol / gambling) and as quickly as they bought the stuff, they now have to sell it. Problem was that NONE of the Windows stuff / IBM Lotus Domino stuff was licensed and they now had a buyer that would take over in 1 week. This was 2 NT domain controllers, 1 file server, 1 web server and 1 Lotus Domino Server with 24 Lotus Notes clients installed and it all had to be converted to RHEL before the new owners took delivery.
I had 5 days to wipe everything from Windows to RHEL, keep all the mail and file share data intact, not to mention, user accounts (they brokered a deal to keep all user data).
So, it was 16 hour days full of pizza, Mike's Hard Lemonade, a lot of web searches, TLDP articles and IRC chats but I made it work. It was, by far, a truly enjoyable week. It's sad that it took a catastrophe (moving up the ladder cockblocked by a douche) to learn something that would benefit me for many years.
I became a computer system engineer. I work with whatever is needed for the job. Solaris, HP-UX, Windows, Linux whatever the job requires.
There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
Well downtime for example, if our mail server was hosting say 5,000 users that means a few hours of downtime would easily run you $500,000 in costs, so hosting it on a cheap server/etc with no backup/fail over would be a really bad idea. Ditto for the file server, did it have backups? What happened it if crapped out and all the data went byebye? Sometimes spending money up front is a lot cheaper than using some cheap and having to spend a lot more money later.
I currently work for a major hosting company that has a few thousands linux servers.
I simply applied at their job posting and proved myself at the interview.
That is probably not what you wanted to hear though... I've read many linux related books, including service specific such as mysql, apache, and read "The Linux Administration" book at least 3 times, I run my own linux server and postfix email server. I know bash and am able to troubleshoot like no other...
Personally, I got my start as an "IT Manager" for a small company and often needed to solve problems where I had hardware, but no software with zero budget. This was web servers (Apache) and a file server (Samba). From there, I used it for personal projects by renting an unmanaged server and doing everything on the CLI.
I got a bit lucky in that a short term contract at a major company involving both Windows and Linux servers got my foot in the door there and now I'm on the project team for rolling out new Linux servers. It was a mix of prior experience that got me the contract position that led to the Linux only one.
If you're looking to get your feet wet, rent an inexpensive VPS to run websites, FTP and other servers so you can point to real experience. Volunteer with your church or some other group that has IT needs but can't afford it. You can probably use someone at the organization as a reference.
By the way, in addition to learning to configure the software, you're going to want to learn how to bond interfaces and probably some FC storage stuff. It's still widely used in enterprises.
This was back in the days of Kernel Version 0.99. Believe it or not at THAT time (1993) you had basically very few choices in OS on servers. You could use some proprietary Unix (like Hitachi) but only on that OEM's hardware. You could use Netware of course, and you could use one of a very short list of other *nixes (Xenix being one of the major ones IIRC. Linuxware was also just then appearing). I recall my first commercial use was setting up machines for a guy to run a course on TCP/IP since there really wasn't anything else around you could get for free that would do it well enough to bother with.
From there I helped set up some of the early 90's local ISPs. We set up quite a few linux servers. It worked and it was free and you could do a lot with it.
"Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
If you want a carear in *nix and don't want to be an out and out programmer you start at the bottom. That means working in a NOC.
NOC work requires working shifts, and you will spend 2-4 years doing this. Once you are done, you will (unless your an idiot, which 90% of NOC workers are) be strong at *nix sys admin, networking and be handy at something like Perl.
You can then progress to 3rd line, these are the guys in your bussiness who do the on-call stuff, being a 3rd line *nix sys admin is the best job in IT. Enjoy it, it's down hill from there. You get to play with tech, deal with customers (don't be afraid of that, it's important and rewarding - I got 2 weeks in Aus going this), solve all sorts of problems and get to work on projects (but not too much).
From then on, you weill either become a systems engineer who works on projects and stuff, fun, but you have to deal with project managers far too much, and you loose the thrill of dealing with live issues, that you handle in 3rd line. Or you become a network engineer and get very very cynical and angry (network engineers are always angry).
I started using Linux in 1994 on my computer as a teenager. I got my first job doing tech support for a now-defunct dot-com commercial Linux distribution. As I was totally incompetent at talking to clients and stuff, they moved me to R&D. The bar was really low back then - my interview consisted pretty much of "Can you install Linux? Cool, can you start tomorrow?". The salary was low but who cares. I had what I would later find out to be the experience of a lifetime as I went to work with some amazing, amazing people who mostly got hired by Red Hat and Canonical when the company folded.
I made the mistake of opening a small business instead with a bad partner where I worked mostly for major ISPs. It destroyed my life and my health.
I needed a break from that, so I found a promising start-up, sent my resume and they hired me on the basis of both my Linux experience and my experience running high-volume systems. I think I have a pretty good spider sense for detecting scalability issues and I love debugging complex problems.
You really, really shouldn't describe yourself as a "Linux professional". Back when I started, that title existed but now, Linux knowledge is too widespread to be meaningful. Try working at places that use the cloud extensively and you will always be close to a bunch of (virtual) Linux boxes that will need your skills.
(And what's funny is, my degree was in Literature, and I keep thinking about a master's in Philosophy. I'm a humanities person.)
I started out as a Unix sysadmin (professionally) in 1986/1987, initially with a Sun 386i workstation (but running a network whose core was a PDP 11 and a Sun 4/110 server, with various Sun 3's and an early SGI box), but grew with the network until it spanned some forty systems, mostly Suns but with a mix of SGIs (including a big SGI refrigerator compute server -- 220S?), Sparcstations, ELCs and SLCs, and the rebuilt Sun 4/310 which was eventually replaced with a Sparc Ultra server. Somewhere around 1993 or 1994 I first tried Linux (on a friend's 486 IIRC) and installed it myself at home on an early non-Intel P5 clone -- I got Slackware to install on my home 486 with 4 MB but it was "sad" and it did much better on the larger faster AMD. I built one of the first distributed parallel supercomputers on top of dual Pentium Pros -- it might have BEEN the first, I don't know for sure, we had to use the very first 2.0 kernels which had locking issues with the network (which I helped debug, for at least one network driver) and also had to screw around mightily with disk drivers as very few hardware manufacturers at the time helped AT ALL with linux drivers. A few years later I helped oversee the department's gradual transition from Sun to Linux in general -- SunOS 4.x was great, but Solaris was named Slowaris for a reason (broken kernel scheduler) and by the time the kernel spin lock issue was resolved Linux handily outperformed it on PPro or beyond hardware, EXCEPT in server context so we kept a quad Sparc server for a long time afterwards. Around that time I stopped being the only sysadmin for the Physics department and watched as we gradually transitioned away from Slackware and towards Red Hat (largely because of the scalability of Kickstart, which still rocks, BTW). Maybe a decade ago at this point we hired this guy named Seth Vidal as our primary sysadmin, and boy what a great decision that was! He experimented with a tool called "yup" -- the Yellowdog linux installer for Apple/Linux (based on kickstart), ported it to our department for general use, and forked it into "yum", which is now more or less the standard install tool for RH-derived kickstartable linuces because it is AWESOME. I made the mistake of writing the first YUM HOWTO and even though I have no time to update it and it is largely obsolete, it is still one of the most hit parts of my personal webspace. Fortunately Seth now works for Red Hat and Yum has long since transcended its documentation.
These days I still use linux -- currently mostly Fedora 14 (because Gnome 3 sucks, sorry, but that's a fact) although I have bit the sorry bullet and put F16 on a few systems, waiting/hoping for the Gnomergens to come to their senses and dial back to 2 and try again. It's the Linux equivalent of the Blizzard Major Fail with Diablo 3 compared to 2 -- they didn't need to fix anything at all, just add more better, and instead changed all sorts of unbroken things and made a damn usable interface miserably useless. Although I tracked Microsoft from Dos 1.0 on the 64K motherboard IBM PC (yes, that is K, not M) up through Windows 3.2, these days if I use Windows at all it is under VirtualBox as a linux application. But I rarely have to do that, and if it weren't for games and a very few proprietary packages I still need occasional access to I wouldn't do it at all.
rgb
Even when the experts all agree, they may well be mistaken. --- Bertrand Russell.
Wait, you're talking about needing to get the job before you can get Linux experience? The first thing you need to understand is how silly that statement is; we talked about this in my local LUG, a few months back, and one of the other guys summarised pretty aptly:
So, when we hire, that's what we look for: experience that actually you can get in your spare time.
My own response to the question was longer and provides more specific suggestions.
-rozzin.
I am going through the same experience as far as trying to take my skills to the next level and solve that annoying chicken-and-egg experience problem; although the specific career I am trying to enter is network engineering. Linux skills are the most frequent requirement I see for those jobs next to Cisco certifications and the all-too-elusive 3-5 years of experience. As far as learning materials go I recommend this book: http://linuxcommand.org/tlcl.php. You can buy it on Amazon or download the PDF for free and legally since it is licensed under creative commons. I am also planning to get Linux+/LPIC-1 once I have my CCNA, but the materials specific to that leave a lot of holes. I have found that book to fill them nicely.
Let's also state my bill rate is >40/hr...
The reason why is:
I am finally going back to complete my bachelors not because I am at a dead end in my career, but because it is an incomplete personal goal that is bugging me
You're making more than $40/hr and you are going back to school because it bugs you leaving something undone? You're the right sort of IT person. The sort of person who knows a job isn't done until it's DONE.
You're probably worth every penny.
Weaselmancer
rediculous.
I blame it on Mr. Linus Benedict Torvalds.
I was doing just fine with DOS and Windows
I was happy with the BSOD when Mr. Torvalds message, the one he posted on the comp.os.minix newsgroup appeared on my screen
Since then, I am hooked, addicted, and couldn't shake it off, no matter how I tried
I even had gone cold turkey, only to end up phailing miserably
Muchas Gracias, Señor Edward Snowden !
Way back when, I worked as a CAD operator on an Intergraph graphics workstation. UNIX based. The other guys I worked with had no interest in taking on the System Admin responsibilities so I said I would do it. Having never used UNIX before I had a lot to learn. So I broke open the books, on my own time, and had the good fortune of having a friend that taught me a lot. I started off writing simple shell scripts then moved on to other things. I won't bore you with all the details but basically, the key to getting ahead is being willing to take the jobs that other people don't want. Don't worry about how much money you make initially. If you're good the money will follow you. Just focus on learning as much as you can. Keep your eyes open for opportunities. If you're lucky your employer might be willing to train you if you're keen and they have a need for a particular skill. Once you land the job, always be thinking strategically regarding your career. Don't think so much about what you want to do today or tomorrow, think about 5 years down the road. Work with your manager to set out a plan on how to get there. Above all, have a positive attitude and enjoy what you do.
I stayed with my Commodore Amiga 4000 until 1998 cause I couldn't stand standard PC's. When it was stolen I decided to leave the country. I travelled arround, hitch-hiked and lived as a punk, hippie and bum. I've tried it all. I lived under nothing but the bare sky in the desert of Andalucia. I stayed with a religious sect in southern France. Build a float out of barrels and wood and crossed Loch Tay/Scotland with it. Battled the police on eviction day after occupying and squatting an old castle in Barcelona. Met the girl of my life in the caves of Sacromonte/Granada and decided to marry her - then asking a company near Barcelona to employ me as Linux admin. It worked. I'm in it for 5 years now. *true story P.S.: in each of the chapters of my life I've had to do with Linux one or the other way... must be true love
I owe everything to Windows.
Slashdot, fix the reply notifications... You won't get away with it...
The next level is creation. Learn to code and your job prospects are enormous.
I am really late to the party here but I will give you my perspective. To get going in the world of Linux, try looking for an engineering company/college where you can be the junior admin and grow. Good Linux admins are classically trained. By this I mean then know DNS (inside and out), then can telnet to a port and see if a service is running, they understand databases and web-servers, they understand why a system is slow (is it disc I/O, swapping, CPU), they can program and know enough about system architecture to help keep developers from destroying systems and databases, and they generally understand voodoo networking like VLANS and SANS. It is a great field and if you like to learn and be involved in solving large, complex problems where computing actually supports research/engineering/medicine then it is the place to be.
I wouldn't recommend a small shop until you have had the chance to work with a larger community and worked with some of the wizards. After that you can specialize and seek a small to medium business if you like. So many IT people wildly theorize about problems and the root causes. Good Linux/Unix admins can usually pinpoint it with certainty. Good luck, have fun, you only get one life. Also, the Red Hat Certified Engineer program is very good.
It was 1996, and I had Sun Microsystems, HP, IBM in the same room and I called them to a meeting because I realized over the past year after installing RedHat's distro, that the extreme requirements of designing and building web services was pushing me to frontiers I found beyond the cost of support payments to these companies. Since I ended up writing the source code anyway with staff, it made sense that if we were going to do that, I mine as well get the operating systems source code to assist us.
So after demonstrating my problems with fall over clustering and creating a cluster based file system to the vendors, I found none of them could offer me the certainty I needed to promise my customers 24/7 up time.
So Sun, HP and IBM got their walking papers, and the next year I was ordering white boxes and replacing UNIX boxes like crazy. A huge risk, my business partners asked me "What are you doing"? a year later. I said for the past year we are the support and the engineer of our own software. They found that incredible...
and so did I. Huge sums of money were saved and when it was all over we were the last ones standing after the Dot com crash.
Till this day, I sing the GNU electric. It allows me to build systems nobody can match in the proprietary world on scales that would make Gates crap his pants.
Whats more, as a geek, I can truly understand how my systems operate I build, all the way down to the syscall interfaces and operating system source line.
With that kind of knowledge, no PhD, no MS, no BS is going to match you in the professional world if they are sitting blind on Windows.
-Hack
Got Geometrodynamics? Awe, too hard to figure out? Too bad.
I am a BSD professional, you insensitive clod.
I played a lot with it on my own while being student. That was enough to become an expert that employers could spot as being worth recruiting
Seriously easy to get off the ground. You start your own company.
It actually isn't that easy. I slaved away and continue to slave away at it. We're hiring our first real part time employee this week. Although I have lots of help it's all contracted out kind of stuff.
Anyway. The business is worth over a million dollars at this point. It'll be 4 years this September that it was founded and about 1 year since we have been off the ground and money has been coming in.
If you really cared you wouldn't be programming in .net. It's utter crap that you had to take that job. I never did and when I turned down my dream job... for lack of pay despite being offered significantly more than most out of school college kids I took a few months off and then started a company. Which 4 years later is worth over a million dollars. I'm doing great. So... ultimately your just a failure. You never amounted to your goals. People who have "ideals" strive for them and succede. You clearly never had them.
After seven years as a sysadmin involved with nothing but commercial software (Windows, NetWare, Lotus Notes) I was faced with the awful prospect of being a Windows sysadmin for the rest of my life, but it just wasn't possible for me to simply find work with Linux instead, because it didn't say that on my CV. It was chicken and egg problem that I had to solve myself.
So, I started by installing a few servers at friends houses that still maintain for nothing. Then I got the chance to install a bunch of machines at a luxury barber shop franchise. It didn't pay much and lasted for only three years before they got a new app and went back to Windows (which I refused to support), but it was good experience to start with and some actual Linux stuff that I could put on my CV.
Eventually, I decided that I needed to figure out how to set up a more complicated environment; one that would feel like a modern Open Source alternative to the NetWare/Windows systems that I used to work with. I figured the best solution was a combination of OpenLDAP, Kerberos and OpenAFS. It took me months to figure out how to do this properly (see my homepage), but eventually I knew that I had something really useful.
Then, not long after I finished that research project, I got lucky and was given the opportunity to install three servers and a bunch of workstations with nothing but Debian GNU/Linux at a three-location veterinary clinic. It's strictly volunteer work and I'm still busy with the project, but so far it has given me the opportunity to put everything I've learned over the years (and then some) into practice. And, finally, it's all on my CV.
:) people are stupid. Like yourself. You assume there is no market for desktop GNU/Linux because you failed at selling it. It's a HUGE market that most people are too stupid to sucede in. They have tech skills although no market/business skills. My business is doing extremely well and is exclusively focused on the desktop. I can't keep up with the work and am learning how to scale it. Which is a difficult task.
"Be grateful for what you have. You may never know when you may lose it."
In my final year of college, I heard about Linux. I then got a job working on AIX. A couple of years later, I then only had to stretch the truth slightly to claim 5 years of experience with Linux and thus meet the requirements of the job market at the time. Presto, instant Linux professional.
That is all it really boils down too. You need to know networking like its the back of your hand. That means TCP, UDP, IP, VLANS, DNS, DHCP, Pixie Booting, firewalls, NAT, etc. You need to understand systems and hardware. That means hardware and software RAID, when and where you need memory/processors, etc. You need to know how to trouble shoot. If a system is unresponsive why? You need to understand scripting and bash. You need to understand virtualization. If this seems like a lot, or to much to learn you are probably not suited for the task.
The second part is to get a job for a real tech company. These are the people who use and love linux. The average medium business simply has very little need, and very little want for what you are "selling". Big tech companies on the other hand desperately need people who know all of the above very well.
I accidentally became a Linux security expert by being in the right place when hackers attacked.
* /me gets job as Network Engineer
* Evil hackers attack network
* FBI calls us (we were an ISP)
* Boss gives me full access to all Linux servers and firewalls
The rest is history.
I do not believe in certifications. People should study the material and use it on a daily basis.
This sig can be distributed under the LGPL license
1) Learn C/C++
2) Learn the relevant Linux APIs (File I/O, threading, etc)
3) Develop something useful using steps 1 + 2
Congratulations, you are now a Linux Professional. Enjoy your new and glamorous lifestyle among the programming elite.
1) The one thing one cannot get around is experience in using the skill. Learning takes time and effort, practice takes time and effort. In the trades they have apprentices and journeymen and masters. The same is true of the computing-related fields, from IT to programming, although not in those exact terms. But the concept applies. Try to get on somewhere as an apprentice.
2) To get on as an apprentice, you need something on your resume that indicates you can learn and do the job. That you will be a profitable addition to the team and/or make your boss's life easier and/or improve his standing in the company. For people without direct experience, some kind of certification might be the ticket. Just gotta get that foot in the door.
3) I've discovered that you need to find a good book that is a TUTORIAL and not a REFERENCE. For learning any kind of technical skill. There are hybrid books out there which are pretty good. "Running Linux" by Dalheimer and Welsh is an excellent hybrid. There are books out there which are pretty terrible, with incorrect technical information. I'd do some looking on the web first to get some idea of what's available and what people think of it.
There's no way to snap your fingers and get it done, but it is eminently do-able.
As far as how I became a Linux professional, I used *nix and Linux in college. Then got a programming job where it was the OS for the product. Now, I maintain a Linux server and have continued with the programming.
That's incompetence not money. Reduntancy is possible with GNU/Linux and so are backups. On site, off site, and so on.
This could also be caused by you completing the project on your own, rather than collecting requirements from stakeholders and giving the suits a budget to approve. If you had handed in a budget saying "For a demonstration it is sufficient to use this retired machine, and I need about 4-8 hours to install and test the features specified in table 1 below". By not giving the suits a document like that, you become an unknown variable in their economy equations, which is a very risky thing to have. If they, when you present that document, express concern that your system does not cost $500,000, then you can refer to your budget stating that this is just a testing system, and that you wish to add beta testers until it starts having performance problems, at which time you know how much performance is actually needed. Then you can get back to them with information about what that hardware would cost (in terms of $ and hours of work).
Once you learn how to please the suits, you can spend a lot more time digging into fun hardware and software problems :)
We had a PDP-11/44 in high school, so I became comfortable with the CLI and took programming classes so I learned the edit/compile/debug cycle. In 1985, I got a Macintosh, which effectively ended my programming (since the early macs didn't have a compiler, and you needed to learn all about intimidating window handles, event loops, and callback procedures to write even "Hello, World!" onthe MacOS.)
I was simply and end-user until 1996, when my friend gave me an account on his Linux machine, and told me how to start emacs and run gcc and gdb. I took a C programming certificate course and did all my programming for the classes on the Linux machine. I then got testing internship at WRQ working on Reflection, a terminal-emulator for Windows. When my internship was up, I applied for every full time programming job available at the company at the time, and got the crappiest one, writing the installer for a new product called VHI. Here's where the multi-platform part comes in. VHI has multiple components, and while some of them run only on Windows, most run on several flavors of UNIX. So while I was writing an InstallShield installer for the Windows version (the task that no one else wanted), I was also writing shell script installers for the UNIXes (this was before InstallAnywhere was mature). So I had to set up my own Linux machine, and be able to return it to a sane state after my unfinished product installer (running as root) had messed it up, to develop and test the UNIX installer. My experience on my friend's Linux machine was helpful here. I would never have gotten the job if Linux expertise had been a job requirement, but the primary job requirement was software installation, and I've never met anyone who willingly admits to expertise in that field, so they were willing to let me learn it. While learning that, I also learned more about Linux.
Not when you are using old cast off machine of unknown reliability and you whipped it up quickly to get running and didn't factor in clustering/failover (which back in the Slackware 6 days you wouldn't have been able to do without some serious hacking/coding). Nowadays it's a lot easier with software like gluster/etc. But back in Slackware 6 days we didn't have anything like that.
I hacked in Linux since I was in High School and got lucky enough to have a chance to take some time off to go to a boot camp for Red Hat. It was easy and fun and turned out to be really challenging for a lot of people that I then interviewed for. I eventually found a company that (is) interested in using Linux as a router to do some traditional and not so traditional things for their customers. The downside is that I've been the only one with real linux Knowledge for about a year. Last week we hired two contractors and we're building out the stressful solution to OpenWRT. The thing that is fun and annoying at the same time is I'm constantly fixing things for the contractors within Linux. Since I've started this job I work 12 hour days and most of my weekends and I can report at least for myself the one completely true fact, Linux has and insane set of tools at its disposal. There are networking utilities in Linux that seriously rival solutions Cisco can put together, the problem is not a lot of people have gone through the effort to tie it all together. Who knows, but if you want to get into Linux in a good way, don't go to a traditional data center, you'll be stuck working at "the standard" and wont get much freedom to try the really crazy stuff. Work your ass off to know everything you can about it and find a company that is interested in getting their feet wet. That is how you'll really get the big rewards out of it. And when someone says "that can't be done" remember, its probably because they just haven't figured out how linux/BSD/Unix CAN do it.
Good leaders run toward problems, bad leaders hide from them.
I was a paid Netware/Windows pro., and I found Linux better suited for my customers needs since 1999.
I built a knowledge of platform-neutral C++. (What is and what isn’t possible in pure standard C++ library + Boost; when and when not to use platform-specific data types (DWORD, LPCTSTR etc.); what is standard C++ and what are Microsoft non-standard extensions to avoid.) Literature: Herb Sutter (+Jim Hyslop), Scott Meyers, Andrei Alexandrescu.
I also learned the Unix Way and applied it on Windows. (Didn’t go as far as installing Cygwin and Emacs; but Unxutils, ActivePerl, msysgit and select packages from GnuWin32 were part of my typical Windows install for a few years. Also, FAR Manager is a nice console-based Norton Commander clone that really shines when extended with Unix-like tools.) Literature: Eric Raymond.
And I migrated to fulltime Ubuntu (with a fallback dual-boot Windows installation, almost never used) on my home computers. Learned to set up an Ubuntu-server-based home router (with an iptables firewall, DHCP and DNS), a web server, an ftp server, a few Git repositories, and a VPN server to connect to home from my Windows-based job PC (not OpenVPN, mind you, but real IPsec compatible with the out-of-the-box Windows VPN client). This made me learn how services are installed, configured and controlled on Debian, which files go where, how to avoid building software from sources etc.
Then I came to an interview, demonstrated my C++ skills and said that, despite my ten-year Windows experience, I want to work in the *nix team and to learn new (and undeservedly forgotten old) languages. Was hired pretty quickly and with a competitive salary.
I didn't.
Before anyone assumes this is flamebait: I don't diss Linux. I'm just no professional in this.
Well, I might have a way, but it only works on a semi spherical planet in a vacuum.
You should have invited them to spend whatever they wanted on the Sun equipment, and then installed Lye-nux on them, including the retired machines. Since money was no object, you could have bought a Red Hat distro - IIRC, that was one of the first distros to be available for the Sparc (aside from Caldera).
You probably don't. The version 4 was followed by 7.
I started when I went to Uni in the 80s (Physics and Astrophysics) and started using the UNIX system there. I had learnt programming at home before I went and while I was there picked up Pascal, Fortran and C. From there it was ...
- Learning ARM assembler on my Acorn A3000 and then Acorn RiscPC. :-) If you use a satellite system in the US there's about a 50% possibility you use my code)
- Building a PC in the early 90s and putting a very early Slackware on it.
- Working in academia where I developed on Solaris and IRIX.
- Putting together a Linux distribution for ARM on Acorn machines (1998).
- Writing Linux kernel drivers.
- Getting a job developing software for set top boxes.
- Developing linux STBs all around the world [I have code that helps zombify about 100 million homes world wide
- Developing various embedded Linux products.
- Developing client server systems based around Linux.
- Developing PHP extensions.
I would say learn linux by doing. Also learn other systems. Learn about the differences between BSD, Linux, and so on. Learn about portability. Experience, experience, experience.
Well I started with one of those shiny home computers in the 1980's then I moved to a DOS machine. After a while, I wanted to use a multitasking OS. I tried Windows 3 for that. It sucked. It was like a TSR (Terminate and Stay Resident) task switcher, which I was able to write in Pascal on my own. In 1992 I bought a new computer at my visit to Canada. That machine had OS/2 on board and for the first time I had a really nice GUI and was able to run multiple DOS programs at once. Starting to go to university in 1993 I saw those fabulous DEC Ultrix and DEC OS/F machines. They had real operation systems on them. They got rid of those drive A: B: C: shit. And then there was this Linux thing suddenly on the computer science FTP server. So at night we formatted discs with DEC OS/F and put those Linux packages on them. Then we checked the discs and went home to install it. Doing all via modem would have been too expensive. Online time had to be payed (no flat rates in the Germany of 1994ff). So yes we started to use Linux almost from scratch. The first thing after installation was to compile the kernel (something I didn't do now for years) so that it fit my machine. On a 486 that took over night. And then again all the day until everything worked. And sometimes the discs didn't work so I had to go back and forth with other discs.
1998 we founded or participated in the founding of an Internet company, which provided dial-in services, web-sites etc. (you now like the company in User Friendly). And the servers run on Linux. So we learned a lot about firewalls (old and new), routing, web-servers, saw the rise of PHP, XML and then Java. And then we went bankrupt and I got back to university. CS labs at the university had switched from DECs machines to PCs and FreeBSD (because all the students have Linux at home, but no FreeBSD and therefor are not that good in finding holes in the system). In our project labs we used Linux again. The thing is, when you know one Unix you are quite comfortable on the other. It is not the same with Windows.
My company bought 3 Linux powered boxes for a specific task. Being Nix-curious (had run RH at as my home setup several years earlier) I found I was able to look after the system and needed to, as our IT dept's interest ended at email and documents - and only if it had Microsoft as part of the name. We now choose 'Nix where possible because we can support it better. In 10 years the 'Nix area has grown to about 80 boxes dealing with big (TB) media files. We now move and process more data in a day than the rest of the company IT does in weeks.
I am a Linux sysadmin and principal of an awesome start-up that loves Linux and runs lots of it.
How I got here:
I took a keen interest in Linux in 1999-2000 and started building my own labs at home and reading Linux and Unix books. I also took a Unix course at my local community college (they didn't have any Linux courses then). Perhaps most important of all, I started bringing Linux to work as much as possible. I have pretty much always worked in IT. Early in my career, I worked in shops that were primarily Windows and Novell shops but I always had a Linux system under my desk running on an older spare machine. Whenever possible, I'd deploy or suggest Linux and open source solutions. Vitally, when recommending anything, I always searched for optimum ways to address to business needs, rather than bringing a solution in search of a problem (Linux makes this easy since because of it's quality, versatility, and price).
Eventually, I became an IT manager and sysadmin at a relatively small organization (~150 employees) that gave me a great deal of freedom in choosing technology platforms/solutions and how to deploy them, particularly on the server and network end of things. They were also very budget conscious. This trust and freedom allowed me to deploy Linux pretty much everywhere -- web servers, back-up, file servers, some desktops, and more. So at this point, I was administering Linux as a core part of my job.
Next, I moved to another city that is fairly big in tech (Vancouver, BC) where I was hired as a sysadmin in the managed services division at a large web site development and digital marketing firm. It was fantastic -- we built and managed lots of high-traffic web infrastructure. After that, I joined a small dot-com as their IT manager and senior sysadmin for a couple years. I left there late last year to start IONICA.
So I learned by immersion -- I lived Linux at work and at home. I basically turned my "non-Linux" jobs into Linux jobs and went from there.
Some more tips:
From the beginning, I read a lot -- web sites and magazines, but books were most helpful. They discussed and taught me concepts, commands, applications, and techniques I wasn't running into in my own labs and were instrumental in building a comprehensive foundational body of knowledge for future interviews and issues on the job. I read many man pages too -- I still do. This might sound boring but it can often be very interesting and, like books, man pages can teach you things you might not otherwise come across but can help make you a better pro and make your life easier.
It's really important to know your city. Find out what industries there run Linux for core services. Linux is pretty much everywhere these days but there are some industries that have a lot of Linux/Unix infrastructure. Some examples spring to mind -- web development/hosting, software development, finance/banking, science/research (biotech is a good example), film (particularly visual effects houses), government, military. Depending on what the landscape is like in your area, moving to another city might be the best way to get the job you really want.
Certifications are a good idea, especially when you are starting out. They can add to your credibility as you build knowledge and experience. I found that once I became a senior-level professional, employers cared less about certifications and more about experience and achievements.
Network with people. There are probably some good LUGs or meet-ups on meetup.com that cover Linux. Join some of these groups and chat with some people there. Maybe take one out for lunch or a coffee to get the lay of the land in your area. They might also be able to help with job leads or with finding a mentor.
Speaking of mentors, that would be great. If you can find some people to hang around during (best) or after work for a few hours to learn or lend a hand, that should provide a nice boost to your Linux education
Stay cool. Good news: You're half way there.
The FOSS/*nix crowd can be a pesky bunch and appear quite hermetic at times, but don't get your knickers all in a knot. If you're willing to learn and do a little homework, you'll get there soon.
First of all: You should stop the distro-hopping at once! (And, btw., don't be ashamed, we've all been there.) With the pro-admin crowd there is but one distro you should use as your main one and that is Debian. For the simple fact that its package management is the best in the entire IT industry and has been for like 15 years. Everything you see in all OSes on the entire planet in terms of software package and update management is a sad-and-sorry rippoff of APT at best. Hence Debian Stable x86 Linux as main Linux Admin Workhorse (TM) and nothing else. It's that simple.
So in a Nuthsell: *EVERYTHING* you do in *nix from here on out you do in Debian. If somewhere down the road you run into CentOS, RedHat, Solaris or SuSE or something, it will be a walk in the park for you. Aside from package management that is.
Second: Getting to know *nix is like getting to know personal computers. If you don't learn the keyboard keys, the clipboard, what the focus is and a few other basics in your very first hour sitting in front of it you will be going through hell for the next 20 years whenever you use a PC. Just look at some hapless secretary using a PC to see what I mean. It's a sad sight. Don't be that guy on *nix.
Here's what you need to know and understand inside out:
- Unix/Linux Daemons. It has to be a piece of cake for you to setup any piece of software as a daemon on Debian. Pratice that.
- Get a book - like sams "Learning C for Linux in 24 Days" or something and learn the basics of C for Linux coding and Standard In/Standard Out and other OS/binary tie-ins on Debian.
- Learn Versioning and use it. Git and nothing else. Version all your shit, including daemon setups, scripts and documentation. If you claim to be a *nix amin pro and don't version your stuff, we all will show up at your door one day, with pitchforks and burning torches and we will lynch you in the most painfull way possible. And then you will burn in hell for all eternity. That's a promise. Fucking version you shit and learn to handle and repair Git setups/trees. If you're forced to maintain some other versioning systems later on in your job, it will be painfull, but at least you'll know what you're doing. Also learn to teach versioning to happles web-dev wannabees, artists and designers in a way that doesn't scare them. Remember: You are there for them, not the other way around!!
- Learn and use one scripting language. Since you aim to be a Linux admin I'm afraid that PL will be Perl. You should be able to look at a Perl script without getting a heart-attack. Get Learning Perl and the Perl Cookbook from Oreilly and start toying around. You do want to learn another PL besides Perl though. I suggest Python, simply because it's not such a PITA as Perl. But Perl is very "Unixy" in a bizar fun sort of way, and admins have to be at least halfway proficient in it, so get used to it. ... Be warned though: You will start growing a beard, getting a little smelly and your feel for fashion and social skills will degrade rapidly. :-)
- Use the CLI and only the CLI. Learn one of the two 'big' CLI editors by heart, Emacs or VI. I personally prefer Emacs, but VI is installed on everything that runs on electricity, so whereever you are, you will allway find it installed. I'd bet money that there actually is a VI somewhere on the iPhone (iOS) and somewhere on Android aswell. One of these to editors is going to be your main tool until you die, so get used to it. These tools where built before such things as CUAS, OS-wide clipboars and fat-clients/workstations, so get used to the fact that their handling is bizar beyond imagination. You actually have to actively pratice copy/paste on Emacs to be able to use it, for instance. Start us
We suffer more in our imagination than in reality. - Seneca
You missed out on that one! You had a golden opportunity to a) get some new equipment, and b) get some time to do all those niggling little things that manager's demands won't let you attend to.
What I think I would have done is written a 2 page report detailing a strict (but already known) set of success criteria and how it would take 5-6 months to implement and test Lye-nux. Maybe 2 months at best if I pull out all the stops and they don't interrupt me with stupid problems. Meanwhile, I can devote time to really improving the system and then present them with a report showing improved performance from a project that a) came in under budget, b) came in under cost, c) exceeded all targets. Suddenly I'm the golden boy and everyone is happy.
At least until one of the managers finally figures out that it was a quick job but of course they pass success upwards so their bonuses depend on you doing well. My guess is they'd stay quiet.
bang goes my karma... again...
Same here. Moving through most of the classic Unix line starting in the mid 1970-ies, then happily using SunOS, HP-UX, Irix, Sinix, ConvexOS, Domain/OS... in the mid to late Eighties (throw in some non-Unix OS like BS2000 as well but I was not proficient in that); and then moved to Jolitz' 386BSD, then FreeBSD, and still with FreeBSD today. Of course I used Linux too from an early stage, but when it comes to professional career, I'm still a mostly BSD guy.
cpghost at Cordula's Web.
RHCE, LPIC certification part, I they'll help you build foundation and then go for RHCSS or RHCA.
I came into my first *nix sysadmin job, barely knowing Unix or Linux, fresh out of college. I'd done two co-ops while in college, one as a first/second level helpdesk grunt, dealing with Windows 98 (this was the XP age) and Novell Groupwise, the second with a large Pharma company, building Windows servers for an upgrade from NT and Server 2000 to Server 2003. I totally knew that the only thing I wanted to do was work with Windows. I didn't want any of that crap that was Soleris or ...something Hat. Then, I graduated, and really needed a job. The only hit that I got was a sysadmin role for a large defense subcontractor, working on tactical baseline machines (stuff that goes on ships). Most of it was Solaris 8 or HP-UX, but there was some Solaris 9, and a very small spattering of Red Hat. That was 2005.
I did that for a year, learned all I could learn about FTP, networking, every odd configuration of Unix you could imagine (single board computers booting off other systems, closely coupled SMPs), as well as the standard fare of file servers for our Research Development Test & Engineering network. Since the tactical systems were set up to be very weird, there were a lot of wrinkles to learn, and it took a good six months for me to wrap my head around the whole thing. Once I was comfortable there, I took a role as a sysadmin on our local engineering team, which provided Solaris services to a group of 7k engineers. I picked up the application support, SAN/NAS, clustering, high availability, and diskless booting stuff, and along the way, was told to start administering two labs, one of which was a Red Hat lab, the other was SGI (I shit you not), Red Hat, Windows, and Debian. I spent as much time as I could in those labs, tearing into the machines, and figuring out all the little nuances of the different distributions.
Now, for the big change - engineering. I knew that I didn't just want to be a sysadmin forever, so I took a new role doing OE productization, which, essentially, was a 50-50 split between sysadmin work and engineering work. On the sysadmin side, I was taking Red Hat's stock delivery, rolling in sets of changes that we called 'deltas' to customize the system, installing a real-time kernel, tuning the kernel, developing the security posture, installing patches, supporting users, etc. On the engineering side, I was working with our architecture team to develop the system as a whole; what storage devices would we use, how would we boot the clients (diskless - xCat/Warewulf), what file system would we use on our SAN, how would we allocate the SAN. It was really this role where I became a Linux ninja, though I still can't script for my life. Everyone says that you need to know a language, but really, you just need to know the concepts. If I need to develop a script to do something, say, push out user accounts to a large number of systems, including diskless kernels that have no state, I can find enough information online, or in a book, and slog through it.
I've been out of the sysadmin game for 18 months, as I took a job last year, designing large web/app/database systems for our corporate data hosting services department, and I'm really doing 100% engineering now, but a HUGE part of my job is having the Unix and Linux experience. If I didn't, I wouldn't be able to be as effective as I am, and I'd constantly be asking people random stuff, like..."How big should /boot be?"
So, my advice for you would be to speak with a sysadmin team lead, and see if they have any opportunities, even if it's just 10 hours a week that you can cross-train, on your own time. You're not going to get all the skills you need if you're just messing with systems on your own, you need to work with an operational system to see what REALLY breaks, and how you fix it. Develop a transitional plan with them, where you'll work into the role in six months, and if that doesn't pan out, you've now got the experience, and you can start shopping your resume. Depending on how old you are, you might need to start in a novice role, which might not work for you, salary-wise.
Learn everything you can about Linux. Install Gentoo. Get some type of degree in IT or a related field. Get to the point that you can manage a web / database server in your sleep. Learn to use scripting as an automation tool. Post examples of your work online. This is the easy part.
Now, ignore all fantasies about making a living wage and apply for positions at startups, small businesses, family businesses etc and ask for like $25k / year. If they don't already use Linux, tell them all the cool stuff you can do for them without needing a budget. You'll get hired no sweat because you just undercut all other skilled applicants.
Slave away for a few years and eat raman noodles all day long. Add as many skills to your resume as possible. Apply for bigger and better jobs as they come up. Stay at your last "small" business for several more years to show stability.
Trickle your resume out to the "big" guys. Ask for a real salary. Take your time and pay attention to things that seemed unimportant when you were starting out like health insurance and time spent on call. Get lucky and get hired. Do not take out any loans or buy a house.
Realize that IT actually kind of sucks. Get tired of being the middle man between local employees or customers and blabbering corporate sales jockies. Get headaches from staring at a screen all day. Get carpel tunnel. Despise the fact that nobody outside of IT is capable of understanding the depth of the work you do, and so will always view you as difficult and lazy. Watch other employees make larger and larger sums of money while you're still stuck at what you thought was 'real' a few years ago because IT is always behind the scenes....until something breaks. Then, when it breaks, it's your fault and everyone's lack of planning becomes your emergency. Work 60 hour weeks. Skip your time off. Work holidays and midnights.
Finally get fed up with the whole shebang and use your meager savings to buy a few acres of land. Learn to grow vegetables and mushrooms. Rely on your previously learned skills with small business to start a CSA and sell organic produce to your subscribers and at local farmer's markets. Keep goats and chickens. Produce 90% of the food you eat and use the CSA profits to improve your farm and hire a helper or two. Feel the sun on your shoulders every morning and use your own two hands to literally build the foundation of a simpler life for yourself and your family to enjoy.
Well it worked for me anyway :)
Over the past five years, I've developed an affection for Linux, and use it every day as a freelance IT consultant.
If this is the case, what then more do you believe you need to do to be a "linux professional?"
anyone in a paid IT position who uses or administers Linux systems on a daily basis
You seem to have already met the requirement that you set.
Learned C and UNIX programming on Xenix, circa 1984-1985. Those systems ran for years on commodity hardware! Used Solaris (and Emacs) for a few years in the early 1990's. Saw Linux for the first time in the fall of 1993 (0.99pl13), loaded it, and never looked back.
I became a Linux professional, not by choice, but by chance. You'll understand why I'm posting as an Anonymous Coward shortly..
I was in charge of writing the security lockdown scripts for Windows systems and software which we were developing in-house. A separate employee was responsible for writing the Linux lockdown scripts.
Everything was smooth sailing until our Linux guru got bored one day, and decided to challenge himself by:
1) Hacking our border router and internet filter
2) Performing an SSH tunnel to a remote system
3) Visiting some of the most disturbing porn sites we've ever heard of...stuff that I'm pretty sure would even make some of the 4chan folks terrified.
If this was on a corporate network, he probably would have never been noticed. However, Federal Government network administrators watch their networks like hawks, and when they discovered this activity, needless to say he was rather quickly escorted out the door.
Then management realized the wonderful cost savings of only having one security lockdown script writer. So guess whose workload suddenly doubled? Yup, me.
I had used Linux in the past for my own research and education - and it's a good thing too. We had the next release of our lockdown script due in a month, and all of the updated code had to be rewritten, because our previous Linux guru kept all his code on his own hard disk...which happened to be under lock and key as evidence in case his dismissal ever went to trial.
So yea, that's how I became a Linux professional. Because someone got bored and started looking at porn.
on the other hand,back then it would not have not supported new hardware, unlink now where distro's like ubuntu don't support old hardware.
My company had a need for a file server. I was the most technically knowledgeable in the company, so the task fell on me. It was being done on a zero budget using a spare computer, so I chose Linux. The rest you can guess from there.
I used to get high on life, but I developed a tolerance. Now I need something stronger.
Didn't read even the summary, but here goes: started out as a used computer salesman in high school, built my own 486 to run OS/2, got to college and found out I needed to know Linux to do help desk, learned Linux for that and classes, became help desk monkey, applied for systems programmer job, mentored under UNIX/Mac guru, took his job over when he graduated, then I graduated, then I worked for a startup working on RTLinux (http://fsmlabs.com), then the crash happened, then I tried (and failed) to freelance (including a stint with some accounting programming under AIX), then I got hired by the DoD, and that's where I am today. Unfortunately, I don't always get to work with Linux anymore (I still miss my job at FSM, but that's also because we didn't have an office, so we worked from home; even working to midnight is fun, if the code is fun and you can do it on your couch). I've never really gotten the hang of contributing to open source projects, something I *really* need to do, because if there is anything that being involved in this industry has taught me, it's that you get paid for what you are good at, and you get good at something by doing it. Unfortunately, I get distracted easily (probably why I never went on to get my grad degree or start my own company), and I hate working with Microsoft or Apple products (besides the fact that they are crap technically, there's the principle of the thing too), but you do what you need to get the bills paid.
Another thing I can recommend is going to conferences; I'm headed to Linux Plumbers Conference again because I found it so . . . invigorating? Inspirational? Heartening? In any case, it was nice to see that the Linux community is alive and kicking, and meet so many interesting people. It gives me hope that one day I may again get to hack on open source for a living. Preferably from my couch ;)
Nathan's blog
So I mostly was developing on SGI computers way back when; as they were fading out and the company asked me for more and more tools for multiple platforms, I said web front ends would be the easiest because everyone has a browser. So they let me build my own web servers and develop on them.... I chose Linux.
Stupid sexy Flanders.
I started using Linux in high school with Slackware 3.0, and continued on using it as a desktop through college. After graduating during a recession with a degree in computer engineering, I couldn't find anybody willing to hire somebody with 0 experience. I ended up working as an office assitant doing mostly data entry for about a year at a local government office. Eventually there was a job opening for somebody who knows Linux in the IT department. Being in the government sector, they were rather prejudiced towards government employees, paid crap, and had a 15 page application that took a couple hours to fill out. I was also able to see who the hiring manager was, so I would stop by and bug him whenever I had documents to deliver to the office where IT was based. Eventually, about 6 or 7 months after I first applied I got the job. Fortunately for me, there was nobody who really knew enterprise Linux working there, so I was able to get in.
On another path were a couple more guys in IT who ended up becoming Linux admins. One started out in desktop support and another started out on the helpdesk. The guy in desktop support worked in the same office as the (two) Linux admins, so we got to know him pretty well. He had used Linux a lot at home, ran it on his desktop at work, but mostly he was smart and capable of learning new things well as needed. 100 servers later and during a re-org, the powers that be were finally convinced that we needed another Linux admin, so we volunteered that guy. The helpdesk guy was another similar story. He worked far removed from us in the call center, but we still talked to them when calls came in and would stop by and visit every once inawhile. He would call from time to time just with his own questions about Linux, and would usually not ask the same question twice. When he did forward on a helpdesk call, he was one of the few people working there who did the basic troubleshooting they were supposed to do like pinging servers, checking credentials, user account lockouts, etc. If we got a ticket from him, then it was usually because something was really wrong or he didn't have the access rights needed for the fix. When one of the (now three) admins left, we told our boss that we wanted that guy to work with us.
So, you can bug the hiring manager so that he recognizes you and be one of the only people working someplace who can spell linux, or you can get a crap IT job, get to know the *nix admins well, ask them the right questions, and have a track record of knowing how to think logically and do some complex problem solving.
I don't like it. Because I fall under it and would definitely not consider myself a Linux professional.
But I suspect that a lot of folks got into Linux the way I did. Back in the early 90s I attached my dial-up modem to a slackware box and used ipchains to turn an old 486 into a router to provide net access to my home LAN.
And at first i really hated it, my win 2000 was soooo much more awesome.
So i switched back within like 1 week.
One year later i was bored and wanted to give it another try.
That was like 10 Years ago and now all my machines run either apt or portage based distros.
Started using linux back in 95 because it was able to do some cool networking stuff that windows couldn't do (don't remember what that was any more). Used it for about a year until i got a new computer that had a win modem. Used it off and on for a few years after that. Got a job as a windows/novell sysadmin. Talked my bosses into letting me replace our broken sonic wall router with a linux based one. Started going into a linux help channel on irc and helping other people. Someone I helped came back a few months later asking if I wanted a job working from home on their linux based network. Eventually took their three shared hosted linux servers into a large, high availability network using nothing but linux devices (and a couple switches). Decided I had conquered linux and moved into software development which is what I had really been interested in all along.
Don't just focus on Linux. Don't get me wrong, Linux is good to know. Also, check out other *NIX systems like BSD or Solaris. A lot of your skills will transcend across all the *NIX's. Yes, each has their own nuances but knowing them and showing you know them can get you far.
Employers for IT jobs want someone who can hit a command prompt and go regardless of the Operating System they are using (yes, including Windows).
The sad fact is there are far too many unskilled IT workers who only know Windows and if the fix for something isn't in the GUI then they are finished. Why is this important? Because you can use that to your advantage -- LEARN WINDOWS. Shine at it... outshine these unskilled IT workers. And, as an added bonus to the employer you also can handle yourself on Linux, BSD, Solaris, OS X, etc.
Finally, as icing on the cake (for sysadmin type jobs), learn to script! Show you can script. Learn different scripting languages. Prove you can "glue" processes and systems together using scripts.
For dev jobs, know some portable languages (to pull in your Linux skills) but learn dot NET as well. C# won't hurt. VB should be a piece of cake to learn after that.
Certs won't hurt but they may not be as helpful as you might hope. They will help to offset a lack of education to employers. However, nothing beats having your feet on the ground for many years prior (experience).
I manily learned all my linux stuff on my own. I learned Perl, C, C++, html, shell all on my own as well. I started with slackware in 1998 when my friend in the computer field suggested it to me. Got a job in the computer field in 99 and have been working in it since. Up until now, most of the jobs were under 2 years in length so I actually got to see a lot of different setups. So I got a broad range of experience. Some of the companies are OSDN, Akamai, UMass, and MIT. I've been at my current job for 6 years now and still like it.
I have a Computer Science degree and worked as a user on SGI/IRIX and VAX/VMS systems as my job. The job was developing real-time application software for training and engineering level flight simulators for the US Navy's avionics integration flight simulation facility. This lead to several other jobs in real-time graphics using SGI systems.
I had heard about all of this Linux stuff and I paid for a Slackware distribution in 1998; I built, and installed it on some old hardware to see what it was all about.
From there, I set up my own file & web server to do home coding projects... built a dual boot system between MS/Windows 95/98 and Red Hat 4 (pre RHEL-Fedora split). I then abandoned the MS portion altogether (c. 2000) and had my primary workstation as Red Hat 8 (pre RHEL-Fedora split) for a while. On both my workstation and web server I made a lot of system configuration changes, securing the system against potential intrusions, read up on security guidelines, talked to several folks I knew who were doing *nix admin. Started looking at setting up IPCop and doing intrusion detection & prevention.
When I lost my last hard-core real-time graphics development gig on SGI & RHEL systems with X/Windows & OpenGL, I was hired as a Chief Scientist of a group doing intrusion detection/prevention, linux & solaris security, and sometime, generating guidelines for security standards. Frighteningly, this was based on my home experimentation, systems, and explorations. This rolled me into system & network security more. Which then rolled into more RHEL system admin, system & network security, and security accreditation.
Now, at home, I run a mix of OpenSuSE, Fedora, RHEL, IPCop, and have started playing w/ Ubuntu on older hardware.
I just stayed at the university and they started to look at me as a pice of inventory. I live good of their "welfare". Convenient, slacky, free hardware, cheap housing and I have zero performance pressure... life as a Linux professional is good! :-)
ok perhaps that's not what you wanted to hear. So after working on unix for 10 years when LInux came out it was a no brainier to use that. It took my employer a while to get a brain, but I persisted. Moving my desktop from an x-terminal to Linux was great.
I am not a sysadmin, I am a programer, but when you are the only one that can get the admin work done right, you have to do that as well. Did I say I worked for the army for 30 years, sad place most of the time.
Certification did happen, but the driving force for that was all the non-trained windows admins that needed to be cleared out, and upper management was obligated to lump all admin into one pile. So they payed for the classes and I passed the silly test.
As for the catch-22, my mother would say volunteer, find a unix users group that's is setting up a Linux lab and get a letter that tells of your experience. I guess Certification is a viable path. But in your case it seems you have the experience, just go back and get letters of appreciation from some of the jobs you have done. You can write the letter just have then sign them. I think the point is to show an employer you can problem solve and grow with the job.
If you really want to work on Linux you need to work for an ISP or possibly a bank. Anywhere that does a lot of custom computer systems will also use Open Source but not to the extent that an ISP or other service organization would.
Since I've moved into the business world I can say it's not hard to put Linux and Unix (Open BSD) in places across the network. You will still need the occasional AS/400 / Solaris / Windows / Oracle / HPUX whatever to also run. Expect to integrate Open Source and Windows networks on a regular basis but it's not bad work. But don't expect to find many jobs that are pure Open Source.
PS - With the movement of MS Office 2013 to natively support ODF 1.2 and fully support Microsoft XML you will find a lot more opportunity to integrate Open Source into existing systems.
Once you are trying to use Linux, you may find you need to study some manuals or books.
Of course, it helps if you have a credible background as a Unix professional.
When they bought Sun, be began migrating to Red Hat.
Sounds cool. Do you have a website? Surely you have a website...
Look at FREEBSD. It's FREE. It will also teach you how to build a POSIX Compliant system and has good DOCS.
Three things:
(1) That kind of talk is not something a genuinely successful person says. They know it doesn't help and it's certainly not constructive.
(2) If your business is really a success, why are you posting as an AC? Give us your handle/website so that we can perform research about you to see if you're bullshitting or not.
(2) Surely a successful businessman such as yourself knows the difference between your and you're.
What a fucktard.
Most people on Slashdot are fucking idiots.
I'm sure you've heard the phrase a thousand times; it's not what you know, it's who you know.
In my opinion, where ever you live, there is a tech community there. If you're not a part of it, you should be.
I got most of the independent contractor work I've ever had because people simply knew my name. I wasn't looking
for work most of the time I got it, but I jumped at the chance for a little extra money whenever it came up. I didn't
realize at the time that I was also developing important business contacts. Suddenly there were small business owners
who I had saved when their credit card servers went down, or some other mishap was costing them lots of money,
and they would tell other people, which would generate more business.
In summary, there are two important kinds of contacts, business professionals, and techs. Often these will overlap.
The freelance work you're doing now is very likely going to eventually get you a much better position, and when it does,
you probably won't see it coming. The challenge will not be finding a real linux job, it will be sifting through all the bad,
dead end ones you will be offered before you find the right one. It can be horrible for your career to get stuck in job where
you are unappreciated, underpaid, and unhappy. Know what you're worth, and good luck!
I'm a Unix/Linux systems administrator for a large investment bank. We use Linux to run our trading applications - Including blackbox (algorithmic trading)
To those out there that think being a Linux expert is installing gentoo or LFS on a system are very much mistaken. - Sure its nice to play around with & get to grips with the internals, but for any mid-size to large company, - especially banks or large IT services companies much of what it teaches you is quite irrelevant. - Most large companies use their own build of the major distros which offer support packages. (ie Redhat)
Here's just a few things installing gentoo/lfs wont teach you which you will be dealing with every day as a sysadmin - particularly in larger companies which is assuming where you might end up:
Politics.
Change management - As a Unix/Linux sysadmin these first two topics are probably 50% of my job
Technical:
Redhat - Arguably the most used distro out there for larger corporations.
Storage management - I mean real storage management. Configuring HBA's, LUNs, logical volumes, attaching to large SAN's
System Resiliency (ie network bonding, mirroring your root disks, using servers designed for high uptime)
Disaster Recovery
Backups (TSM/Netbackup clients)
Clustering
Patch management
Security/Hardening
Scripting
Networking (I spend a surprising amount of time staring at tcpdump captures)
UNIX (If you think you can get away with just learning Linux you can forget a job in a bank in my opinion)
I started as an apprentice. No Degree, no certifications. Now on top money due to a glowing CV and relevant experience. - Work your way there.