Find Jobs
Hire Freelancers
Chat with Ava - Your AI Business Consultant
User Avatar
Hi I'm Ava, your AI guide to supercharging your business!
Whether you're already running a business or dreaming of starting one, I'm here to help turn your vision into reality using AI powered freelancers. Share your business goals, and together, we'll create a project that our talented freelancers can bid on. Let's make your vision a reality!
I have a business
I'm starting a business
Something went wrong while sending the conversation to your email. Please try again later.
You can only save your conversation once per hour. Please try again later.
Your conversation is too short. Keep chatting with Ava to enable saving.

What type of software should you develop?

If you're a developer with itchy coding fingers, but not sure which type of software you should develop, this post will give you some direction.
Jun 27, 2019 • 5 minute read
Updated on Feb 6, 2020 by Closed User
Cover Photo

A rundown of the different types of software you could build

So, you're an entrepreneur who wants to develop the next big thing. A bit of software that blows minds and makes other developers smack their foreheads in “why didn't I think of that” disbelief. A coded marvel that redefines the technology space and gets users hooked and hungry to pitch their money at you in dangerous-sized wads. Good to hear it!
That said, there may be one teensy tiny barrier standing between you and this great destiny: you don't quite know what type of software to develop. Or, alternatively, you have the inklings of an awesome idea, but you simply don't know what category your baby fits into.
Join with us now as we do a rundown of different types of software out there and the demand for each. Let's answer all of your questions and set your entrepreneurial feet on the path to Easy Street.

Featured Work in Programming

Portfolio item image
Bitrix24 Installation
by d1mf13
Portfolio item image
Delphi Application to Consume SOAP
by qprotex
Portfolio item image
Conversion PSD to HTML
by puneetjaini
Portfolio item image
Ticketing System
by jameer8879

Major software type 1: Applications software

Let's chop everything right down the middle from the get go. When it comes to types of software, you have two major groups: Application software and system software. Let's dive into the former first.
Application software can be further divided down into Specific Purpose Software or General Purpose Software. Applications can be a multitude of things — word processing, SaaS tools, spreadsheeting, image manipulation, games — just about anything your heart desires, really.
Before we continue into these two subcategories, it's also worth noting that as pieces of software have become more and more laser-focused on specific tasks, clustered suites of them have sprung up. For example, Adobe offers a suite of design software that allows a variety of complex artistic disciplines to co-exist remarkably well, be it desktop publishing, web design, video creation and more. Similarly, Microsoft has its popular Office suite, a multi-software offering that's essentially a one-stop shop for cubicle drones everywhere.

Specific purpose software

It's all in the name, really. Specific Purpose Software is a piece of code written to do a very particular thing. We'll give you a few "for instances" here, to help fire up your own imaginative juices.
We might be talking about a billing system that deftly itemises your company's goods and services. Or we could be talking about a security system that tracks the attendance of employees via biometric integration. Alternatively, you might need some Specific Purpose Software to conduct HR administration. Closely related to that last example would be a bit of accounting software that handles accounts payable and/or employee payroll.

General purpose software

General purpose tasks are pieces of code that have a much broader scope in terms of usage and adoption. A prime example would be a piece of multimedia software that allows the user to weave together an impressive pastiche of video, images, animation or hyperlinked web content. A lot of the aforementioned content will have most likely been tweaked into their optimum forms via another bit of General Purpose Software; a graphics editing program like Photoshop, perhaps.
Another example: the beancounters you know down in the accounts department will have discarded their calculators and abacuses long ago. They all crunch numbers on electronic spreadsheet software. Likewise all of your pertinent contact info and office misdemeanors will have no doubt been logged into a DBMS (Database Management System).
Last but not least, the very words your reading now have been brought to you by one of the most widely used pieces of general purpose software used in the world today. Thanks, word processor! You've saved me countless hours and have eroded my once acceptable penmanship to the point where people mistake me for a doctor. One with arthritis.

Freelance Programming Experts

