Software development is a vast field with many areas of specialisation. Nobody working in software development can know everything. Typically a developer will learn one language, for one project or one focus area (such as web development). Over time they build on this. Like learning human languages, the more languages you learn the easier it is to pick up another until as an accomplished developer, you become well versed in several languages and focus areas, with a bit of system administration, database administration, networking and project management thrown in.

Because it is such a large field, and because it has a reputation for being complicated, difficult and mathematical, the prospect of writing code can be daunting. This should not be the case. Other abilities, such as creativity, analysis, problem solving, research, lateral thinking, languages, provide just as much an advantage as mathematics. Unless your program specifically involves difficult maths, like astrophysics, you probably won't need maths any harder than what you learned in primary school.

While a computer science or IT degree will make you an expert, you don't need to be an expert to write and use of code. You can learn enough to solve a particular problem and build on that as new problems arise. It is easy to get started and even a simple program can be immensely useful. Even if you don't end up writing much software, a little bit of knowledge can be useful to understand why and how software isn't working, and how to fix it, or how to make the most of a conversation with someone writing software for you.

In tertiary education coding and software development is becoming increasingly important, not to replace traditional research, but as a tool to assist and expedite it and to make new research questions possible. The speed of access to and the ability to process information has transformed most academic fields.

Code is everywhere and transforms every field. Coding gives you more power to discover, innovate, create and critique.

Using This Course

We will use Javascript as an example because it is simple to get working on any computer - all you need is a text editor and a web browser. Javascript is a real language used on countless websites around the world so you will be acquiring a real world skill.

Although we happen to be using Javascript we will focus on learning basic principles that apply in any programming language. These basic principles haven't changed for decades and enable you to do a lot with a little.

When learning programming, don't worry if you don't remember all the details. What is important is to remember the principle and what it is used for. You can search for or look up the details when you need to. For example, at the end of this lesson, you should remember what an array is and why you would loop through one. You can easily look up the specific commands for looping through an array if you forget, or in any different language you need to use. With a bit of practice, you will eventually remember what you need most.

To re-inforce these concepts, there are plenty of other tutorials on the web. Try the first sections of the HTML, CSS and Javascript streams in Code Academy or the tutorials of the long standing standards body W3C W3Schools.