Skip to content

Instantly share code, notes, and snippets.

@1cg
Created November 17, 2023 19:24
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 1cg/3e3ce3a74d9f0d4a1ca339b3ce1d0449 to your computer and use it in GitHub Desktop.
Save 1cg/3e3ce3a74d9f0d4a1ca339b3ce1d0449 to your computer and use it in GitHub Desktop.
Carson's Made Up DevOps Option

Introduction

DevOps (short for "Developer Operations") is a career path for people in computer science that is in very high demand. DevOps has, in most organizations, taken the place of "IT" or "Information Technology".

Historically IT was not a highly regarded part of most organizations, but as companies have become more and more dependent on their infrastructure this has changed. The IT department and, in particular, the automation and management of servers in a cloud or hosted environment has become extremely important. CTOs are now often pulled from the DevOps organization rather than from a pure programming organization, particularly in non-technical companies.

As a career, DevOps has the advantage that almost every large company needs a significant DevOps team. This is in contrast with pure programming, which can be more lucrative (sometimes) but also tends towards the coasts and large cities. For example, if your goal is to stay in the Gallatin Valley, you are far more likely to find a DevOps role (or a mixed DevOps/Dev role) than a pure programming role.

Advantages of CS Major pursing DevOps

The big advantage a CS major has in pursuing DevOps is the "Dev": you know how to program. A lot of DevOps people and culture comes from IT and the sys-admin side of things, where programming is less emphasized. Having a good knowledge of CS concepts will put you in a good position to compete and excel in DevOps.

Recommended Classes

I recommend the following upper division classes to prepare for a DevOps career:

  • CSCI 331 - Web Development
  • CSCI 351 - Systems Administration
  • CSCI 440 - Database Systems
  • CSCI 466 - Networks
  • CSCI 476 - Computer Security

Recommended Certifications

An unfortunate reality is that Universities typically do not have great practical training in Dev Ops. This is because the field is very new and also because it is highly priorietary. The 800 lb gorilla in the industry is AWS, Amazon Web Services.

I therefore recommend that you pursue AWS certification. Here is a link to all the certifications they offer:

https://d1.awsstatic.com/training-and-certification/docs/AWS_certification_paths.pdf

I suggest following one of the certification paths suggested under Operations or DevOps. Cloud Engineer or Cloud DevOps Engineer both look good to me.

As a second technology I recommend getting certified with is Kubernetes:

https://kubernetes.io/training/

Kubernetes is a cloud management platform created by Google that is becoming very popular in more advanced DevOps organizations. It is, in my experience, a bit tough to get your head around, but there are very good salaries to be found if you can master it.

Recommended Skills

I recommend you get deeply familiar with linux/unix, including being:

  • Comfortable working w/ the command line
  • Comfortable with how services are run on linux
  • Comfortable with how to profile/analyze activity on a linux machine
  • Comfortable with remotely working with linux machines

Internships

If you are interested in a DevOps internship, I would look for a large company that is located in a spot you are interested in and I would email them directly asking about a DevOps internship. The field is new enough and small enough that it is unlikely that the normal internship programs will be looking for someone in DevOps, but my sense is that many DevOps shops would love to bring people in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment