In some companies there are designated DevOps engineers while in other places DevOps is more a philosophy that your Developers also understand Operations and vice versa. Here we'll cover subjects that are relevant to this bridging. If you'd like to become a "DevOps" then you'll probably have to be good at least in some of these:
-
Version Control using Git
-
(Version Control using Subversion might be also relevant in some organizations)
-
(Version Control with some proprietary software ??)
-
Using the Linux shell
-
Networking (TCP/IP, DNS, domain names, etc.)
-
Relational Databases (MySQL, PostgreSQL, SQLite)
-
NoSQL Databases (MongoDB, Redis)
-
Test automation (Unit tests, Integration tests etc.)
-
Continuous Integration using Travis-CI and Jenkins
-
Virtual Machines e.g. VirtualBox
-
Automation of Virtual Machines: Vagrant
-
Containers - Docker
-
Logging and Monitoring. On the monitoring page you can find some notes.
-
Configuration Management: Chef, Puppet, Ansible are the most popular tools for this.