GithubHelp home page GithubHelp logo

devops-upgrade's Introduction

The DevOps Engineer Upgrade

This repo is a collection of tutorials and advice on how to become a DevOps Engineer.

Topics:

FAQ

What is a DevOps engineer?

The DevOps Engineers role has a wide range of definitions, due to the very fluid definition of the term and the variety of ways the role is implemented at a individual companies. It can mean anything from a Systems Administrator/Ops type person who is expected to use some automation, to a near full blown Software Engineer who is building automation tools to help the development life cycle. Typically it's something in between those two, with some common tool chains and practices being used by practitioners.

What is Site Reliability Engineering?

Site Reliability Engineering, often referred to as SRE, is a close cousin of the DevOps role, or can be thought of as one framework of execution within the DevOps culture. This term was popularized by Google in the book, Site Reliability Engineering: How Google Runs Production Systems, which is a collection of essays on the topic by Google engineers.

Much like the DevOps Engineer Role, the SRE role can mean different things to different people and companies. It is often closely associated with Platform Engineering, but is generally regarded as a more development heavy role when compared to DevOps, owing to the Google tenant of focusing no more than 50% of an engineers time on operations tasks, while the rest is focused on development.

What skills are required for the role?

DevOps Engineer is typically a more senior role, and therefore requires more experience than your basic Software Engineer or Systems Engineer/Ops type role. Junior DevOps roles often require some prior experience in the IT field. Most people who advance into DevOps Engineer roles have several years experience on either the development or operations side of the fence, and often a bit of both.

There are alot of skills that are useful in the practice of DevOps Engineering, but most of them focus on the deployment and operation of services through the use of software engineering techniques. There is a semi-decent list of skills shared in this DevOps Roadmap (2019). No one is likely to know all these skills, so pick one or two from each area and start incorporating them into your projects and work as it makes sense to do so.

I heard DevOps is a culture movement and not a role. What gives?

Originally, DevOps was a portmanteau of the words development and operations, as a way to break down the silos between Development and Operations. Over time it evolved into a way to describe a culture around looking at service delivery as an end to end system with different teams (Service Owners, Business Analysts, Developers, QA, Operations, Security, etc) working together closely to rapidly deliver change, safely and securely. At its heart, DevOps is a way of thinking about deployment and operations in a more seamless, and toil-free way, that enables the business to succeed in it's IT goals.

In addition, the term has evolved into a job role in the industry. It is commonly a way for companies and individuals to identify roles and engineers who require/possess the mindset and set of skills required to operate inside a DevOps culture.

How do I get started in DevOps?

First, realize that if you are new to the IT industry, starting in DevOps is very difficult. Gaining several years experience in either development or operations first will make this journey much easier. Educate yourself on what DevOps entails. Read books, articles, and participate in online communities to get a feel for what it really means to "do DevOps".

Secondly, try to implement some of these ideas into your day to day job duties where possible, starting small at first. Some ideas might be, automate a repetitive task, script a deployment, use infrastructure as code and check it into version control.

If learning these skills in your current role isn't feasible, work on personal projects, websites or home labs. You can work on personal projects to help build your skill set and build a portfolio to show potential hiring managers and recruiters. A collection of ideas on projects is being developed here in this repo under Starter Project as a way to get you started.

Most importantly, never stop learning. There is no point at which you should not be trying to learn something new in this field, it's ever changing and always evolving.

devops-upgrade's People

Contributors

josharrington avatar jgilfoil avatar mzupan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.