Introduction
Most people seek out bootcamps because they are in a state of flux. They have a need to skill up - quickly - to break into the market, navigate a new job title, or keep up with everchanging progress. As any expert knows, there are no shortcuts, but we’re in a state of panic here and need to choose between the hundreds of schools out there, so you scan each curriculum with this billboard sized question blaring across your vision:
Will this program teach me everything I need to know to do the job?
There’s a single word that changes the intention of this question from ‘getting a job’ to ‘getting a career.’
Will this program teach me everything I need to know to do the job well?
But we’re still missing something. Most bootcamps, focused on just ‘getting the job,’ find the most trendy frameworks, build tools, middleware - you name it - and funnel it into students’ brains within the first few weeks.
I don’t know about you, but I didn’t ask middle schoolers to write multi-page essays before teaching them how to write a paragraph. Or better yet, a sentence.
Perhaps the question should be refined a bit more…
Will this program teach me everything I need to know to figure out how to do the job better?
I think this question is pretty solid. But there’s still a glaring problem.
It’s the wrong question.
The Actual Question
I think the first question you should ask yourself is:
What job am I trying to get?
Because then you can ask yourself the following:
What skills do I need to know for that job? Where do I go to find information about these skills? What if I can’t figure something out - what do I do? Who do I talk to? Why hasn’t my watch arrived in the mail yet even though I ordered it four months ago?
Many bootcamps spend two weeks - just two weeks - on HTML and CSS, even though that’s what the web is built on. HTML defines the structure and content of a webpage. Sure, the server (and browser) render it, but it needs instructions. You know how hard it is to build Ikea furniture without instructions. Now have a server do it.
Then comes the onslaught of coding exercises and OOP (object oriented programming) techniques so students can add dynamic functionality to websites (that they haven’t built properly, because … HTML? CSS?). Then it’s on to communicating with the server, sending requests and responses via asynchronous functions through Node, piling build tools and integrating them into frameworks to do … what exactly? Send your data to populate webpages … you’ve made the webpages, right? You understand how all the pieces fit, right?
Here is where most bootcamps start:
import http from 'node:http';
import fs from 'node:fs';
import { fileURLToPath } from 'node:url';
const server = http.createServer((req, res) => {
const file = 'home.html';
const filePath = new URL(file, import.meta.url);
const resolvedPath = fileURLToPath(filePath);
fs.readFile(resolvedPath, 'utf8', (err, data) => {
if (err) {
console.log(err, 'File not found');
res.statusCode = 404;
res.write('File Not Found!);
res.end();
} else {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/html');
res.write(data);
res.end();
}
});
}).listen(8080, 'localhost', () => {
console.log('The server is listening on port 8080');
});
I’d much rather start here:
<h1>Introduction></h1>
<p>This is less scary, right?</p>
Is it more important to memorize and replicate, or to be familiar and understand? I deliberately chose to write it in the most recent ES6 ‘shorthand’ (known as syntactic sugar), since we’re all about speed and job here. But a lot of legacy code is written differently, so knowing what this does - basically makes a request to the server for the file ‘home.html’ and if it exists, the server should ‘serve’ it, otherwise return an error - is more improtant.
Or are we a clueless dad walking around with an infomercial “all-in-one” toolkit (6 easy installments of $9.99!) with no idea what each tool does?
I’m not saying that bootcamps shouldn’t teach this information. But teaching information in the right order (of increasing complexity), spiraling back to concepts and reintegrating them into future lessons, making sure thinking like a programmer is just as important as doing the work … forget coding, that’s just good teaching.
You are a guide, after all. Go figure it out only works if you have a map and a compass (even if the map is horrible documentation and the compass is asking you for constant updates. Speaking of, we need to talk about technical writing … at a future time).
Conclusion
Will this program teach me everything I need to know to do the job?
Most bootcamp graduates I’ve spoken to have said, surprisingly, that it hasn’t. It provided a foundation, definitely gave them a boost, but most landed their jobs through continued practice and explorations.
After eight months of being in a personalized mentorship-style bootcamp, I couldn’t imagine starting my coding journey with Node as one student of fifty in a video chat clammering for the teacher’s attention.
There are no shortcuts. But luckily, there are people out there willing to help us climb those mountains.
Just make sure they start with your local friendly hill. Everest can wait.