What To Learn

What Skills Should I Learn?

The most common question I'm asked by people pondering a career in software development is:

"What language should I learn?" 

And rightfully so! Let's start by doing a high-level overview of the skills that will make you an extremely in-demand developer.

Remember the Goal!

Our aim here is not to turn you into a rock-star senior developer. What we're trying to do is land you your first job as a junior developer. And to make that happen, what you need is a solid foundation of the basics. 

The Three Build-Blocks of EVERY app

Games. Mobile apps. Desktop apps. Web apps. They all (with very few exceptions) contain these three basic building blocks:

  1. A User Interface
  2. A Back-End
  3. A Database

This site will help you zero in on learning the basics of these three building blocks.

What Kind of Developer Do You Want to Be?

Based on the three build-blocks above, there are also there types of developers:

  1. Front-End (user interface only)
  2. Back-End (includes database)
  3. Full Stack (which just means both)

At first, it's kinda common for young padawans to say, "Well obviously I want to be full stack! Du!" 

And here's my take on that: You don't need to be. And I would encourage you to not try. At least at first.

Full-stack developers used to be a lot more common than they are now. But as the Internet has matured and the tools to develop for it have advanced, the skills needed for each skill set have become much more complex. So for now, I'd encourage you to find out which you enjoy more, and then drill into that choice.

Building Block 1: the Front-End

The User Interface, also called the Front-End, is the part of any application with which we are all familiar. It's the part we see, touch, and interact with.

All web-based apps (and even many mobile apps) use these four languages and tools:

Learn HTML 5

HTML 5

Learn CSS 3

CSS 3

Learn JavaScript

JavaScript

Learn BootStrap

BootStrap

HTML is used to tell your screen what to display. CSS tells your screen how to display it.

JavaScript is a potent language used to manipulate and update data on the screen, and to make calls into the back-end.

Bootstrap is a CSS-based platform developed by Twitter that makes it incredibly easy to make web pages look the same across all browsers, and to simplify making web pages responsive (meaning they auto-adjust to any size screen.)

Building Block 2: the Back-End

The back-end is also frequently referred to as the serer-side. This is the part of the application end-users never see. And as a result, it's not (at first) readily understood by many. But, in terms of size, lines of code, and man-hours spent building... the back-end is almost always the biggest piece of any application. By. Far.

When it comes to picking a server-side language, you have options. And truth be told,  when it comes to a happy and fruitful career, it doesn't really matter which one you pick, so long as you stick with the most popular:

Learn C#

C# (pronounced "see sharp") is the language I know and love. As a result, it's the language on which this site will focus.

Learn Perl Learn Java
Learn Python Learn PHP

Building Block 3: the Database

The database is the bedrock and the foundation of every software application.  And as a developer, you're really going to want a basic understanding of how to use them.

There are many databases out there, but two of them dominate the market. These two are similar enough that if you know one,  you know the other.  And because I use and know Microsoft SQL, that's the one we'll cover on this site.

Learn MS SQL

MS SQL

Learn MySQL

MySQL

Next, let's talk about the online learning platform where I recommend you do all of your learning.

Next, Where to learn