User Avatar
Flag of Amr S.
50 USD / hour
5.0 (175 reviews)
C Programming
Visit profile
User Avatar
Flag of Miguel Angel F.
120 USD / hour
4.9 (215 reviews)
C Programming
Visit profile
User Avatar
Flag of Shivam P.
20 USD / hour
4.8 (171 reviews)
Web Security
Matlab and Mathematica
Visit profile
User Avatar
Flag of Protovo Solutions LLP
30 USD / hour
4.9 (117 reviews)
Website Design
Visit profile

Major software type 2: System software

The other major direction you can go in is writing Systems Software. The output you'll produce here is considerably less flashy and high-five worthy to anybody not holding a computer science degree, but it'll also be incredibly important. System software is the stuff that includes programs dedicated to managing the computer itself – file management and the disk operating brains of your computer.
The latter, known as the DOS, handles the physical hardware resources available to your computer in addition to applications and data. Basically, if it weren't for system software, you and I would be clacking away on our keyboards, typing instructions of War & Peace length in to make the most basic things imaginable happen on the screen.
From here System Software can be further categorised down into two more disciplines, System Management Programs and Developing Software. Let's take a quick gander at each of those now.

System management software

The first discipline concerns the operating systems (or OS) we've already spoken about, also device drivers and system utilities. A good example of device driver software could be some finely coded instructions that can optimise the output abilities of a graphics card (to make video games look even more disturbingly lifelike). Meanwhile, a system utility is written as a sort of hardware maid to clean up disk drives of bad data, or to compress/backup/defragment/virus check your files.
System Management Software also extends to the Basic Input/Output System (or BIOS) that controls the hardware plugged and wedged into your computer's motherboard. We're talking stuff like the RAM, Blu-Ray drive, Graphics card, UDB ports, Cooling Fans and more. Without the proper software to cohere all those bits and bobs into a basic known state, your HAL-9000 PC wouldn't even boot up. 

Development software

This second discipline takes a different route as it's roftware equired for the (hopefully) easy creation of yet more software. Some popular sub-categories include programming languages, language translators, linkers and loaders.
Programming languages are typically rated as low-level and high-level (an e.g. of each would be assembly language and C++). There's also machine language that is the real nitty-gritty, super primitive binary stuff that a computer (and Neo from The Matrix) reads. Language translators are comprised of Assemblers/Compilers/Interpreters that are like digital towers of babel that allow foreign bits of code to find common ground and communicate effectively.
Lastly, Linkers are system programs that scoop up a variety of disparate libraries and object modules into a coherent executable (i.e., a program). A Loader is like the ignition spark that transitions an executable file from your chosen disk and into your computers memory, thus booting the software.
Now that you have a firmer grasp on the wonderful world of software, what will you create? Will you dazzle the world with System software that powers a new generation of uber-powerful Batcomputers? Or will you code some application software masterpiece that makes life immeasurably easier and quickly becomes indispensable?
Alternatively, you could take the much, much (much) easier route. Present your idea to a software developing wunderkind that you've hired on Have them build your software dreams into reality. At minimum, you'll save yourself about a decade's worth of studying and school fees!
Tell us what you need done
Enter your project name
Start your Project
Related Stories

Talk to one of our Technical Co-Pilots to help with your project

Get Help Now

Recommended Articles Just for You

Article Thumbnail The ultimate guide to hiring a web developer in 2021
If you want to stay competitive in 2021, you need a high quality website. Learn how to hire the best possible web developer for your business fast.
11 min read
Article Thumbnail Web development: Front end vs back end
Want to get into web development but don't know whether to be a front end or back end dev? We'll teach all of the skills required for both jobs.
8 min read
Article Thumbnail Scaling your startup for the future
Scaling your startup is a delicate balancing act. Scale too quickly and your funding is depleted. Scale too late you've missed your opportunity.
23 min read
Article Thumbnail How to come up with a great business idea
Struggling to come up with the best idea? Our exhaustive guide runs through the idea generation process to help you tap into your inner Steve Jobs.
10 min read
Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.