The Complete Absolute Beginners’ Guide to Software Development

divine dela
3 min readJul 17, 2019

A Software developer is someone who creates Computer Software. Most people use at least one or more software daily, some of the commonest being WhatsApp, Netflix, Google search engine, Microsoft Word, Windows Operating System.

A Software developer writes special instructions for computers to process using what is known as a programming language. Like Human languages allow human beings to communicate with one another, a programming language allows a software developer to tell the computer what to do. Examples of programming languages are PHP, Javascript, Java, C, C++, C#, Dart, Python, and Go.

These instructions could take various forms such as what should happen when a user double taps a like button on Instagram, or what should happen when a user hits the send button on WhatsApp.

Most software developers these days build one of the following three types of software: Mobile Apps, Web Apps and Desktop Apps, with Mobile and Web App developer jobs being the commonest.

Mobile Applications

Mobile applications are what most people call “apps”. They are software that run on mobile devices. Examples include WhatsApp, snapchat, Instagram, and Tinder. Many of these apps also have Web App versions.

Web Applications

A web application or Web App is a software that runs in the browser (e.g Microsoft Edge, Google Chrome, Safari). Facebook on the web is an example as well as the Google search engine on the web.Many web applications involve you registering after which an account is created for you. You can then log in to the Web App from any computer as long as you are connected to the internet.

Desktop Applications

Desktop applications are designed to run on the computer. You typically use them by installing a file on your computer. Unlike web applications, when you need to use a desktop app on a different computer, you will need to install the app on the other computer too. Microsoft Word is an example of a desktop application.

Software Developer Roles

  1. Front-end developer
  2. Back-end developer
  3. Mobile app developer

Both Front-end and Back-end developers are actually web app developers who have different roles. These two roles are necessary because of how modern web apps are designed.

Front End Developer

A front end developer is a web developer who uses HTML, CSS, and Javascript to build the front end aka client-side of a web application. This is the part of the app that is visible to the end-user. End users are able to interact with the Web App from the front end.

Back End Developer

A Back-end developer builds the back-end or server-side of a web application. Every web app has a part that is hidden from the end-user. You could think of this hidden part as the powerhouse or brain behind all the functionality you love on the front end.

Developers with this role handle the business logic and securely storing and retrieving data for the front end. A Back-end developer could use Javascript, Java, C#, PHP, Python, and other languages to develop the back-end of a Web App.

Full-Stack Developer

A full-stack developer is someone who has the expertise to build both the front end and back end of a web application. A Fullstack developer usually starts out as either a front-end or back-end developer and later learns the necessary technologies to become a full stack developer.

Mobile Apps Developer

Mobile apps developers build mobile apps. Some of the commonest programming languages used by these type of developers are Java, Kotlin, Objective C, Swift, Dart and JavaScript.

What Tools do you need to become a software developer?

  1. Working computer
  2. Code editor — A special text editor program for writing code. A great example is VS Code — works with a lot of programming languages.
  3. Stable internet connection (optional but highly recommended).

In a next post we’ll take a look at what a learning path from complete beginner to a professional looks like.

--

--

divine dela

Web and Mobile Apps Developer at Xola Digital, Accra. I love breaking down complex concepts in a beginner-friendly way.