First off, CONGRATULATIONS on the job! You are one of the lucky ones that got a decent job just out of college. This doesn’t happen for everyone. It took me years to get a good full time IT job.
Story time and some words of encouragement, because I have been there, and recently:
Man, I know how you feel, and I think I’ve probably posted this same sort of response at least 5-6 times now to people in your shoes. About 2 years ago I went from being part time home IT guy / pizza delivery guy to full time Systems Administrator for a public library system. I had recently gotten my A+ cert, but as most will tell you, and you probably know, A+ is pretty minimal. It shows that you know how to troubleshoot and fix basic desktops and related peripherals. I had started watching a few videos on AD, Group Policy, DNS, DHCP, etc, but what I had mainly was a very basic “theory” of how they worked, with no actual experience.
So, through blind luck or an act of God (I did actually pray to get this job, and if you asked me when I sent in my resume if I thought I would be getting it, I would have said I had about a 5% chance), I got the systems admin job. Now, I’ve always been a very “learn as you go” and self taught kind of guy. I taught myself how to play guitar, and I am pretty damn good for never having a lesson. Now that I am learning more advanced playing techniques through online videos, I have made leaps and bounds, but still, quite an achievement.
I am going to be 100% honest: The first few months I was in so far over my head… I didn’t even know where to start. I had never used any type of remote desktop. Now it was an every day thing. I had never actually touched a DHCP, DNS, or AD server. I knew, vaguely, what these things did. I knew vaguely that a domain controller “controls the network and makes things run correctly”. I knew what a firewall was (we use pfSense, and the first time I looked at it, it was basically gibberish), but never used a full blown hardware firewall. Virtual Private Network was something that I had heard of, but really had no grasp of.
I did have a great knowledge of how to troubleshoot and fix most computer issues, having done tons of that in my part time business. I was also decent at troubleshooting network issues. Walking into a server room with thousands of wires interconnecting 24 and 48 port switches, multiple servers, and spanning multiple rooms, however, was waaay beyond me. Also, the website was self hosted on an ancient dell poweredge running linux. I had exactly zero experience with Linux. What I knew about Linux could be summed up as: that cool / difficult OS that really nerdy people use for really important servers. Just how the hell did I get this job anyway? And that’s only the hardware end of things. Libraries use tons of customized software, of which I had zero knowledge, and now I am expected to troubleshoot it all. Custom label making, printing, and ILS systems… it was a nightmare.
So, how did I get through? One day at a time man. There were so many mistakes, so many trial and error moments, so many doubts, so many “I don’t know if I can do this” moments, but I got through, and so will you. Now, it turns out that the basic stuff like remoting into a Windows server and managing things like AD, DHCP, DNS, etc, those are all pretty damn easy. Gotta love windows. Honestly, I found everything about our windows server setups to be really intuitive. DNS took some time to understand completely, but I finally have a good grasp of it. Group Policy is another tricky area, but luckily for me the previous IT guy had really good, airtight group policy set up for me.
In the early days I remember having issues like, not being able to map the network share on a new computer. I struggled with that issue for a good 3 days before e-mailing the previous IT guy who told me to try the IP address instead of the share name. Boom, it worked. “That’s an indication that something with DNS is failing” he told me. Greeeeat. Something I know next to nothing about is failing. Other issues followed, and for the most part I was able to do my job pretty well - basic IT troubleshooting stuff was no big deal. But the custom software, and some of the in depth issues took a LONG time to figure out.
What I have learned in 2.5 years of being a systems admin:
- Have faith in yourself. IT may take you longer than someone else to figure it out, but you are probably being paid considerably less than a more experienced person. You WILL figure out the issue.
- Sometimes, IT just sucks. I spent the past 3 months trying to figure out why our website has been crashing intermittently. I knew that our server was old, and I tried about 10 different things trying to create a new server and move out multisite wordpress installation onto it. Did I mention I knew nothing about wordpress or Linux before I started here? And here I am, expected to do pretty advanced stuff with it. So after many trials, and MANY errors, I finally moved our website by doing a physical to virtual conversion on our new esxi host (another technology I knew nothing about before we got a server and I virtualized it earlier this year). After tons and tons of frustration, I finally found the thing that has been causing our site to spike up to use literally the entire CPU of our new server: There was about 640 MB of trash data in our wp_options table in MySQL. Close to 1 Million Transient entries, which are supposed to expire after a given amount of time. They hadn’t been expiring. After running an SQL “Search and delete” command to get rid of these, my database went from 650+ MB down to less than 20 MB. Did I mention, most of those entries were set to autoload, meaning that EVERY page of the website loaded all of those transients automatically on every page of the site? No wonder the site was slow and crashing. This is just one example, but there have been numerous things like this that have happened over the past 2 years. You just can’t know this stuff unless you become an expert at this stuff. And an expert you WILL become.
- Many times, the issue will not be as it seems. I spent so much time troubleshooting the files of the actual site. The .htaccess file, the plugins, the server itself, but it never occured to me that it could be the database causing the issue. I randomly stumbled upon an ancient post suggesting that I take a look at the database and look for any tables that had more than 2 MB size. Bingo, 640 MB table. You’ll never find the problem if you are looking in the wrong place, so just remember to explore ALL possible options.
- Start learning. It hasn’t been easy, but the knowledge I have been “forced” to accumulate in order to effectively do my job over the last 2.5 years has been astonishing. What I learned on the job doesn’t even begin to compare to what I learned in college. When you have down time, do all the research you can on the systems that you need to support. Read manuals, google stuff.
Most IT people get mentored into a position. I was not. I was thrown into the deep end of the pool without a life jacket and basically told “sink or swim”. It sounds like you are in a similar position. I can’t tell you that it will be easy. It will probably take some time for you to adjust and get “good” at what you are doing. Will there be a time in the future where you will be able to solve more than 50% of the issues that face you without doing extensive research and learning? Yes. But it doesn’t happen overnight, and by the time it does happen, you won’t even realize it. Being a one man IT shop for an organization with very diverse and specialized needs has been one of the most difficult, but most rewarding things I have done. When I started, I couldn’t believe how much money I was making (compared to being freelance IT / pizza delivery). Now I know. I earn every damn penny of it through hours upon hours of frustration, research, learning, and stress.
Last thing:
When in doubt, ask Spiceworks. Man, you have no idea how many times they have gotten me through things. Upgrading from 2003 domain controller to 2012, transferring FSMO and all other roles, then demoting / retiring an old server? Spiceworks people pointed me in the right direction. Virtualization? 100% Spiceworks. How to change a server from thick provisioning to thin (because I provisioned our new Windows 2012 server as thick like an idiot because it is the default)? Spiceworks again. The previous IT guy had Spiceworks installed on a server for me, and basically was using it to create his own tickets and document his work. That was an absolute treasure trove of information for me, and I have tried to follow suit. And then I found the Spiceworks community. Honestly, this community is made for guys like us that have been thrown in the deep end.
I wish you the best of luck. Don’t give up. It’s natural to be frustrated. This is part of breaking into a new IT job without any experience. This is the reason why EVERYONE wants someone with experience. And sorry for writing a damn book, but for the moment, everything in my little IT world is working like it should, so I had some time on my hands.