Roadmap to Software Job for Non IT Person. Types of softwares. Client Server Overview

22-Dec-2023| 15min Read

In this tutorial, we will see, as non-IT people, how to achieve our goal of getting a job in the software industry as software developers. For this, we need to plan properly.

‘Roadmap’ is a planning sheet that helps us achieve our goal. Let's create a road map in this tutorial.

roadmap-software-job

Let's start with the last level in this 'roadmap', i.e., ‘Final Goal’. Our final goal is to crack a job at an IT company.

The first level is understanding what the roles and responsibilities of a software developer are and what are the benefits of a software developer. We already discussed all these in our first and second tutorials. If you have not yet seen or read the blog, I request that you please refer.

The second level is understanding what types of companies we have in the software industry. Which type of company we are picking as a strategy to achieve our goal, i.e. we chose ‘'service-based  company’. We already discussed this in our last tutorial.

The third level is understanding ‘application software development’. What are the types of applications we have and which one we need to select? We will learn it today in this tutorial.

The fourth level is understanding ‘frontend development'. We should learn what frontend development is, what backend development is, and which one we target as a strategy. We will learn that skill as part of this full series.

The fifth level is creating a ‘real project', we will create a full project right from scratch. Creating a project helps us refine our learned skills and improves our confidence for interview preparation.

The sixth level is ‘interview preparation'. We will prepare for the interview, and we will see various aspects of interview preparation like interview questions, communication skills, etc.

The last level, as already said, is ‘achieving our goal by cracking a job in the IT field as a software developer’.

—-----

Lets see what are the types of ‘Softwares’ we have.

Basically there will be 3 types of softwares we have in the market like 

  1. System Software
  2. Application Software
  3. Utility Software
  1. System Software : System software helps in running the system like an operating system. As you are aware, ‘windows’ is an operating system that helps run the computer system. The same way we have ‘mac OS', it is a system software that runs on Apple computers. Other system softwares are ‘Android’, 'ios’, etc.

As part of our strategy, we won't focus on learning or building 'system software' because it requires a different type of skill set and is complex, which is out of scope for us. As a beginner, we need an IT job, so we will focus on the skills that are required for us to crack the job easily.

  1. Application Software : Application software runs over 'system software’, like Windows application software runs on the Windows operating system, Mac application software runs on the Mac operating system, and on Android, we install Android related application-level software, etc. 

Basically it is of two types

  1. Desktop Application Software
  2. Web Application Software
  1. Desktop Application Software: These types of software we install directly on operating system, like Photoshop, Ms office, etc
  2. Web Application Software: These types of software run on browsers(like google chrome), like figma, gmail, google drive, etc. We usually call them websites/webapps.

As a roadmap strategy we will pick ‘Application Software’ development and specifically we choose ‘Web App Software’.

  1. Utility Software: These types of software help as an add-on to an operating system’s functionality. For example, antivirus is utility software. In India, we have a famous anti-virus software, i.e., Avast. Another example can be 'Ccleaner'; usually, we use it to clean temporary files in our system.

As part of our roadmap strategy, we don't focus on these types of softwares as well.

In this series, we will be focusing on web application software. We will learn everything related to it, right from the basics of coding to the end of deployment.

—-----

 

Lets see how ‘Web Apps Work’.

As we already discussed, ‘web apps’ or ‘web application software’ are the ones that run on browsers. For example, Facebook, Google Search, Gmail, etc. all fall under ‘web apps’. Let's try to understand a few of the fundamental concepts of web apps.

Few modules we have are Client, Server & Internet.

  1. Client: Client devices are with the end users, like a normal user like us. Few of the client devices are mobile, laptops, etc. The software that we install on client devices is called ‘client software’, like ‘browser’.

  2. Server: Servers are powerful computers. They help in serving websites/webapps to the client. It takes requests from websites and apps, understands them, processes them, saves them to the database if required, and sends back the response.

  3. Internet: Client communicates with the server using the internet. For example, if we are sending a message to our friend through WhatsApp, suppose our internet is off on the device. Do you think the message will be delivered to your friend? No, right, it's because the internet is the communication medium between client and server.

Client and its technology we usually call as ‘Frontend’, Server and its technology we usually call as ‘Backend’

In the backend, we have different types of technologies like Node.js, Dot Net, Java, etc. By using any of these technologies, we can build server applications.

 

In the frontend, we have different types of technologies like HTML, CSS, and Javascript (JS). Basically, these technologies help us build web applications. We also have Angular, Node.js, etc. You read it right: NodeJS is both frontend and backend technology. We have a famous library called 'react' that runs on Node.js for frontend development.

We will learn more about these concepts in further tutorials. In this series we will focus on ‘Frontend’ technologies’ like HTML, CSS, Javascript and React as a strategy.

Download / Share on:
left iconSoftware Developer Career Path
How websites works in simple language. How DNS Works.right icon