Education is broken when it comes to the web.
Here is why.
While it is the role of colleges and universities to train people with modern skills, the truth is that these large organizations are slow to change, involving many levels of bureaucracy. From 2009 onward, the speed of change in web technology has vastly exceeded the pace of change in curriculum.
Computer Science programs today teach the same things they have been teaching for years, in well-recognized languages like C, C++, and Java. They haven’t needed to change much because at a fundamental level those languages don’t change. Programmers working in these languages are still in demand, meaning there is little incentive to go through the effort of updating curriculum.
But there is an area of development that has emerged suddenly, grown rapidly, and remained almost completely un-served. That niche is the web application.
For years, the web held promise as a software platform for it’s extensive and ubiquitous reach. But it consistently failed to deliver on that promise thanks to conflicted interests among browser-makers, a stagnant development language, and an almost non-existent ecosystem for developers.
As a result, learning programs for the web were assigned primarily to the arts programs — grouped together with graphic design. And there they have remained, teaching web-page construction, usually for advertising purposes since advertising has been the primary means of monetization online.
The emergence of the web application (actual functional software) has exploded with some fundamental changes to the technology. Lead by organizations like Google, whose search technology relies on the web, browsers have seen a massive overhaul. The javascript language got a complete revision in 2015, corresponding with vast improvements in execution speed. The language that stagnated for a decade now has a yearly release cycle for updates. What happened?
In 2009 Node.js appeared. Somebody took the javascript engine from the Chrome browser and made it run on a server. At first a curiosity, Node rapidly became adopted by web developers, who previously had been largely reliant on the efforts of programmers with traditional comp-sci skills and languages for the servers and services their software ran on.
They began building their own tools — a truly staggering number of them appeared almost overnight. There were tools for every part of the development cycle, made directly by the people who relied on the web for their careers.
This explosion of tools revitalized interest in the potential of the web, even while industry “futurists” were predicting the death of the web due to the apparent rise of the app-store ecosystem. “The web is dead” they cried, “there’s an app for that”.
Nobody is really saying that today. If anything, efforts are underway to remove the gap between the web and the app.
Where does this leave education?
State of Post-Secondary
For years computer science programs regarded the web and it’s technologies as secondary considerations. Even now most offer only introductory courses in Javascript and HTML, preferring to focus on the traditional languages. For them, the web appeared to run on a “toy language”. Even Brendan Eich, the creator of javascript has admitted he designed the language to be a “sidekick” to Java. Schools have designed their programs as though that were still the case today. The apparent rise of the app, with a focus on traditional languages like Java, C++, and Objective C seemed to justify that direction. They had little reason to change.
Meanwhile, javascript is eating the world. The most ubiquitous language on the planet, running in more environments than any other, javascript and the web application are primed to deliver massive potential as the internet permeates an increasing number of our devices.
While traditional schooling has, even up to now, failed to recognize the potential, others have taken note.
Rise of the Bootcamp
Into this need have stepped the private-training “bootcamp” style schools. Promising to fill the gap left by traditional school, they offer intensive courses that are supposed to turn people into developers virtually overnight. For this, they ordinarily charge $10k or more to students eager to secure a future in web development quickly.
Unregulated, the bootcamps are largely unaccountable for their claims, their programs falling under “professional development” where the rules for colleges and universities have no jurisdiction. It is up to their founders to regulate themselves. As we might guess, sometimes this works fine, other times it doesn’t.
Can the uninitiated become competent in web development in ten weeks? Short answer — no. Bootcamps seem to deliver the most to people who are already competent developers upon entry. This is actually the definition of professional development, so perhaps they do offer some value — at a price.
Self-teaching Option
The third player in education is self-learning through inexpensive online resources, of which there are many! Many people have tried this approach. Success through this method requires a time commitment and a higher degree of self-discipline than monitored education.
Self-paced learning seems to work best for people for whom the learning is supplemental to a job they already doing. For instance the SQL developer who want to learn about schema-less databases, or the PHP developer who wants to introduce Node to their work environment. They have a strong and immediate incentive to learn.
In that sense, online learning falls into the same category as the bootcamps — professional development.
The huge flaw in online self-paced learning is very apparent to anyone who has done it.
Self-paced learning often grinds to a halt as the many distractions of life intervene. I’ve done it, everyone I know has done it — started courses only to have them fall by the wayside. There’s nobody to call me out on this but myself — and I’ll find a way to forgive me.
Fixing Education
Where does this leave the average person who wants to step into the exciting world of web application development? They are left with extremes.
- Teach themselves, relying on luck to choose good sources and self-discipline to stick to it.
- Drop a large amount of cash and devote themselves entirely to an intensive program for ten weeks or more.
- Devote two or more years to a traditional post-secondary program that will mix a wide variety of courses into their curriculum, and very possibly be out of step with modern development.
I believe that these extremes do not serve anyone particularly well. There needs to be something new, that takes a guided, flexible, sustainable approach to development over time.
The Arrival of Leaflet Learning
For nine years I ran an event in Toronto called Fall Tour Interactive. It was a simple idea inspired by traditional studio tours. My team and I organized groups of independent professionals like experienced freelancers to act as tour-guides to people, largely students, interested in working in creative technology. Working with local studios, we arranged for interested people to visit a variety of shops with their guides, asking questions and seeing the industry first-hand.
Over time, this event grew massive, involving 55 companies and hundreds of industry members. I had a list of 100+ faculty members at schools I would correspond with throughout the year, hearing their concerns and keeping them up to date on our plans. In time we added guest speakers, panel discussions, a popular after-party. It was amazing.
During this time I was also actively running my company Oddly Studios during our arrival as a top creative technology vendor. The pressure of locating and hiring talent was not a theoretical problem for me — I faced it every day. We largely took a DIY approach to cultivating talent, running many programs and workshops out of which we would find good people on our own. With increasing frequency when the phone would ring there would be someone on the other end asking for a recommendation to fill a role, and we were happy to oblige. I made a lot of long-term friends this way. It felt good, helping people start their careers.
During this time everyone was feeling the effect of rapid technology change — some better than others. In 2008 Steve Jobs banned Flash from the iPhone, throwing into chaos companies that had based their business on that technology. It also slammed shut the door that many junior talents used to enter the industry. They would come in to work on tasks like banner ads, then brush shoulders with advanced object-oriented developers and learn on the job. Suddenly the barrier to entry was much higher, compounding an already-prevalent problem of scarcity in on-boarding new people.
I have watched demand for web developers grow, and supply shrink, with very bad effects to the industry I love. I know it hurt us. We survived, but many did not.
Last October my team and I set out to do something about it. Leaflet Learning is the result.
For instruction, we switched entirely to online IDEs. This had several immediate benefits:
- Lower Barrier to Entry
Most courses and tutorials spend the first part of their time setting up a tool-chain such as might be used in typical production. But learning isn’t production, and plunging people into an unfamiliar build process leaves them bewildered by the time they finally get to do what they came for — writing code. Switching to online IDE let us take advantage of built-in tools and get people up, writing code, and feeling good immediately. Later on we get into tools, when the student has something tool-worthy.
- Increased Collaboration
In a lot of classes the pace is slowed down because the instructor, or assistants, need to circulate around looking at student’s desktop to help them out with problems. This is such a waste! When I used to work this way I often found that nearly everyone was having the same problem. In a Leaflet code jam we do collaborative debugging, figuring out problems together. Students submit a problem URL into a chat box, which gets launched in a shared IDE window. It becomes like a game, with students attempting to beat the instructor to the solution.
- Transparency
In Leaflet, everyone sees everyone else’s work. Not only that, they see their progress, the feedback from their mentors, and even the patterns of how often they work on labs. This opens up valuable opportunities to learn from each other, not just code but helpful work habits and communication skills. Most importantly, people learn to manage their time and prioritize.
Starting from the switch to online IDE we built up a format and ecosystem for providing maximum value in our learning environment.
The Format of Leaflet
Students do a weekly live-code jam, lead by the instructor who introduces the material, divided among learning examples, and practical application. Learning examples are streamlined demos designed to be simple and illustrate a single principle. Practical applications take that example and show how it might be used in a project.
In addition to the live-code, any student is free to submit the work they are doing for review and real-time assistance during the session. At regular intervals the instructor dives into a student’s work to offer mentoring and the whole class gets to participate in fixing errors and optimizing code.
It leads to some very lively classes, with high amounts of participation. “Tuning out” is virtually eliminated, since everything is hands-on in real-time, and highly collaborative.
At the end of the live-code jam, students are given a suggested task to do that will help them see how well they have grasped the material. But they aren’t left on their own.
Assistance and Monitoring
Within two days of the live-code jam students will get preliminary feedback from a mentor. The mentor is a key figure in Leaflet Learning, chosen for their active background in development. These are people who are on the job writing code in commercial projects every day. They use their access to the Leaflet Learning software to go online and assist the instructor, providing code review, answering questions, and sharing their experience with the students they are assigned to.
The mentor will check in again the day before the next live-code session to see how successful the student was in implementing feedback.
With this pattern, students will be reminded to return to their code and actively examine it a minimum of three times per week. They are aware that their work is being actively seen by industry professionals, their instructor, and their fellow classmates. It helps to avoid the gradual “grind to a halt” that accompanies self-paced learning.
This pattern is repeated through the length of the program, though students will periodically be rotated to new mentors to keep things fresh and provide a new perspective.
With Transparency Comes Accountability
My observation of both traditional post-secondary school and the bootcamp-style school is that they essentially are the same business model. Both rely on advertising to create enrollment. Both require payment up-front in full. And neither are particularly reliant on student success rates.
As a result, both models tend to operate inside walled gardens, hiding away student progress until it has reached a demo-worthy state. Then they do the grad-show, or student-review night, or some similarly-named single event.
These walled gardens create a stagnant environment, that lacks accountability both for student participation and quality of instruction.
Put another way, there is a social contract at work. When I’m teaching in Leaflet I’m aware that at any time my instruction may be monitored by people in industry whom I respect and admire. Similarly, students understand that their participation is open to the same scrutiny. This is a very important tenet of the Leaflet Learning format.
In the real world, hiding away progress is old news, relegated to the time we used waterfall-method for development. Today, agile development has shown the benefit of opening up all progress to the entire team, creating a never-ending cycle of collaboration.
So why doesn’t education work that way?
There is a simple answer. Usually an instructor is on their own before a group of students. They absolutely do not have the time or resources to enter into such collaboration, even if they want to. So they assign projects, send students off on their own, then collect the projects for review at specific times. It’s a practical decision that lets them at least schedule their marathon evaluation sessions.
By now I hope the problems with that system are becoming obvious. By the time evaluation happens the student may be already very off-track, and they may not get back on the right path. We set out to solve this with Leaflet Learning.
So what is next?
We have been in active development of the software and curriculum since October 2016. It is reaching a point of maturity, and we are very close to coming out of beta — putting our baby out in the world. We’ve already issued thousands of mentor-reviews and done hundreds of live-code sessions. Everybody seems to like both the format and the user experience. We are aiming to open up enrollment in September.
During the next stage of Leaflet’s growth it is up to me to maximize benefit from the features we have built. I go out and find the mentors. I create the industry associations. And I’m an instructor, someone who leads the learning, assisted by a network of awesome people. They provide new perspectives to my students and keep me accountable for both my material and the quality of my instruction.
This is how you fix education. I love it.

