When you think about “learn to code”, what learning modalities come to mind? Expensive bootcamps? Video courses from Treehouse? Hackathons? Boring Computer Science classes? Certifications? For those of us self-taught programmers, learn to code means one thing, even if we don’t have a name for it: project-based learning.
What is Project-Based Learning?
According to Wikipedia, project-based learning is:
“[learning] about a subject by working for an extended period of time to investigate and respond to a complex question, challenge, or problem. It is a style of active learning and inquiry-based learning. PBL contrasts with paper-based, rote memorization, or teacher-led instruction that simply presents established facts or portrays a smooth path to knowledge by instead posing questions, problems or scenarios.”
Something magical happens when you apply what you learn to a real-world problem. Things click together that wouldn’t have otherwise stuck. Concepts that before seemed insurmountable begin to make sense…. easily. The reasons why some things aren’t done also become clear in project-based learning, because the experience of failure becomes real to you. It just plain works.
What is Dinner and Code?
Dinner and Code is a San Antonio, Texas meetup that I started in 2016 to address the problems I saw in traditional meetups aimed at those who want to learn to become a developer. The traditional groups were usually all-male, cis, white, and competitive. I’d heard from friends that they just didn’t feel comfortable in those environments. And frankly, neither did I. We don’t need more brogrammers… we need more problem-solvers and team players. We need more diversity of thought and background and experience. And we need to get more developers into the pipeline, period.
Dinner and Code is a monthly meetup that lasts about six hours. The first two hours are for absolute newbies; I teach the basics of programming gin that time. Then we serve food – usually things like pizza, salad, veggies, and chips. And then I open the doors to everyone and attendees work on a project of their choice. They can work on one of the projects my team created or they can bring one of their own.
Why We Use Project-Based Learning in Dinner and Code
There were many ways to run a tech meetup. We could have had a code competition, but I don’t believe hackathons and code competitions are the way to create an inclusive coding environment. I could have run it like a PASS meetup, where there’s a rotating speaker, some food, and some handouts. But that wouldn’t teach my target audience and would likely only intimidate the newcomers. Instead, I chose a format that I knew would work: project-based learning.
So far, our approach has seen positive feedback.
For the Manager: Using Project-Based Learning in Your Organization
If you’re like most mid-sized companies that hire technical staff, your organization you have a training budget. Perhaps you spend it on things like Pluralsight or CBT Nuggets or virtual training. Your employee asks to learn a topic related to work, you consent, they take the course, and that’s it. And sometimes, they leave at the end of it all and take their new skill set with them.
It doesn’t have to be that way.
Instead of sending your employees to another training class, try giving them a project and a mentor instead. Why, you ask? Well for one thing, a project that they can show off at an annual review is a good incentive for them to stick around. It’s also a chance for them to use their time in a way that benefits your organization.
So, you’ll get them training and give them a task. Then, you should assign this employee a mentor that can act as their guide. Not to do it for them, but to help them stay motivated and on the right track.
The project-based learning is something that your employee can do on their own, sure. But by tying in your support and a mentor, the employee will look to see how he or she can apply the skills at your organization…instead of elsewhere. And the motivation to move into a new role without applying for jobs elsewhere is incentive to keep going. The project-based learning will also benefit him or her professionally, since there’s no better way to learn than by actually digging into a problem.
For the Code Newbie: How to Use Project-Based Learning to Get Your First Job
So, let’s say that you want to learn to code. We see a lot of you on this site and at our Dinner and Code events. The best way to get that first job is to prove that you can actually solve a problem using code. Just knowing the syntax and the algorithms and design patterns is not enough. Do you remember that Sister Act scene where Whoopi’s character talked about what writers, singers, and dancers do? They do what they love, daily! You should be doing the same thing. Solve at least one programming problem per day, even if it’s just writing a dice game. Do something.
To get that first job, look at some recent job ads for the type of company that you want to join. What skills is he or she looking for? Which programming languages does the job require? How many “years” of experience? If it’s the traditional “2-3”, then you’re in luck: you can get that experience with some hands-on software project.s Think about it: what would you have learned in those two to three years, anyway? You’d have learned how to read requirements, you’d have learned project management styles, you’d have learned how to work on an existing code project, how to solve business problems with software, and how to do things like connect to databases and code repos and such. These are all skills you can learn on your own, either by making up a project yourself that uses those skills or by working on an existing project (read: Open Source!).
In short, don’t just read books and hope to be a programmer. Don’t think that a degree alone will get you a job, either. You have to be able to provide proof that you can do the job and that you’re actually able to solve problems in code. The best way to do that is by employing project-based learning.
Here are this article’s takeaways, if you need a TL;DR version:
- Project-based learning is more likely to result in acquired skills than reading alone.
- Your organization should implement project-based learning on top of traditional learning methods
- Project-based learning is an effective way to motivate employees to use their new skills at your organization and genuinely help them learn the skill
- As a new programmer, you won’t learn by books. You’ll learn by doing.
Does your project exhibit all five success characteristics?
Do you know...
- The three questions you must ask stakeholders at the beginning of a project?
- The impact of your project management style on market viability?
- How your choice of team members will make or break your success?
Learn the five characteristics plus answers to these questions in my free ebook, "The Five Characteristics Successful Project Share".