Skip to main content

Command Palette

Search for a command to run...

A New Way to Learn Tech Skills

If I had the resources, here's what I would build

Published
4 min read
A New Way to Learn Tech Skills
J

I have been developing websites professionally since 1999 and have used a number of technologies and watched the evolution of the web since its early days.

I write about PHP, Laravel, Tailwind, and topics about improving your career as a developer.

Something has been on my mind for a little while. An idea for a large project that could revolutionize education — or at least make learning a lot more fun and engaging.

The Problems with Typical Education Approaches

Since I was a kid I've thought the way we learn is broken. We have arbitrary exams that measure little of consequence and we forget what we've learned as soon as it's over. We are largely taught not to cooperate when completing assignments, and we are taught that looking things up or doing things the easy way is "cheating". When you grow up and enter the real world, this education doesn't prepare us for the real world. When we get jobs, what matters isn't really how hard we work, it's the results we get and how well we can solve employers' and customers' problems.

Education is a frustrating experience for many people; it's not often pleasant or fun, and so often we feel like we have to learn things that don't matter. There are so many things I studied in university that I've never had cause to bring to mind since I finished the final exam.

One thing I really like about software development as a profession is that you don't need a formal education. There's no governing body that tells you that you are or are not allowed to be a programmer. If you can sit down at a computer, read some documentation, and get code running that solves a problem for yourself or someone else then congratulations — you're a developer.

But learning to be a software developer, especially a good and well-rounded one, is hard. There are many skills one has to learn — like working in a command line, algorithms and data structures, program construction, analysis, database optimization, markup languages, user interface design, and so on. Tech is a fast-moving industry so there are always new and (ostensibly) better ways of doing things. This is exciting but sometimes frustrating. It's likely a person could burn out trying to keep up.

Imagine a World...

A better way to learn might be a community that can take some of the best parts of learning in a real educational institution, but combine that with some of the best parts of online video game worlds. Instead of plodding your way through textbooks and stressful final exams, what if a developer education were a series of smaller, but meaningful tasks that could be completed for some kind of reward?

A good model for this could be an online role-playing game. Imagine playing World of Warcraft but it makes you a kick-ass web developer. You are a "character", you choose a "class" or career path (which, of course, you could switch at any time), and you complete "quests" which might involve building web pages for other people (or maybe non-player characters or actual businesses). Maybe some of these tasks are even real-world tasks that have a bounty on them that you can earn real money for completing. What if a small business wanted a home page? They could put it up for a bounty in this game.

As you complete tasks, you gain experience points or other various rewards that give you a standard way to show off how knowledgeable you are. And you could earn and learn as quickly or as slowly as you're comfortable.

I think this "world" could have many people working towards common goals and the player/students would be encouraged to help others with their tasks and would be rewarded for doing so, maybe a bit like on Stack Overflow. Players could learn and grow together and foster friendships as they progress towards their goals and become more skilled in their chosen fields.

I don't think this system needs to have high-budget video game style graphics or elaborate fantasy stories, necessarily — but that could be appealing to some as an enhancement to this system.

Interested?

Would an environment like this be a good learning environment for you? Would this be a fun and engaging way to learn by racking up experience points and "achievements" in a social game-like environment that encourages you to be awesome at JavaScript, promotes your PHP skills, and challenges you to take your CSS to the next level? Or perhaps there are already things out there a little bit like this. Let me know in the comments!

If you find this sort of content interesting, I'd love to connect with you on Twitter!.

C

Hi JD,

thank you for this article and idea! I agree that our education system has its weaknesses.

There are some learning platforms that try to follow similar approaches. As you mentioned, Stack Overflow is doing it well (even though maybe it's not primarily a learning platform).

  • earning badges
  • experience points
  • leveling up
  • social rewards
  • having meaningful interactions with peers or mentors

I also like the idea of real money as a reward. That might be difficult to set up from a business perspective. But it's a great motivator!

Best, Constantin

J
JD Lien3y ago

Thanks Constantin!

Maybe money could be a component if you set up something a little bit like a Fiverr for people who have some of the basic skills established. But indeed, there are probably lots of good ideas from Stack Overflow that could be modelled on a platform like this.

1