There comes a point in every technology professional’s career when curiosity stops being optional. For me, that point arrived when I realized I could no longer avoid hearing the words VirtualBoxVagrant, DevOps, Docker and Cloud Infrastructure in nearly every meaningful conversation about modern software development.

As someone who has always considered himself a lifelong learner, I’ve learned that the quickest path to stagnation is allowing fear of the unknown to dictate what I choose to learn next. Rather than avoid these technologies, I decided to dive in and begin exploring them firsthand.

With the help of Udacity and several late nights of research, I’ve been expanding my knowledge of cloud computing, virtual machines, containers, and the infrastructure that powers the modern web. While many people view these subjects as highly technical disciplines reserved for developers and system administrators, I see them as an opportunity to become a more complete technology professional.

To be clear, I already had some experience working in the cloud, primarily through AWS from a web development perspective. I know enough to deploy websites, manage hosting environments, and perform many of the day-to-day tasks required to keep applications running. I had also spent time exploring Microsoft Azure, but my understanding of both platforms remained largely surface-level. Much of that foundational knowledge came through my pursuit of the AWS Certified Cloud Practitioner certification.

As a web developer with a solid understanding of the Linux command line and experience as a power user across all three major operating systems—Windows, macOS, and Linux—I’ve always been comfortable adapting to new software environments. However, I reached a point where I realized that being comfortable wasn’t enough. It was time to level up my skills and see where the journey could take me.

My background in IT Support and Network Operations Center (NOC) environments—thank you, Titus!—has certainly helped prepare me for this next chapter. Understanding how systems communicate, how networks function, and how infrastructure supports business operations has given me a strong foundation for learning cloud technologies.

In addition to cloud computing, I’ve also been spending time brushing up on Python and expanding my programming knowledge. My goal is to continue building a well-rounded technical skill set that complements my background in design, web development, and user experience.

As for certifications, my roadmap currently includes the  Google Cloud Digital Leader, followed by Microsoft Azure Fundamentals certification, before completing the AWS Certified Cloud Practitioner certification. Beyond that, I plan to continue exploring wherever technology leads me.

After all, one of the things I’ve learned throughout my career is that every new skill opens the door to several more. The technology landscape continues to evolve at an incredible pace, and I want to remain a student of the industry for as long as possible.

As the domain name suggests, Derek Robinson loves .tech.

Below, I’ve included a few introductory definitions of some of the technologies and platforms that have recently captured my attention.

Head in the Clouds Tablet

DEFINITIONS:

VirtualBox is basically a master OS host for your computer. You can use VirtualBox to run entire sandboxed operating systems within your own computer. These are genuinely separate computers in your computer and, as such, can be destroyed, used, and abused without repercussion.

Docker is software that takes away repetitive configuration tasks and is used throughout the development cycle for fast, easy, and portable app development, desktops, and cloud. For example, Docker’s website says it’s used to Build, Share, and Run apps and container images. The thing that I immediately noticed is that the community is excellent and really helpful.

Vagrant is software that is used to manage a development environment. You can grab any available OS through the command line, install it, configure it, run it, work inside it, shut it down, and more. This is a really cool software that has been fun to learn.

Containers are a standard unit of software that packages up code and all its dependencies, so the application runs quickly and reliably from one computing environment to another. First, however, you must understand how they work to move forward.

Command Line Interface (CLI) is a text-based interface used to operate software and operating systems while allowing the user to respond to visual prompts by typing single commands into the interface and receiving a reply in the same way. The Linux CLI is a foundation of programming, and a definite must learn!

CLI is quite different from the graphical user interface (GUI) that is presently being used in the latest operating systems. (Ex. Mac OS, Windows, and Linux)

DRT Footer Logo