Frequently Asked Questions

"It is no exaggeration to regard this as the most fundamental idea in programming: The evaluator, which determines the meaning of expressions in a programming language, is just another program. To appreciate this point is to change our images of ourselves as programmers. We come to see ourselves as designers of languages, rather than only users of languages designed by others. In fact, we can regard almost any program as the evaluator for some language."
Gerald Jay Sussman and Hal Abelson, Structure and Interpretation of Computer Programs

What is Upskill?

Upskill is a training website for programming and web development.

You'll learn by watching premium quality training videos on skills needed for a career in programming. Our videos are streamed in high definition directly on this site. You'll also be provided with exercises and solutions for algorithms and coding challenges. Also included are lessons on how to find the best jobs, interviewing practice and more. When you create a Free account, you get access to over 200 lessons automatically, forever. If you ever decide to upgrade to a Pro account, you'll unlock the entire website, giving you access to hundreds of hours of content and more being added all the time!

What makes Upskill unique?

Breadth and depth with surprisingly simple explanations.

Over 70,000 students almost unanimously agree that our teaching style is what sets us apart. Our core strength is in explaining complex concepts using simple, easy-to-understand language. As you'll see with our courses, everything is explained so simply, a child can understand it. There's a popular saying: "If you can't explain it simply, you don't understand it well enough."

And, we don't just teach you programming, we teach you how to think like an engineer. We also teach you how the computer "thinks" by covering details about the "engine" or interpreter that makes your code work. You'll learn, at the atomic level, how exactly the code you write with your bare hands gets your computer hardware to carry out any task you ask of it.

What skills will I learn from these courses?

Web development, computer science, software engineering, how to think like an engineer.

You're going to learn a massive set of skills from our course library. We often tell students: when you're looking for a new job or making a career change, try looking through a bunch of job listings in the category you're interested in. You'll start to get a sense of exactly which skills companies are hiring for and how much they're paying. In the world of web development, you'll see many acronyms like HTML, CSS, SQL, etc. You'll quickly notice that JavaScript pops up over and over! In fact, JavaScript is often cited as the most popular programming language in the world.

That said, these skills transfer to other languages - in fact being a successful programmer is less about any particular language and more about the how to think like a programmer and solve any software problem.

Why learn web development?

Low barrier to entry, rewarding work, high demand, high salaries, good entry point to a career in technology.

If you were around before the Internet went mainstream in the mid 90's, it's easy to appreciate its impact on human life (or how different life was before it). It's been called the great equalizer (Sundar Pichai, CEO of Google) or described as a central nervous system for the planet (Elon Musk), where any individual anywhere in the world has instant access to virtually all of the world's information and knowledge.

Web developers are the programmers who build the applications of the World Wide Web - which continues to grow rapidly. That said, over half the planet's population still does not have regular internet access, and that gap is closing fast. Imagine the growth to be seen over the next few decades. Needless to say, web developers are in high demand.

Furthermore, it's a great stepping stone into other arenas of programming like iOS/Android development, artificial intelligence/machine learning, video games, etc.

There’s no better time to be a programmer.

Fulfilling Flexible Great Salaries
Lead a fulfilling lifestyle.
Build things that change lives.
Work from home or abroad.
A job market in your favor.
Earn on average $100,000.
Entry level median $53k.

Our friends at Code.org pretty much summed it up.

Why focus on JavaScript?

Most popular programming language, easy to get started, high demand, versatile.

As mentioned, JavaScript is often cited as the most popular programming language in the world. As it turns out, JavaScript was born right there in the early days of the Web - created by Brendan Eich in the mid 90's - it quickly became adopted by all of the major browsers. Given the amount of web-surfing humans do, nearly everyone who's used a browser has been exposed to JavaScript. Contrast that with other programming languages, which typically require cumbersome setup and additional file libraries to work - JavaScript "just works" as it is built in to the browser, making it easy for beginners to dive in. It is now known as the language of the web.

In 2009, a mathemetician and programmer named Ryan Dahl created Node.js, which allowed JavaScript to be used outside of browsers. Before technologies like Node.js, web developers would usually rely on a separate language to operate inside of servers like PHP, Java (not to be confused with JavaScript), Ruby, or Python, etc. While these languages are fine, Node.js streamlined workflow and employers quickly got interested. This meant that instead of hiring many different types of programmers, employers could simply hire JavaScript experts to handle entire web applications from the front-end (user interface) to the back-end (server-side logic and algorithms).

Beyond that, JavaScript is used for many other kinds of programs. You can use it to build iOS and Android apps and even develop artificial intelligence. Needless to say, it's in high demand. Depending on where you look, JavaScript developer salary ranges from roughly $70-$100k on average.

If any of this terminology is confusing, don't worry because we explain it all very clearly in our courses! And, by the way, we hate jargon as much as you do, so we avoid relying on technical lingo to explain concepts at first. Everything is taught in simple, layman terms - it's part of what makes our courses so loved by thousands of students around the world.

What about all of these frameworks?

Start with programming fundamentals and pure JavaScript first. Frameworks are easy after that.

With JavaScript's rise in popularity, libraries and frameworks have been created to make JavaScript programming easier for experts. These are essentially collections of pre-written, free bits of code in files which you can add to your toolchain as you build a website. Facebook published React. Google works on Angular. Before that there was jQuery and Backbone and countless others. They all generally get you to the same outcome: a finished, well-organized website. However, they each have their own philosophy and learning curve. The problem is that too many new developers dive into these tools without focusing first on the fundamentals of programming with JavaScript. Picking up a new framework becomes trivial once you've learned the fundamentals first.

What's with all the jargon in this industry?

It has its pros and cons. Our mantra is to explain everything simply and clearly.

At the time of this writing, the opening lines of the Wikipedia article for JavaScript say: JavaScript...is a high-level, interpreted programming language that conforms to the ECMAScript specification. It is a language that is also characterized as dynamic, weakly typed, prototype-based and multi-paradigm. That means absolutely nothing to a newcomer. Jargon is useful for experts speaking with experts, but completely meaningless (and often frustrating) for students. As the great Richard Feynman put it, many things are poorly named and often have no meaning in and of themselves.

Part of what makes Upskill so unique is that we don't use jargon in our lessons. We explain things in simple language so that even a child can understand. That's not an excuse for lackig rigor or depth - quite the contrary, our lessons go into great depth and detail - but you get to enjoy learning as if a friend was walking you through the concepts...not a boring lecture full of meaningless jargon.