X in a box - containers for developers video series?

For quite some time I wanted to help developers better understand Docker containers. I’ve been working with containers for the past 2.5 years and like most of you, I was just a full stack JavaScript developer. I had to learn how to use Docker containers with no previous knowledge and little or no guidance.

It was like being thrown off a plane with an umbrella instead of a parachute. This wasn’t necessarily a bad thing. I had a lot of time to make mistakes, miss deadlines and crash production apps.

Initially published on Medium: Should I create the “<X> in a box — containers for developers ” video series?

Looking back, I now understand why developers find containers a bit daunting. In fact, it may seem like they have to take on a whole different set of skills, totally unrelated to their daily job. It’s not like they’re ever going to transition to a full Sysadmin / Operations / DevOps position.

If you’re a JavaScript developer, that’s even worse, as you also have to deal with the JavaScript fatigue and having to learn new libraries and frameworks each year, to stay competitive.

Lucky for you, containers are not such a big deal, and with a bit of help, you could start using them with little effort. In fact, the concept is so simple, that even my 4-year old daughter, sitting along with me as I write this text could understand it with a bit of effort. She just has to learn how to identify an application’s runtime dependencies install them using Docker (give her a bit more time) 😎.

The pitch

I want to offer people a free, high quality video series, on setting up various tools, and environments using Docker. The videos will be under 10 minutes, so anyone can learn something new and useful, while they’re commuting to work.

Unlike the usual introductory courses, I will only talk about Docker commands you absolutely need to learn, to be productive and get the job done. You won’t learn anything that doesn’t bring immediate value.

My plan is to make the course available for free and give people the option to make donations if they get value out of it.

I will also try to use real-life examples, no foo bar crap.

To create these real-world examples, I’ll have to keep away from client work for about 2 months. So, I am going to need some “funding” to get it done. Based on my estimates, I’m going to spend money on graphic design, hosting and also covering my living costs.

I plan on launching a crowdfunding campaign sometime next week, after I get a clear picture on the actual amount necessary to get me through this. Until then, I would really love to get feedback from the community. I’d like to know how developers feel about such a course, and how would they get the most value out of it.

A couple of questions I’d like to ask:

  • Do you think video is the best way to deliver this type of content?

  • Would you back the project?

  • What other formats would you suggest? Ebook, blog post series ?

  • Which crowdfunding platform do you recommend?

The target

The course is meant to serve as a guide for anyone interested in understanding Docker containers and get productive fast. It is aimed mainly at developers with little command line experience. It shouldn’t be too hard for people unfamiliar with the command line to follow but it will require a bit of extra effort.

While thinking about my target audience I figured out that many startups could get huge benefits from following this course. Usually startup hires are required to get from zero to productive in the shortest amount of time. Having an environment that’s already configured and fully functional, with all your app’s dependencies could help greatly with onboarding. At the same time, sharing this type of knowledge with new hires is also beneficial.

Due to the focused nature of the videos, you won’t spend a lot of time learning things that don’t immediately impact your productivity / workflow.

The plan

Below is a pretty close-to-final structure of the whole course. There are some things I kept out of this structure as I am unsure if I could add everything in the 2-month deadline I set for myself. If everything goes smooth, I plan on making updates.

Node.js in a box

  • Create a totally isolated development environment with Docker

  • Learn how to link local files to your Docker container

  • Connecting to a database

  • Making everything dynamic with environment variables

  • Debugging Node.js apps running inside Docker

Nginx in a box

  • Running an Nginx container

  • Using Nginx as a web server

  • Load balancing applications running in other containers

Rabbitmq in a box

  • Message brokers primer

  • The benefits of using a messaging system

  • Running RabbitMQ inside Docker

  • Configuring a RabbitMQ cluster

Database in a box

  • MySQL

  • The MongoDB container

  • Persisting data

  • Backups

Front-end in a box

  • Angular.js

  • React.js

  • Vue.js

  • Debugging front-end apps running inside Docker containers

Tools Tips and Tricks (in a box)

  • Compose

  • Ctop

  • Collecting and interpreting logs

Please help me spread the word. You may not want to answer the questions above, so I will also take the recommendations count into consideration when deciding to start the campaign. Also Twitter, Linkedin, Mastodon, Google+. Anything goes.

For the people who aren’t aware what JS fatigue is, read on.

Photo credits:

Vue Logo

Copyright (c) 2023 Adrian Oprea. All rights reserved.