In this first post we’re gonna go through some thoughts on what the loaded term “DevOps” means and how you can become a successful DevOps engineer (and it’s not what most blogs tell you, because they are really awful).
A DevOps engineer is an SysAdmin or a Developer who got interested in infrastructure. In my experience the developers are more successful, because of their dev experience – it’s not a rule but it’s what I’ve seen in my engineering journey so far (and of course there are exceptions).
A successful DevOps should have knowledge of these (main) four related fields:
1.) Linux (cpu, ram, disk, I/O etc)
2.) Networking (tcp/ip, http/https, tcpdump, interfaces etc)
3.) Development (coding in python, ruby, golang, rust etc)
4.) People skills (that’s around 60% of the job)
It’s not using github, gitlab, jenkins, aws, gcloud (even them), or some other tools, they are way misrepresented so that people have something to write about on the internets to get page clicks/views.
You’re main job as a DevOps engineer is to make the dev’s job way easier, structured, fast and shipped on any environment (staging, uat, production).
That’s it!
The biggest thing that will make you or break you is of course your ability to influence how the developers work. It’s a touchy subject, especially for the devs who are know to be stubborn as hell, if you go to far you will lost them, if you go easy on them, they will not respect you. So there’s a fine line that you need to walk to become successful at you job.
And that’s the line that we will be covering on this site.
Of course we will be touching tech and tech courses, and how to do stuff (this is still a tech newsletter), but we’ll always be having our eyes on the prize, which is how to make people (devs, management) and systems more efficient.