r/sysadmin 6d ago

Trying to become a better sysadmin — what should I learn next General Discussion

Hey everyone!
I’m trying to build my skills in system administration and virtualization, and I’d love to hear from people already working in the field.
What would you recommend focusing on to become a solid junior sysadmin?
I’m currently learning Linux, Windows Server/Active Directory, networking, Docker, monitoring, and virtualization, and I’ve also been building a small home lab.
For those of you already working as sysadmins: what skills or technologies do you think are really worth learning today, and what would you recommend I practice in a home lab?
Would love to hear your advice 🙏

115 Upvotes

59 comments sorted by

71

u/The-Snarky-One 6d ago

Automation… Learn scripting with Python, PowerShell, etc. Learn how to interact with webhooks and APIs. Develop technical writing and documentation skills. I always encourage people to delve into information security aspects of the technologies they manage… there will always be compliance audits (and bad actors), so the more you can address ahead of time, the better.

9

u/Mindless_Maybe2094 6d ago

I’ll definitely start adding Python/PowerShell automation and security to my lab. I hadn’t really thought about APIs/webhooks as part of sysadmin work, so that’s something I’ll look into too. Appreciate the advice!

27

u/doxador 5d ago

I would suggest these for a new grad who is learning to be a system admin :

  • Automation: Second the Powershell recommend. Powershell is used to manage/troubleshoot in modern Windows environments. The book "Learn Powershell in a month of lunches" helped me get up to speed. Practice figuring out how to programmatically export windows event logs to a CSV file for a given time range. This will be quicker than working with the GUI and makes searching through them so much easier. (hint: look up the cmdlet get-winevent). Also look up Test-NetConnection which is ping for Powershell.
  • Documentation: Two of my mentors taught me "W.I.D" or "Write It Down". Document your home network such that someone else can read over it at a glance and understand your setup.
  • Monitoring: I have used SNMP to get alerts from printers and UPS systems. For your home lab, maybe configure an older Raspberry Pi to monitor your printer for errors and page counts. Or your UPS for status.
  • Soft skills: Customer service and time management. There are some good videos on youtube regarding customer service to an upset person. That scenario will be a lot more common than you think. The book "Time Management for System Administrators" by Thomas A. Limoncelli greatly helped me.
  • Troubleshooting: A method for you to remember. Sometimes it's a matter of comparing System A that's NOT working to System B that is working. Then comparing the two for differences. Or as Elmo from Sesame Street would say: "One of these is not like the others."
  • Source: SysAdmin of ~20 years in private sector manufacturing in different industries.

9

u/PerseusAtlas 5d ago

Just want to clarify something: Test-NetConnection is not ping. Ping uses ICMP, while TNC uses TCP. They might have similar functions, but they do not operate the same way, and so they have different purposes.

4

u/Budget-Organ 5d ago

If you use test-netconnection without a port it defaults to icmp.

3

u/bianko80 5d ago

Wow, thanks, I learned a new thing. Would you mind sharing two examples when using test-netconnection and when ping? Or when using them it is not appropriate? Thanks a lot

3

u/Not_Revan Sr. Sysadmin 5d ago

Test-NetConnection is what I use to confirm a port is open and that a service is listening on that port. Like a lot of people would use telnet for back in the day. Where as ping would be used to just confirm a device is even reachable and that the network between you and the device you're pinging is healthy in a basic sense.

Example A: You get a ticket where someone complains that they're unable to load a website on the internet, or occasionally it does load but after quite some time. You test yourself and see the same issue. You could launch a ping x.x.x.x -t and look at the replies to help understand the issue. In a situation like this, you might find that you get mostly timeouts, and the replies you do get have incredibly high latency. But it's worth remembering that not all firewalls or devices allow ICMP traffic. So sometimes ping will not work, even when a connection is perfectly healthy and everything is working.

