Here’s something that surprises many people: I actually don’t have a college degree. Before I got into System Administration, I did all kinds of things: I’ve been a soldier, carpet salesman, martial arts teacher, Chinese massage (Tui Na) practitioner, data entry temp, bakery worker, and a few other things.
On the surface, these don’t look like they are related to System Administration, but each of these other attempts at ‘finding the right career’ taught me something valuable that I still use today in System Administration and Development work.
For example, all that ‘unrelated‘ experience has taught me how to
- Stay calm under pressure
- Find practical solutions to problems using limited resources
- Feel sympathy and empathy for people while still making rational decisions
- Deal with aggressive, unhappy, or angry people
- Get management buy-in for new projects and technologies
- Tell someone that their idea won’t work without hurting their feelings or getting into a political nightmare
- Work with a team
- Delegate work to other teams or team members
These are not skills that I had to throw away when I ‘started over’ with System Administration. Quite the opposite — they were skills that increased my value when applying for my first system administration job. The key was to reframe that experience from job-specific language like “led a fireteam” or “successfully closed $xyz in sales” to phrases that sound more like the list above.
People make the mistake of imagining that different jobs are totally unrelated to each other. On its face, this isn’t a stupid idea — washing dishes at a restaurant hardly seems related to writing configuration management scripts or designing a large software system.
However, I frequently see this idea taken to an extreme, where people assume that even different disciplines in IT are totally orthogonal to each other: if they’re a network administrator they imagine years of retraining before they can function as a system engineer; if they’re a system administrator they imagine it will take a decade of practice before they are employable as a software developer.
I have been guilty of making this mistake in the past, undervaluing my own skills and experience. Thankfully, these ideas are simply wrong. In many hiring situations, brand-new sysadmins or developers with a few years of practical experience have an advantage over fresh IT grads. In the real world, practical familiarity with the basics of a wide variety of technologies often trumps the ability to efficiently traverse a binary tree or tell me the difference between TCP’s FIN-WAIT-1 and FIN-WAIT-2 states (http://www.faqs.org/rfcs/rfc793.html).
And it’s not just me.
The Reality of Your First Sysadmin Job
Although you wouldn’t guess from reading tech news, 99.9999% of companies that hire developers and system administrators are not the AmaGooFaceSofts of the world, looking for PhDs to solve the hairiest problems of the computer science world.
Most companies are smaller and less well-known, selling real-world products or services. They have a few hundred Windows machines to administrate along with all the cleverly-acronymed Microsoft services that accompany them. They have 12 Linux servers that their last admin wasn’t giving enough attention to. They are halfway through a virtualization project, and the documentation isn’t up-to-date. They manually deploy their software in an error-prone process that takes several minutes (or hours). They pay a third party $72,000/month to do something which you can set up for $5,000/year including ongoing maintenance costs.
You Are About 6 Months Away From Being Qualified
I don’t care if you have been peeling potatoes for $3/hour for the last 15 years — with a passion for technology and half a year of dedicated learning/project-work, you can build a skillset that enables you to show up at one of these companies and provide many times the value of your junior sysadmin or developer salary. Maybe you can’t run the whole show yourself, and that’s fine — no one expects you to do this in the first few years of your career. But you can create massive amounts of value. That — and communicating it effectively — is all that matters.
Don’t misunderstand me: I’m not suggesting that expert-level skills are possible in a new discipline with just a few months of work. I’m also not suggesting that deep theoretical mastery of a subject is not valuable or sometimes necessary.
What I *am* suggesting is that you can learn the basics of almost any discipline with ~5-6 months of intense effort. And the basics are what you need to get hired at a real company, doing real work.
Paid Work isn’t the Goal of Learning, it’s the Beginning
When you start doing this work in the real world, you will begin to learn at a pace that was impossible at home. That’s when this whole process accelerates and the real magic happens. Your skills grow exponentially faster. Your ability to work with other people on real-world problems improve. You improve your ability to come up with ideas that generate huge amounts of value.
Once you get some work experience and decide that your chosen career really is something that you could do for 40 or 50 years, you can settle in. Attend courses, get certifications, work through textbooks, and catch up on the theory you missed. One of the huge benefits of waiting to do this is that you’ll have practical experience to hang all of this theoretical knowledge on, so it’ll stick (i.e. result in durable learning) much better than when you were a fresh-faced 18-year-old who wasn’t entirely sure that this career was the right one.
Remember to have fun.