The golden child of the current and future generations of coders, developing for the web means coding those many web-pages you browse through over your morning coffee. It's diverse and ranges in complexity, from a <h1> "Hello World" </h1> to many dozens of interconnected files only the original developer knows how to organize.
Web development today is exploding thanks to the emergence of new web technologies and Application Programming Interfaces (APIs) which let websites "plug in" to other useful features. The Web today can deliver 'apps' that feel native, because browsers now are so much more than a URL bar and an Ad-blocker these days.
This one probably was unheard of 9 years ago, but today it's all the rage. Mobile Development could better be described as "App Development" and involves creating applications that run on mobile devices, such as iPhones, Android devices, and recently, the Windows 10 platform. Most popular OS's are built with their own programming languages but some traditional languages are being used as well.
The versatility of mobile development allows anything from Candy Crush games, to console-like quality games in the palm of your hand. Games aren't the only thing to focus on either; there are all sorts of apps for pretty much anything, from the ordinary, like finding a restaurant for lunch or catching up with news, to the random, such as reminding you to drink water throughout the day, or morphing your photographed face into a zombie.
Data is the new gold! Large data sets provide no value to anyone unless you know what to do with them. That's where data scientists come in â€“ they are able to find value in data just as much as the everyday person finds value in gold. In order to pull out valuable actionable insights, data scientists need to mine through and manipulate loads of data using analytical approaches. Think crunching large data sets, potentially using some cluster-computing approach, and developing a scientific application based on the findings of your data.
This is the "original" type of programming. These are 'standard' applications that perform their duties on traditional desktop operating systems, such as Windows, Mac, or Linux. It's often considered a programme, executed on demand by the user, that opens its interface in the confines of the OS that it's running in. Application development is basically the process of creating a computer program or set of programs that can assist the daily functionalities of the user or business.
Back-end development is the work that goes on behind the scenes to make sure the front-end program churning away does so without bringing half your computer to a standstill.
The back-end, or "server side", of a website is where the data is stored and it usually consists of three parts: a server, an application, and a database. Back-end developers need to understand databases, as well as server programming languages and architecture. If an application keeps crashing or is mind-numbingly slow or keeps throwing errors at you, it's likely to be a back-end issue.
Not used by most consumers, but critical in the software development industry, this type of development builds tools for other software developers to test their code with. Beyond simply testing, developing this software will ensure other developers' code conforms to industry standards and remains maintainable. Developing programs to (amongst other things) test other programs is no easy task, but tech giants like Microsoft and Google employ software devs by the bucketload to design applications for testing other projects on-the-go.