Skip to main content

Is the Programming Language Taught at a Coding Bootcamp Important?

By David Yang

Hero fullstack group coding d566i

There are a few important factors to consider when deciding on the right coding school to attend -- one of the most important is the focus of the curriculum. People often ask if the programming language and curriculum focus is important for a coding school. The answer is: yes and no.

Why it doesn’t matter

In terms of learning the basics of programming, the actual language you focus on is not that important. There are a lot of common concepts among languages, especially the higher level ones taught at coding schools (Ruby, JavaScript, Python, etc). So you’ll be able to learn solid fundamentals regardless of the language. The first programming language I learned was C at age 7.

Why it does matter

But most people attend coding immersives to do more than learn programming fundamentals. It’s usually with the end goal of securing a job as a software developer. And for that, the specific language can make a big difference. In particular, JavaScript has some strong advantages over other languages like Ruby, which is why we chose to make it the focus at Fullstack Academy.

These advantages can be broken down into two areas: Educational and Professional.

Educational Differences

1. Language Syntax & Level of Abstraction – Each programming language has its own unique syntax and format. Ruby was actually designed to make a programmer’s life easier and more productive. JavaScript was designed for flexibility. If you were to compare Ruby and JS code side by side, you’d see that Ruby reads a lot more like English, making it easier to learn (& also easier to teach). JavaScript doesn’t look as friendly.

From a programming productivity standpoint, this often gives Ruby the advantage. But from a learning standpoint, however, it can be a disadvantage. Ruby often abstracts lower level operations out of what’s going on. Take the code below, for example, written in both Ruby and JavaScript. Each function takes an array of numbers and outputs an array of all the possible combinations of pairs of numbers:

----Ruby----
def combos(arr)
 print arr.combination(2).to_a
end
----JavaScript----
var combos = function(arr) {
 var combinations = [];
 for (var i = 0; i<arr.length-1; i++) {
 for (var j = i+1; j<arr.length; j++) {
 combinations.push([arr[i],arr[j]]);
 }
 }
 console.log(combinations);
};

The Ruby code is obviously a lot shorter and prettier. But that ease of use can also mean that a student of programming will likely not understand what’s going on at a lower level. The JavaScript code is, for lack of a better word, uglier. But to write it, the programmer clearly has to have a deeper understanding of how arrays and loops work. This forced in-depth understanding becomes even more important when thinking about how to optimize or modify code.

2. Curriculum Focus - Single Language vs Multi Language – All schools that teach Ruby actually also teach JavaScript. That’s because JS is the only programming language that runs in the front-end (client side, in your web browser). Since Ruby schools are teaching web development, they usually dedicate some time (~1-2 weeks) to JavaScript, so that students can implement basic front-ends. Given JavaScript’s complexity, most of that short time is spent learning its syntax and basics.

The problem is, most coding schools are ~12 weeks long. That means that 1-2 weeks are spent learning a new syntax (not very high value), leaving less time for the rest of the curriculum.

In contrast, schools that only teach JavaScript can keep the focus on one language. Since JavaScript can run on the back-end (server side, via Node.js) and on the front-end, it’s a true “full-stack” language. That’s a huge advantage because it frees up those extra ~2 weeks that would normally be spent learning new syntax etc. At the immersive at Fullstack (17 weeks long) we use that extra time to dive deeper into programming itself, covering things like computer science fundamentals, industry best practices, and design patterns.

Professional Differences

What’s the most popular language?

Per Course Report’s most recent annual survey, the 3 most popular programming language taught at coding schools are:

Ruby – 35%

JavaScript – 21%

iOS (Swift & Objective-C) – 11%

But what about actual use of languages and demand in the job market?

Here’s the popularity of programming languages based on use in Github Repositories:

most-popular-programming-languages-2015.

And on a recent Stack Overflow survey, JavaScript topped the charts, followed by SQL, which Fullstack also teaches.

And on the hiring side, a sample search for software developer roles and by programming language tag:

JavaScript Software Developer Jobs in New York, NY

Ruby Software Developer Jobs in New York, NY

JavaScript tops both of those areas. Now you can take that with a small grain of salt, since as I mentioned before, all web applications must have JavaScript, so it will be very popular in terms of use and as a desired skill.

Job Market Competition

You’ve probably noticed the imbalance between the programming language trends at coding schools and in the job market. While the total demand for all software developers is very high (that’s the main driver for the entire coding bootcamp industry), Ruby school graduates are in higher supply than Fullstack JS developers. Having a skill that’s more in demand and lower in supply is never a bad thing in the job search. We attribute a lot of Fulllstack’s high quality hiring outcomes to this.

Conclusion

Those are the reasons why we chose to center the curriculum at Fullstack Academy around full-stack JavaScript. It hasn’t been an easy path – As you can imagine, just as it’s easier to learn Ruby because of its syntax and design, it’s also easier to teach it (as compared to JavaScript). We’ve addressed that by investing a lot of time into refining our curriculum and educational structure, by recruiting experienced instructors, and with making admissions selective, so that students are well prepared to succeed in the challenging depth and pace of the course.

Bonus: What are Fullstack students building with JavaScript?

Check out the capstone projects built at Fullstack to see what you can develop once you've mastered the right tech stack: Fullstack Student Projects