by Josh Alletto
Why our coding boot camp still teaches two programming languages at once
In the beginning, teaching two languages was a practical decision. Students needed both the front-end and back-end education to meet our standard for real-world, full-stack developer success.
Our ideal language for each piece was different. While learning two languages at once was much more difficult, our students had no choice because we couldn’t create a better solution at the time.
Rather than getting overwhelmed and washing out, our students thrived on the challenge of learning two languages.
Since we didn’t see any negative consequences for the students other than a heavier workload, we didn’t change the program for our first five years.
We didn’t do it.
Instead, we chose Python’s Django.
We weren’t just making the program harder for the heck of it. There was more to the story when we looked at what happened after our students graduated.
In the process of deliberating on our choices, we realized that learning multiple languages had become our graduates’ advantage.
The speed at which our students learned to program, their success after graduation, and the feedback we received from them confirmed that learning two languages at once was — while difficult in the short term — ultimately essential to their long term success.
Based on what we’ve measured and heard, here are the most important reasons we continue to teach more than one programming language at Code Platoon.
1. You prioritize concepts over syntax
Just like great mathematicians are not measured by their ability to memorize theorems, great developers are not measured by their ability to write a syntactically perfect ‘for’ loop in a certain language off the top of their head.
More important is their ability to grasp the essential concepts and understand the systems they are working with.
Syntax is easy. Googling “How do I write a singleton in Ruby” will immediately return numerous results. Knowing when to use a singleton (rather than a class instance) is the hard part.
Syntax changes with the language, but many of the methods for solving problems with computers remain the same.
Once you understand that all object-oriented languages have singletons, you become less obsessed with memorizing where commas go — and more focused on what steps you need to take to solve your problems.
Seeing the similarities in languages can go a long way in hammering down universal concepts. But looking at differences can be just as helpful. Some concepts are more abstract, or just flat-out harder to understand in one language over another.
2. You increase your job opportunities
We want our graduates to be prepared for actual coding jobs. While some of our graduates get jobs where they write code in the languages we teach, more of them land jobs that require a different language.
With each subsequent job, they’ll usually need to learn at least one new language or framework.
Learning that first language is challenging. Showing that you’ve learned two in a short amount of time advertises your ability to learn under pressure. This is a skill which really helps you stand out from the crowd.
More importantly, it shows that you can continue to learn coding languages. This increases your chances of getting hired in a job which doesn’t require either of them.
In the real world, you won’t last long as a programmer if you only know one language, or if you’re not prepared to keep learning new ones. The time you spend learning the second one in the safety of the classroom will give you the confidence to learn the third one on the clock at your new job.
3. You can build more things with more languages
Most apps require a database. In which case, you’ll want to learn a query language like SQL.
Do you need to analyze lots of data? Python or R might be what you’re looking for. You’ll build faster and smarter if you understand what each language does well and how to use the languages to accomplish the tasks you need to get done.
4. Perspective helps you gain confidence and grow
Learning your first language can be incredibly difficult. But like anything else, the more you learn, the more confident you’ll become in your ability to solve difficult problems.
And that’s what a lot of programming is — the ability to evaluate a problem and find a solution. The willpower and confidence to push through those inevitable “I have no idea what to do next” moments is key.
After you’ve learned your second language, you become more open to change. You’ll understand how to choose the best tool for the job. One language that’s great for web development may not be the best for data analysis, and you’ll understand that. You’re less likely to force a tool you know really well over just learning the better tool on the fly.
5. We want two-language bootcamps as standard
Learning two languages at once is no small feat. But knowing two languages better prepares our graduates for a competitive job market and sets them up to succeed.
We hope to see more coding boot camps take this approach in the best interests of their students. We encourage prospective coding students to seek out coding boot camps that offer this advantage, despite the extra legwork required of them.