As a bootcamp grad and a former teacher, I often think about what I would teach if I ran a code bootcamp. One thing that I think I would include is a static site generator, preferably Jekyll.
I would introduce Jekyll early on, after students have learned HTML and CSS. I’d have them create a personal Jekyll blog and host it on GitHub pages, and encourage them to blog throughout the rest of the bootcamp.
Here’s why I think it’s a good idea:
- Jekyll is easy to learn. You only have to spend a day on it, and students get another skill to put on their resumes. A lot of exciting innovation in web development right now involves the JAMstack, making static site generators a valuable tool to know.
- A personal blog gives students something real to put their new HTML and CSS skills to use on. We made a lot of “Top 10 Restaurants” and “Top 10 Cutest Animals” web pages during the first week of my bootcamp when we were learning these skills. These were fine ways to practice building web pages, but I didn’t feel they were serious enough to bother with setting up hosting or adding them to a portfolio.
- Jekyll’s layouts and includes are a good way to introduce the concept of DRY code. They’re also analogous to Rails layouts and partials, which will be handy if you teach Rails or a similar framework later on.
- Writing about what they’re learning will help students learn more effectively.
- It will expose students to YAML and Markdown.
- Hosting on GitHub Pages will force students to get comfortable with committing and pushing to GitHub early on.
- If you walk them through setting up a custom domain name, it will give you an opportunity to talk about DNS and the difference between hosting and domain registration.
- Students will have a professional web presence that showcases their learning.
- By blogging, students will develop technical communication skills. My bootcamp had us give tech talks to practice public speaking. Writing skills are equally, if not more important for software developers.
- Showing students how to override the defaults of a gem-based theme by copying and modifying files will help demystify Ruby gems (and libraries in general).