I would say that it is a never ending process, there are always new things to learn every day so you need to stay motivated and curious.
I think that the following would be a solid starting point:
I believe that everyone should have some basic programming knowledge. I think that the programming language does not matter that much, you just need to make sure that you are familiar with the basics. You can start with Python, Java, PHP or any other language. My personal favorite is PHP just because I’ve been using it for a while now. Here’s a link to a cool guide that you could go though:
Get some administration experience in Linux. You should strive towards developing a good working knowledge of Linux using both the graphical interface and the command line, covering the major Linux distribution families.
I recommend this free Introduction to Linux course from the The Linux foundation:
The best way to learn is by doing, so don’t forget to deploy a few droplets on DigitalOcean and get your hands dirty!
Learn the basics like the OSI model, clients and servers, protocols, IP addresses, network hubs, switches and cables, routers and firewalls. This would be extremely benefitial for your future career. There are a lot of coureses online, I’ve personally have gone through this one on Udemy.
As a good sysadmin you should know how to read and write BASH scripts in order to automate your daily tasks and speed up your deployment process. I would recommend the Linux Academy website for some good quality courses!
I would also suggest going through the installaton and the configuration of some popular services like Apache, Nginx, MySQL, PostgreSQL, MariaDB, PHP, Django, NodeJS, Exim, Postfix, Redis, Memcache and basically any other that you find treninding on the internet just so that you could get a better feel of the whole installation and setup processes
Play with any monitoring systems that you can find, monitoring is an essential part! I would recommend starting with Nagios as it has been in the industry the longest, also Prometheus is quite popular nowadays.
- The basics of Windows server administration
Soner or later you would be asked to execute some basics tasks on Windows servers so you should at least have some basic understanding and know how to manage windows servers as well. I would recommend going though this free Windows Server Administration Fundamentals on the Microsoft website and I would also suggest playing around with IIS and MSSQL a bit:
Once you’ve mastered the basics of Linux, Networking, Windows, Virtualization and Scripting you should stay motivated and keep learning new things like:
- Virtualization - VMware
- Containers - Docker
- Container Orchestration - Kubernetes
- Public cloud servers
Hope that this helps!