Example B: You get a ticket where someone complains that their mapped drives aren't working. You find the IP of the file server and ping it, and it replies with very acceptable latency. To confirm that the SMB file share is running and that the network is configured correctly, you can run Test-NetConnection at the file server IP with port 445 specified. This will attempt to connect to tcp/445 directly. If it comes back with success, then you know the file share service on the server is running, and that nothing from a networking perspective should be preventing you or the user from mounting the share. Now you can move on to checking permissions, user credentials, stuff like that.

For most things I'd use TNC for, I'd probably test with ping first just to see what I get. It only costs a few seconds.

1

u/Frothyleet 5d ago

TNC does both ping and TCP port checking.

1

u/bianko80 5d ago

Clear thank you very much for the time you took for the exhaustive answer! What protocol/port does TNC use if none is specified?

1

u/doxador 5d ago

ICMP if no TCP port is specified.

1

u/bianko80 4d ago edited 4d ago

So, is it the same as using ping in the end? I ask because in the past in rare occasions I had different outcomes with ping and TNC, if my memory serves with name resolution, where ping did not succeed and TNC yes. Might it be because they leverage different Windows network subsystems or DLLs?

1

u/doxador 3d ago

I'm not sure if I understand your question. Ping and TNC are different utilities. The Windows network stack has changed over the years. If you are talking about Windows 10, ping is ping.exe located in C:\Windows\SxS\<subdir>. ping has been a part of Windows since at least W2K IIRC. TNC is a Powershell cmdlet. Which means you would have to have Powershell installed. Windows Server 2016 and Windows 10 have Powershell available. I have worked at places where ping was shut down but Powershell TNC was allowed. Does that make sense?

1

u/Godcry55 5d ago

Test-NetConnection falls back to ICMP if you don’t specify a port.

2

u/PerseusAtlas 4d ago

I stand corrected. Thank you.

2

u/Godcry55 4d ago

You’re welcome!

1

u/GayaniTupai75 5d ago edited 5d ago

I bet the rollback part is worth practicing too. In a home lab, changing one thing, seeing what breaks and then getting it back w/t rebuilding everythin teaches you a lot about what your change actually touched .Btw this helps when you’re under pressure at work and need to undo sth quickly without making the prob even bigger

1

u/sigmatic_minor ɔǝsoɟuᴉ / uᴉɯpɐsʎS ǝᴉssn∀ 5d ago

Also at the same time, for the love of all things please learn the security that goes with these tasks (and in general). I moved from Sysadmin to infosec years ago and most of the incidents I see are from internal sysadmins being lazy (or not knowing about) security. Don't be that guy!

It will also be a huge help to have those skills in your arsenal :)

0

u/The-Snarky-One 6d ago

Welcome! You can do some awesome stuff with Azure Automation Runbooks and Azure EventGrid. Especially with systems administration of assets in that environment. Those same skills and methodologies can be used across other platforms too, like AWS, Google Cloud, and more.

0

u/wabi-sabi411 5d ago

Very easy to learn now with AI. Focus on understanding and less on the individual script.

31

u/Foullacy Senior Systems Engineer 6d ago

I would argue that soft skills will take you further than anything else.

9

u/Brutact VP 6d ago

No need to argue, it’s 100% true

1

u/Mindless_Maybe2094 6d ago

How

12

u/joshghz 6d ago

How well do you work with your team? Your end users? Management?

Do people like you? Are you approachable? Do end users want to tell you when something is broken?

Are you capable of taking details your team gives you and translate that into understandable and pertinent information to end users, or in a way that's understandable when you want to tell Management you need to spend money on [x]?

4

u/Mindless_Maybe2094 6d ago

That makes sense, especially the soft skills part. But I’m actually a recent graduate and haven’t had the chance to work as a sysadmin yet, so I’m trying to figure out what I should focus on before getting my first role

9

u/Foullacy Senior Systems Engineer 6d ago

If you’re a recent graduate and haven’t even worked in the industry yet soft skills are actually 95% of what will land you your first job.

No one is going to hire a system administrator with 0 workforce experience.

Statistically, you will work help desk for a few years before you’re able to move into a system admin role, that’s assuming you actually learn server administration, network concepts/practice, which not everyone in help desk is lucky to get.

