Skip to content

Programming

Computer programming is basically the beginning of it all (minus the electrical engineering aspects of course.) Everything we're doing in DevOps is because of programming and software engineering. When some software is written we, in the operations side of DevOps, have to deploy it. Because we're responsible for deploying software we have an obligation to understand some software development principles. We're also going to need to understand how-to write and edit some programs so that we can automate some of the processes we'll develop during our career.

Computer programming is the process of designing and building an executable computer program to accomplish a specific computing result or to perform a particular task. Programming involves tasks such as analysis, generating algorithms, profiling algorithms' accuracy and resource consumption, and the implementation of algorithms in a chosen programming language (commonly referred to as coding).

The kind of programming we'll be doing in our space is simple enough (compared to the more complex software we use and deploy day to day) but it'll enable us to do some pretty powerful things.

In this final part of the basics section I'm suggesting you learn how-to use a simple IDE called Visual Studio Code and learn how-to program in Python. Make sure you remember the 80/20 Principle: you don't have to become a software engineering master or know all the algorithms and data structures. Just learn how-to write a few simple programs, use libraries, etc. That's all you need for now.

Finally learning to write Bash/shell scripts is an important part of automation and Continuous Integration (CI) and Delivery (CD). Both CI and CD heavily rely on the writing of shell scripts to automate commands used to test software, run security analysis tools and more.

Basic Concepts

  • Integrated Development Environment
  • Language Types
  • Python
  • Go
  • Bash (Shell)

Integrated Development Environment (IDE)

Topic Resource Location Link
Integrated Development Environment Wikipedia IDE
Visual Studio Code Official Site Homepage

Language Types

Topic Resource Location Link
Compiled Language Wikipedia Compiled Language
Interpreted Language Wikipedia Interpreted Language

Python

Topic Resource Location Link
Python Basics Python Basics (.org) Python Basics Getting Started
Python Pip Official Page Pip
Virtual Environments Python Basics (.org) VirtualEnv
Requests Official Page Requests
Flask Python Basics (.org) Flask Basics

Golang

Topic Resource Location Link
Go Tour Official Website A Tour of Go
Go By Example Go By Example Homepage

Bash (Shell)

Topic Resource Location Link
Shell Scripting Tutorial shellscript.sh A First Script