Software Engineering

The primary role of a software engineer is to be able to design, build and test high-quality software solutions.

Software Engineering

The primary role of a software engineer is to be able to design, build and test high-quality software solutions.

The software engineer role is broader and with higher levels of responsibility than a software developer as they need to apply engineering principles to all stages of the software development process, from requirements, analysis and design, development and data requirements whilst ensuring security robustness is built in. They will typically be working as part of a larger collaborative team and will have responsibility for significant elements of software projects.


Be able to:


Plan, design, build and test a simple network to a requirement specification that includes hubs, switches, routers and wireless user devices, applying appropriate security products and processes.

Determine the minimum network capacity of planned networks to meet network requirements.

Analyse network performance and troubleshoot typical problems in networks.

Identify the key characteristics of a new network service and develop estimates of the expected traffic intensity and traffic load that the network must support.

Design, build, test, configure and optimise a distributed network (more than 1 sub- net), including switches, routers and firewalls to meet given requirements

Identify and evaluate network security risks and incorporate appropriate security products and processes into network designs to increase security, resilience and dependability.

Required Technical Knowledge and Understanding

  • The fundamental building blocks (e.g. routers, switches, hubs, storage, transmission) and typical architectures (e.g. server/client, hub/spoke) of computers, networks and the Internet.
  • The main features of routing and Internet network protocols in use, their purpose and relationship to each other, including the physical and data link layer (e.g. https, HTTP, SMTP, SNMP, TCP, IP, etc.).
  • The main factors that affect network performance (e.g. the relationship between bandwidth, number of users, nature of traffic, contention).
  • Failure modes in protocols (e.g. why a protocol may ‘hang’ and the effect of data communication errors).
  • The ways to improve performance (e.g. application of traffic shaping, changes to architecture to avoid bottlenecks, network policy that prohibit streaming protocols).
  • The issues that may arise in the day to day operation of networks and how to resolve them.

Want to find out more?

TDM want to guide and drive your individual, employer-responsive learning journey.

Can't find what you're looking for?

Let us help you

Start your Tech and Digital career with career coaching and tech training

A six week full-funded programme to help you secure an apprenticeship or take on more digital responsibility in your role

Sign-up today

Find out more