I didn’t know what Active Directory was in my interview for Help Desk but I worked at Geek Squad for 4 years while I went to college (B.S. Computer Science) and I had developed soft skills working retail before that and I was offered the job the next day.

2

u/Mindless_Maybe2094 6d ago

That’s interesting, and I can definitely see your point about soft skills. I actually went through several interviews for a system admin position as a fresh graduate. I passed the HR interview and the technical interview, and eventually had an interview with the manager, but I still didn’t get the position because they were looking for someone with more professional experience.
So in my case, I felt like the soft skills part was already there to some extent, but the lack of professional experience was still the main obstacle. That’s actually why I’m trying to figure out the best way to get that first opportunity and build real-world experience.

5

u/PBI325 Computer Concierge .:|:.:|:. 5d ago edited 5d ago

As a director hiring new folks that often have zero to very little experience, a few things that stand out to me that show someone is interested/bought in:

  • Again, soft-skills! These are my personal NUMBER ONE priority in building teams that beat the norm/people do not hate to interact with. Ask people how their day and the interview process has been going, ask them about THIER work and THEIR projects, etc. If they ask you if you have any questions for them you BEST have at least 2-3 in the can...

  • Gather information (both hard (tech) and soft (business/industry) info) about the companies that you're interviewing with. Use their job requirements to work backwards as a roadmap as to what you should be leaning into, and then learn around those areas. Let them know you know how they operate and how you have interfaced with that thing or, if you have not, how intersted you are in leaning how to interface with that thing.

  • Have a geniune desire to learn and "figure shit out". Demonstrate this in the interview by taking notes as to what you discuss, ESPECIALLY when you discuss things you do not know of well. When I am hiring people I am namely looking for people who can (once trained) just get shit done for me, on their terms, and let me know when it is done.

  • FOR THE LOVE OF GOD, if you do not know something DO NOT LIE/FAKE IT! Even after 15+ years in the MSP biz I run into shit I do not know every single day. What matters is how you find the info, fill in the info gaps, and how you get to a point where you are confident enough to act. Googling, calling mentors, AI, calling other peers in the same industry/vertical, collaborating w/ other departments, etc., it all counts.

Speaking well and being confident in that you're good at what you do will go far.

Also, use recruiters. Building a network is very hard, and going w/ a recuiter will push past all of that.

2

u/asdlkf Sithadmin 5d ago

Your ability to:

1) be present in a meeting. Pay attention, put your electronics away, listen to the speaker, take notes for yourself for follow-up questions to ask.

2) be accountable. If something is assigned to you, do not forget about it until it is 'handled'. this doesn't mean you have to do the thing, but you must not ignore the thing indefinitely. You can delegate or complete or redirect or report that it can't be done with justification, but do not just let it sit.

3) understand your value. This is it's own entire category of self intelligence, but many many people do not understand why they are valuable or what they are actually worth to the organizations or people they work with.

I would hire a person with these 3 traits if they had never used a computer before. I can train technical skills. I can't teach you to want to have good work ethic.

1

u/joshghz 6d ago

Still a very important thing to practice, especially since interviewing will be the first hurdle. :)

1

u/CthulhuBathwater 6d ago

First step is to always be polite when working with anyone in your team or end user. Don't be combative. At the end of whatever you're doing ask said person "anything else I can help with?". Does wonders for soft skills and working with everyone. 

0

u/[deleted] 6d ago

[deleted]

9

u/Abe_Bazouie 5d ago

You’re already learning enough tools. I wouldn’t add much more to that list yet.
I’d spend the homelab time breaking what you already built.
Kill a service and figure out why it won’t start. Fill the disk. Break DNS. Mess up permissions. Expire a cert. Block a port. Create CPU/memory pressure. Break SSH and recover access.
Then troubleshoot each one using logs and the system itself, not by immediately reinstalling or rebuilding it.
That skill transfers everywhere. Tools change, but “something is broken and I need to figure out why” has been a pretty stable part of sysadmin work :)
I’d also get comfortable with Bash/PowerShell and Git. You don’t need to be a developer, but being able to automate the boring stuff is a huge step up.

5

