Software engineer
Create, maintain, test and improve information systems to meet a business' needs.

About the job
What it's like
Have you got a passion for building great computer code that meets the needs of clients?
As a software engineer, you'll create, maintain, test and improve information systems. You'll work as part of a digital or technical team to develop and build computer system software and programs.
Software engineers need to have a good knowledge of programming languages. You'll also know about computer operating systems and software development.
You’ll need to be aware of potential cyber security risks and take steps to guard against them. It’s important that you understand cryptography, network security and incident response protocols.
You could work with computer games, fintech (financial technology) operating systems, websites or business applications. If you like to aim for the stars, you could even write code for rockets and spacecraft!
Working with clients, software engineers find out what their needs are to make a plan. Then you'll design, develop and test the software to make sure it meets those needs. You'll collaborate with others in a team, such as software developers, to see a plan through from start to finish.
Your tasks might include:
coming up with solutions to fix or improve software
considering cyber security precautions by implementing secure coding practices, scanning for vulnerabilities and doing penetration testing
writing or modifying computer code so you can deploy new or updated programs
maintaining and supporting systems after deployment
developing quality assurance procedures
carrying out system testing and quality checks before launching new or updated systems
Explore more information about this job
Here are some useful links to learn more about this career:
BCS, The Chartered Institute for IT – discover more about careers in IT
FutureLearn by The Open University – Introduction to Cyber Security
YouTube video – Day in the Life of an Amazon Software Engineer Intern
Like the sound of this career?
Browse courses in Scotland related to 'Software engineer'
Select qualification level(s)
Other careers that you might like
-
Games developer -
Software developer -
App developer -
Machine learning engineer -
Game designer -
AR/VR programmer -
DevSecOps developer -
Blockchain developer -
DevOps engineer -
Audio programmer -
Lead game engineer -
Project analyst -
Robot programmer -
Artificial intelligence engineer
Related industries
Many jobs can be done in lots of different industries. We've highlighted the ones we think are most important for this job.
-
Healthcare -
Financial and professional services -
Engineering and manufacturing -
Digital technologies -
Creative
Top skills
Skills are things you're good at. Whether you know what yours are or not, everyone has them!
It's useful to learn which ones are important in a job so you know the areas you need to brush up on. It can also help you work out if you're suited to a career.
Meta skills
Here are some of the meta skills you'll need to do this job.
- analysing
- making decisions
- developing a plan
- attention to detail
- researching
- problem solving
- creative
- written communication
- working with technology
- adaptability

Your skills are important
Our unique skillsets are what make us stand out from the crowd. Learn about each skill in depth and discover what employers look for in your applications and interviews.
Getting in
Explore each section to find more information about getting into this career.
Colleges and universities will list subjects you'll need for entry to a course. Some useful subjects include:
-
Computing Science
-
Graphic Communication
-
Skills for Work: Creative Digital Media
-
Foundation Apprenticeship: Software Development
You can get a head start in this career by doing a Foundation Apprenticeship in S5 and S6.
You'll get an SCQF level 6 qualification which is the same level as a Higher. You'll also learn new skills and gain valuable experience in a work environment.
Discover what's on offer at your school on Apprenticeships.scot.
There are a few routes you can take to become a software engineer.
University
A degree can be helpful for getting into this job. You could study subjects like:
Computer Science
Software Engineering
Information Systems
Mathematics
Got a degree in a different subject but want to move into tech? Don’t worry – there are relevant postgraduate courses available across Scotland.
Use the My World of Work course search to find courses.
Apprenticeships
Modern Apprenticeships (MAs) mean you learn on the job. You get paid and work towards a qualification at the same time. You might want to consider an MA in areas such as:
College
Getting qualifications at college, such as an HNC or HND, could help you get a software engineering job or progress to more advanced study. Useful subjects include:
Computing
Computer Science
Software Development
Software Engineering
Cyber Security
Information Technology
Coding bootcamps
A coding bootcamp is a short, focussed training programme. It’ll teach you how to code and build software. You may also get the chance to work on real-life tech projects.
These coding bootcamps often run for between eight and 16 weeks. Some of them are full-time, but there are part-time and online options too.
Once you complete the course, you’ll be ready to land a role in software!
Teaching yourself
Sometimes, people teach themselves the skills they need to become a software engineer. Plenty of people have done this successfully but it takes motivation, structure and time. If you enjoy learning independently, teaching yourself could be perfect.
Working on your own digital projects is key! This'll help you practice the software skills you’ve learned and allows you to create a portfolio. You’ll use this portfolio to show employers what you’re capable of and persuade them to give you a job.
Membership of an industry organisation can be a valuable way to build contacts and land a suitable role. For example, you could join ScotlandIS.
Find the right course for you
Browse courses in Scotland related to 'Software engineer'
