What does a software engineer do?

Overview

Computer software engineers build the software that enable computers to perform their many functions. For example, software engineers are generally involved in making software for:
Operating electronics like mobiles, laptops
Internet search
Online shopping
View All
Social media
Games
Cyber-security
Operating robots
Enterprise management & analytics
Multimedia development (like video editing)
Engineering and product development
Collapse

Exciting new areas

Artificial intelligence
Internet of things
Virtual and augmented reality

Functions of a software engineer

Major technical functions of a software engineer (based on software creation process) are:
Design and Develop

In this virtual tour you will understand how a software engineer designs and develops software by working on similar engineering assignments.

Note:
Assignments are quite simplified compared to real work so that high school students can solve them

Keep me informed!

Please drop in your email address and we will inform you when the tour is available. Your email address is safe with us, we do not spam :-)

Tour Compatibility: Tours can be viewed well only on laptops/desktops and not on mobile phones currently.

View All
OTHER FUNCTIONS
Test

Determine tests to be conducted on the software to ensure it is working as required, conduct the tests and analyse the outcome.

Example:
To check if a website can handle the load of a million users at a time

Maintain

Ensure software product works properly after delivery by resolving any issues that occur, and improving performance or other attributes.

Example:
Software updates on your mobile and laptop

Research

Research ways to improve existing software technologies or invent new technologies, considering their development feasibility & market potential.

Example:
Find better methods for data compression to considerably improve rate at which images, videos can be transferred

Note - In industry, roles may also involve combinations of above functions and different companies may use different terminology for functions.
Collapse

What will I study in computer (software) engineering?

Software engineering undergraduate degree often involves following course areas:
Discrete structures

Mathematical structures that are discrete like integers (unlike real numbers which are continuous)

Practical example
Spell check programs in word processors suggest correct spelling for a word user miss-spelled by using probability to determine what word user might have intended to type

Related high school topics

Logic, set theory, number theory, mathematical induction, recursion, functions, sequences, summations, permutations & combinations, discrete probability, relations

Computer programming (including programming languages, object oriented programming)

Computer programming is the process of creating a set of instructions (program) that tell a computer how to perform a task

Practical example
Every software you have ever used is made up of programs

Data structures

Data structure is a way of organizing data in a computer so that it can be used
efficiently

Practical example
Undo and redo operation in word processors

View All
Database systems

Database is a collection of information organised in such a way that desired information can be easily accessed, managed and updated

Practical example
Storing users order information for an online shopping website

Algorithms

Design and analysis of algorithms (a sequence of actions that computer needs to take to give desired output)

Practical example
Algorithms used by search engines like Google to determine the order of links that users will be shown to meet their search query

Computer networks

Computer network is a system in which multiple computers are connected to each other to share information and resources

Practical example
Send and receive emails over the internet

Operating systems

Operating system (like Windows) is a software that acts as an interface between the user and the computer hardware and enables the execution of other software (like MS Word).

Practical example
Understanding operating systems like Linux, Android, macOS

Security

Computer security is the protection of computer systems (hardware, software, networks or data) from damage or unauthorised access

Practical example
Anti-virus software for your devices like laptop

Note - Courses may vary with university. Undergraduate engineering programs also include fundamental courses like physics, chemistry, calculus, which are often common to all engineering careers.
Collapse