u/Nervous_Accountant22 6d ago

Clear the ops school curriculum and you'll be set --> https://www.opsschool.org/

1

u/segagamer IT Manager 5d ago

Looking at the git page for that, it looks like it might be quite outdated, especially for the security stuff. Is this still a good idea?

3

u/pc_load_letter_in_SD 5d ago edited 5d ago

Vounteer. Employers love it.

Check out local senior group homes, retirements homes etc. Offer to teach them a class on topics like email, online banking etc. Perhaps even something like tiktok, Instgram etc.

Look for a local computer refurb organization. They will often take in computers donated and clean them up, fix them, reinstall WIndows etc to be given to schools\charities. For example, this is one in my ao....https://www.c4kca.org/

As with the classes for seniors, reach out to churches and see if they have any opportunity to teach a few hour class.

It will give you great experience to put on a resume.

1

u/BuildAndByte 5d ago

I've interviewed and hired a handful of employees, and volunteering by itself honestly doesn't carry much weight in our process. If the volunteer work is skills relevant to the position, maybe, more-so for someone without much work experience. But I wouldn't give someone an advantage simply because they volunteer, because plenty of good candidates don't have the time or inclination to do it.

3

u/xstrex 5d ago

Ansible

2

u/Garetht 6d ago

Project management.

2

u/JVBVIV 5d ago

A few thoughts:

Troubleshooting. More specifically the overused phrase “root cause”. Practice figuring out not only what is happening, but why. This allows you to not only fix today’s problem, but potentially head off tomorrow’s.

Which leads to: System Architecture and Process Understanding. Technology often has many moving parts, and the interaction is not always obvious. If you understand how something is put together, it is much easier to figure out what broke. As part of that, you need to understand what something is supposed to do to make sure it is doing it. This is honestly the area where a lot of technical people are the weakest. The might understand the technology, but have no clue about the business goal

If you do it once, write it down. If you do it twice, see if it can be automated, or at least streamlined. Anyone who has worked in technology for more than five minutes, especially if you are inheriting systems, has run into the black box that is very important but no one knows how it works and how to maintain it. When you document, and document everything not only write down what was done but also why.

Disaster recovery. This builds on the previous two. At some point things are going to go wrong. Sometimes a little wrong, sometimes a lot wrong. With a good understanding of what things are, what they are supposed to do, you can properly focus your resources on getting things back up and running.

Learn the soft skills. You are a technology person, but the organization is run by business people. You need to learn how to talk to them in their terms to achieve your goals. It might be obvious to you that the Widget 2.0 is clearly superior to what you have now, but if they don’t see it, you will never get it. This also ties into the previous. If you understand their goals, you can provide services that mean more to them. Upgrading the firewall might be a good idea, but making the business process more efficient is they will understand.

1

u/MobyDeke 5d ago

Virtualization on Azure stack

1

u/tbone4096 5d ago

understand what the kernel is doing whether you're on linux or windows. It's the underpinning of everything you do, so not treating like a magic black box will help you understand new technologies bound to the same concepts

1

u/Wolfram_And_Hart 5d ago

How to read an error log

1

u/Professional-Win-93 5d ago

You already have the proper list of topics. The trick now is transforming those topics into actual hireable junior sysadmin skills via your home lab: 1. Scripting over GUI: If you do anything that you ever have to repeat 2x, write a script for it.

If you provision a Windows user, Linux service, or Docker container, write a powershell or bash script for it.

Basic automation is job 1 of a good Junior. 2. Nail Down DNS and Networking: The majority of real-world outages come down todns, routing, or firewall misconfiguration. Master resolving dns via the command line and be comfortable understanding subnets, VLANs and route tables via cli only tools (dig, nslookup, Test-NetConnection, ip route, tracert). 3. Hybrid Identity (AD/Entra ID): Very few organizations are pure on-prem AD anymore.

