With dozens of possible programming languages to learn, it can be hard to know whether the web development boot camp you’re considering will teach you the “right” one. But is that the most important question?
Joshua Vial eschews job titles but calls himself a “catalyst” at Enspiral Dev Academy. He’s an entrepreneur and a founder of the Enspiral network. Here he explains a bit about what you’ll be learning at Dev Academy during the 18-week course, which runs in both Auckland and Wellington, New Zealand.
That transition over the past few years has been motivated by a few things. First of all, Ruby gained a lot of popularity over the past decade, particularly in the United States. On the other hand, in Wellington there are more C# jobs so when we set up the school we translated the curriculum into C# and taught it alongside Ruby. What we often found was that C# companies would hire our Rubyists and Ruby companies would hire our Sharpies, and it didn’t matter that much what people were trained for in terms of the job they got.
Confused? In object-oriented programming, the data, and the functions that operate on the data, are bundled together and they live in objects. It’s a way of thinking about the world that goes a bit like: “Oh, there’s a chair in this room; I’m going to make a chair an object, and it’s going to have, ‘Chair can be sat on, and chair has four legs, and chair is blue,’” sort of stuff. You start to reason about the world in that kind of way.
In functional programming, you have your data and it lives somewhere; it’s your state and then you have functions that transform it but they are separate. That means it’s much less about reasoning about chairs and more reasoning about data structures and operations that transform them. It’s a very different way of reasoning about software.
HOW WE CREATED OUR CURRICULUM
The experience we had of going from Ruby to C# meant that we learned a little bit about translating curricula; we’d take the same structures and challenges and concepts and then rewrite them in a different language. As part of that, we used some challenges that we knew would really teach people about functions, or databases, or recursion, or how to introduce APIs and the web. Those concepts are exactly the same; we’re just using a different language to teach them. There was also thought going into what libraries we were going to use, and how and when we were going to teach automated testing. There was a lot of evaluating technologies and libraries and striking a balance between maturity and modernness.
WHAT DOES ALL THIS MEAN FOR JOBS AFTER I GRADUATE?
I don’t know how many of our graduates have got jobs through job ads but I know that many don’t. I would treat the requirements of the ads fairly lightly, personally. The only jobs I’ve ever got have been from ignoring the ad and saying, “Hey, hire me.” The reality of the tech talent shortage is that if you find a good developer, you should hire them, even if they don’t fit your exact requirements. A lot of big companies are less flexible around their selection. Often our graduates find success when they say, “Six months ago I couldn’t program — now look at what I’ve just built. What do you think I can build for you in a year’s time?” and the company is excited by that.
That’s especially the case for graduate roles; if people are hiring graduates and they’re looking for someone with one or two years’ experience in a language, then it’s the wrong kind of ad and that company’s got the wrong approach to hiring. There are lots of companies like that. Some companies will never hire our grads because they don’t tick the boxes and the company’s very conservative about that — and our grads shouldn’t be working there anyway.
THE BOTTOM LINE
The biggest thing we teach our students is how to use technology, because they’re going to spend the rest of their careers doing that. It’s a way of thinking, not a particular language. One of our students (now working with React in Sydney) was applying for a job where they gave him a code challenge to do over a week with a , “Please rewrite this in Angular.” His response was, “Better learn Angular!”
What students learn at Dev Academy — the exact technologies and libraries they learn — are only used by a small number of companies. That’d be the case for any technology we taught, even if we went with the biggest, most popular ones, like the big C# stacks — every company would have a different stack and different tweaks on it. You get hired anywhere; you have to learn some new stuff. That’s what we prepare our students for.
Keep reading for more from @joshuavial on how this compares to a university computer science degree, whether a career as a programmer is right for you, and how Enspiral Dev Academy is trying to help build diversity in the tech sector. Think EDA might be a good fit for you? Apply now.