A look back at class one
As a web professional, I have noticed that there are already many people who have a solid understanding of the technologies; few, however, focus on the big picture of development methods, working in teams, and best practices generally. I believe an understanding of best practices can be beneficial, and the technical knowledge will follow.
In fact, I tend to do things in the reverse order of what I have normally seen. In many cases, developers coming out of school learn things in the following order:
- At school, they learn PHP, Python, HTML, and other technology basics.
- In the workforce, they learn Git and version control.
- After a few years of frustration, they move to automated testing.
- Realizing that automated tests are good, but no one ever runs them, they move to continuous integration.
- Later, they get caught up in environment-specific problems which wind up eating more than half their work time. This is when they move to DevOps and tools like Vagrant and Docker.
- At some point when they are victims of major security breach, they learn some security basics.
I have developed the Dcycle course with the opposite approach: I believe much time and talent is wasted by learning the technical stuff first. This course will take a reverse approach:
- You have already learned the security basics, a first stab at version control, and Docker.
- Very soon we will touch on continuous integration and automated testing.
- Later on, we will learn advanced version control techniques.
We will barely touch programming itself, for a few reasons:
- If you’re interested, you can find numerous books on PHP, HTML, MySQL, etc.
- You are likely to work with people who are already very knowledgeable about the technology.
- The shortage in the labor market right now is in project managers who understand best practices, and that is where we will focus all of our energy.
Before moving on, then, here are a few sample tasks you should be able to accomplish and questions you should be able to answer:
- Fork a Jekyll project on GitHub and host it locally.
- Communicate with someone in an encrypted way.
- Provide your public SSH key.
- List running containers on your CoreOS VM.
- If you are stuck, efficiently search for, and request, help online.