Hello,
TL:DR Atmospheric scientist with knowledge of cli, python want change to a SRE job
Let me explain my background, I am M.Sc in atmospheric science with a few publications in the field, during my studies I work most of my time working with cli tools so I am confident with shell and cli tools, pipelines, stdout, stderr, tmux, etc. I worked using numerical model that you need to compile, this teach me tools like makefiles, modules and cronjobs to did it operational. I have experience with python and other scientific languages like R, Matlab. During my free time took some course of docker. Even I set up a Nginx webpage that I leave to die for lack of time or setup a raspberry pi to download “linux isos” using docker.
I really enjoy the automation of process, and help other colleagues to setup and install the environment to work.
I know my lack of networking, monitoring, and I’m not sure if my self taught skills (science standards) are comparable with a CS worker.
I want to learn or get the certification needed to get a SRE job to mid 2024.
Any advice, course or certication to help me to get in the road?
In my opinion, it really depends on what type of place you would want to work. There are a lot of options out there, but (specifically for SRE) “cloud knowledge” is a must most places.
I would consider someone with an SRE title more ops than dev, and wouldn’t expect much in terms of writing code. I would more expect things like advanced knowledge of availablility, reliability, performance and observability on whatever cloud provider is being used. A Site Reliability Engineer is responsible for realiability of the deployed site, so it is dependent on the site/company on what the actual day to day would look like.
This isn’t to say you wouldn’t have a place in DevOps with your current skills. However, it may be an easier route to start more on the dev side than the ops side as, in my experience, ops are harder to learn generically because every shop has different processes and operations.
The dev side includes things like you mentioned (e.g. build/test execution/package/artifact publish/code release) and then mixes heavy into ops during deployment which then turns into SRE type stuff when the app is deployed to a real place. Often the dev side is done by people with Software Engineer type titles (potentially a DevOps team), and may even be done directly by the developers themselves.
A lot of these processes include a developer needing to execute locally as well as repeatable execution by an automated system of some type (CI). Linux and bash knowledge is very useful for these types of things, as most of the time end deployment will be on a Linux distro, although development happens on OSx or Windows.
The industry is already trying to change buzzwords, from DevOps to DevSecOps, so it is never bad to know security as well. Things like security vulnerability detection and remediation are very valuable and part of the “shift left” in terms of software delivery.
You are welcome to read my comment history to see my feelings about python in DevOps, but they are not positive, and should just use bash, unless it is actually a python shop and other people know how to use python, or else it will most likely become a security vulnerability in and of itself.
Thank you for a elaborate answer,
Yes, I will invest some time to learn about cloud. I’ll search which one is most used in my area
You are right, I never have a administration role, I’m the link between IT and the researchers so I have soft skills of admin in linux but not have exp do it that.
That’s really good, I’m comfortable using Linux and bash
I will let this like an extra, I need to fulfill other foundation skills, but I’ll keep it in mind
Yes I am in the same boat, python tend to slowdown or cause problems when we want get env with the other people in the group that only work with R, we try to use bash as much as possible. I’m thinking to learn golang to replace python.
With this I can make a better plan to leave the academia and get dev role, for me there’s a lot of information, topics, technologies to learn in one year, maybe I was very optimistic.
I think Go is good to learn. Many vetted open source Go tooIs use Makefiles (e.g. kustomize) which may be a good point of entry for DevOps in Go.