Home‎ > ‎

What is DevOps

posted Apr 11, 2015, 4:43 PM by James Nguyễn   [ updated Apr 11, 2015, 6:08 PM ]
First and foremost, there is no hard rule on DevOps. There are and should not be any official positions for DevOps because it is difficult at best to quantify. This is my interpretation derived purely on experience. To give full disclosure, my background is in the following areas of specialization:

* Systems (since 1994)
  - MSDOS
  - Windows 3.1 up to Windows Server 2002
  - Solaris up till it was sold to Oracle
  - AIX
  - SCO
  - Novell
  - Linux (Slackware, Redhat/CentOS/Fedora, Mandrake, Gentoo, Debian/Ubuntu)
  - Mac only during my lost years ;)
* Infrastructure (since 1996)
  - Cisco
  - Bind
  - Sendmail
  - Central Syslog
  - Httpd
  - MySQL
  - IBM DB2
  - Oracle 9i
  - Redhat Jboss
  - IBM Websphere
  - IBM Portal Server
  - BEA WebLogic
  - Apache Tomcat
  - OpenLDAP
  - 389 Directory Server
  - IBM Directory Server
  - Sun One Directory Server
  - GlusterFS
  - DRBD
  - NFS
  - iSCSI
  - Netapps Filers
  - EMC Isilon
  - VMware
  - Xen
  - KVM
  - Virtualbox
* Developer (since 1996)
  - Pascal
  - MS Visual Basic with Win32 API DLL
  - C
  - Perl
  - C++
  - Java
  - PHP
  - Python
* QA (experience from early intern days at IBM)
  - Mercury Load Tester
* Software and Systems Architect (since 2004)
  - UML
  - Model driven architecture
  - Frameworks (MVC, IoC, Struts, Pico, Spring, J2EE, EJB, JAAS, Hibernate)
  - Created Java Design Decisions for global Nissan development projects
  - Reviewed code deliverables from vendors and internal teams for compliance with design decisions
  - Trained teams on software and systems industry best practices
* Design/UX (since 1996 always has been a side hobby with some HCI background in simplicity and logical navigation)
  - Illustrator
  - Photoshop
  - Dreamweaver
  - Flash
  - Gimp
  - 3D Studio
  - Premier

To me DevOps is a discipline of controlled A.D.D. What that means is you are well versed enough in various disciplines of the same industry or field. Yet, you can also focus particular experiences into your single task at hand. You would rate yourself near average or above average in these areas so that given a random task, you can work independent at solving solving the task at hand. You need very little hand holding because of the breadth of experience you can draw upon. You are completely open-minded to new technologies, yet also able to recognize when it's just a reinvention of the dated past technologies. 

At no point will you find a DevOps asking the following questions:
* Where are the logs for ...?
* How do I login into server ...?
* What is an application server?
* What is running on ...?
* How do I see what process is eating up memory?
* How do I use ...?
* Is this down or is it working?
* What is MVC?
* What are frameworks?
* How do I add a user onto so and so?

If you do, you've got a long ways to go before I'd call you a DevOps Engineer. I would also attribute passion and drive to being a great DevOps. The strive to constantly learn. You don't work to count the hours that past. Google the heck out of your curiosity until there's no more search results, before going to a person of experience and hitting them up for information. I would also grab and purchase all the timeless books that provide sound fundamentals. Without that due diligence, you will never remember what piece of advice or guidance someone has just bestowed upon you. You may take great notes at best, but the pain and struggle is how you get that piece of information ingrained deep in your head.
Comments