A recommendation from the lead of the Product College at Make School.
We train software engineers at the Product College at Make School. Our program is 2 years long, about 5x longer than a traditional bootcamp. Our younger students 18–22 treat it like a bachelors degree replacement. Our older students 22–28 treat it like a masters degree to kick off their career in software development. We’re kinda like a Y Combinator but for people — a people accelerator.
For the past 4 years, we’ve taught hundreds of people how to code in the Product College, and our graduates work at a bevy of startups and we have graduates at Apple, Google, SnapChat, Facebook, and other tech giants.
So what tech should you be learning? What languages or frameworks are people hiring for and what are trending?
Turning the Question Around
Instead of looking for a specific language or technology that is hip or trending right now, we suggest our students focus on mastering Important Software Paradigms rather than specific languages or frameworks.
Take a simpler example: Ruby vs. Python. People love to fight over which is “better”. The reality is they are the same paradigm. Both Ruby and Python are class-based, multi-threaded, scripting languages. Just pick one.
Ruby on Rails vs. Django vs. Sails.js — same thing.
As a young engineer, your goal shouldn’t be to becoming hyper focused in one language or framework, it should be to become flexible to work across the major software paradigms that dominate the tech world today.
To see what is trending — check out Module Counts.
Which Languages & Frameworks We Teach and Why?
Here are the languages we teach and why.
Swift — Native iOS apps are built in it
Python — An important language for the web and general scripting that also has strong data science and math libraries
Ruby — Ruby on Rails is written in it (and Rails is very popular)
C/C++ — A low level language for devices, CS fundamentals, and speed.
Elixer — A growing functional programming language.
The frameworks we teach are:
Express.js — It’s good to learn web development on a minimalist web framework.
Ruby on Rails — RoR continues to be a very popular web framework.
Flask — If you know Python, you might as well learn Flask.
React.js/Redux — React.js is a popular member of the newest generation of front end frameworks.