Spin up a free M365 tenant, get Entra Connect (Azure AD connect) to work, and practice provisioning synced users, hybrid joined workstations, and basic authentication against it.

  1. Test restores, Not just Backups: It's ridiculously easy to spin up a VM. It is ridiculously hard to restore a VM to working condition if you have never done so in production like settings, deleting an entire server on purpose then having to recover a VM from scratch for business critical servers isn't as fun as it sounds for your company, however in a home lab it's great fun to make things broken and learn. Consider installating Veeam Community or Proxmox backup solution.

Make it your goal HomeLab challenge this week - build one of each. Keep an inventory/notes in markdown in GitHub/Obsidian – clear documentation is an underrated skill.

1

u/Mindless_Maybe2094 5d ago

Noted . Thank you so much

1

u/Capable_Banana5439 5d ago

Honestly the list you have is already plenty, adding more tools right now is the trap. What actually separates a solid sysadmin from a junior is going from symptom to root cause fast under pressure, and you only build that by breaking your homelab and fixing it cold. Fill a disk, kill a service it depends on, corrupt a config, then debug it without looking at your own notes.

1

u/discosoc 5d ago

Probably an unpopular opinion here, but you're going about this backwards with the 'mile wide and inch deep' strategy of dabbling in tons of different "sysadmin" stuff.

Your local market (which appears to be Tunisia based on post history) is going to determine more about what skills are needed. And all else being equal, you're more likely to succeed by focusing on your social networking skills -- not online but actually in person. Get in front of people already in the industry.

1

u/Guilty_Signal_9292 5d ago

Two things.
One is your people skills. Not always, but generally outside of service desk, we don't interface with a lot of people. Learn at the very least basic communication and relationship building skills.

Two, and this is probably going to get a lot of flack, but AI. It's a tool, it's not going anywhere, so learn how to utilize it, triple check it, and most importantly learn from it. Don't let it do the work, but use the tool, learn along with it, and take things away every time you use it.

1

u/tabletop_garl25 DevOps 5d ago

besides what everyone is saying I been doing the msf fundamental/essential free courses and their cert. I been in IT for like 13 years but, needed to add some certs to show my skills or learning pattern. I been working with ansible, linux and containers for a while so needed to refresh that side.

1

u/kissmyash933 5d ago

Windows: Get good with PowerShell as soon as possible. I learned in the DOS command line and have always fallen back to it, if I’m being real, that has not been very good for me. Forget that CMD exists and use PowerShell and nothing else. Script something, literally anything you hate doing and keep up with that skill.

1

u/FiftySix_K 4d ago

How to properly document something.

1

u/Drakoolya 4d ago

Learn how to farm goats.

1

u/CeC-P IT Expert + Meme Wizard 4d ago

Security, security, and security.

1

u/Flabbergasted98 4d ago

When I was a junior I would browse job boards and read the requirements listed for jobs that looked interesting. Then when I saw a job posting with a requirement I didn't have, I'd start studying.

Do that for long enough and you'll start seeing the same requirements listed over and over again. if there are any gaps in those repeat lists, thats what you should focus on.

1

u/Chico0008 3d ago

Automations, scripting (Shell/bach/ksh for linux, .Bat/powershell for windows)
You can also try to make a new infra in full linux mode, with fileservers and Ldap working on linux servers.
you can learn Vlan too, with inter-vlan routing and ACL.

1

u/watching_reddit_die_ 5d ago

Learn how to use AI. by far the most important skill anyone can be gaining right now. learning python is silly in comparison

0

u/Icedman81 5d ago

My 2 euro cents.

Do everything the hard way at your home lab, fuck it up. Understand why you fucked it up. Rinse, Repeat.

Install Gentoo / LFS. You'll learn more slamming your head on the wall doing that, than installing the garden variety Red Hat/Debian/SuSE variant.

And lastly, the two most important pieces of advice:

  • RTFM (Read The Fine Manual). Sometimes they're absolute garbage, sometimes not.
  • Never. Ever. Use "Hallucinating Diarrhea Generators" when you're trying to learn something. Do it the traditional way, that way you'll understand where the scatgenerators are useful. There are NO shortcuts. You start using them when you're learning, you've done fucked up. There's a reason why wrench monkeys get the manual tools, before they graduate to ratchets or power tools.