Skip to main content

Careers in data and technology: A senior software engineer’s advice

Alex Thain

During this blog we’ll be referring to a few different technologies and terms you may not know about, or not entirely sure what they mean. Before reading, it’s worth familiarising yourself with some of the terminology used when working as a software engineer.

Technology terminology dictionary

  • AGILE – A team working method commonly used within software teams.
  • AWS Cloud – AWS Cloud Computing software is a heavily used option in the industry. This grants you access to technology services such as computing power, storage and databases. A beginner course such as Cloud Practitioner Essentials will provide good basic working knowledge.
  • Back end – What makes the application or process work 'behind-the-scenes'.
  • Bash – A script writing tool to achieve automation and make daily jobs a lot quicker.
  • Front end – Used to describe 'client-side' code which is the end result you see in front of you as a user.
  • Git – For code management, e.g. sending code from your local code editor back to the place where the code lives whether it's GitLab, Bitbucket or GitHub etc.
  • Java – Java is one of the most well-known languages used to write web applications and backend functionality.
  • JavaScript/TypeScript – The code of choice for Cloud infrastructure deployment and writing front end code as you can leverage it within React and AWS Cloud Development Kit (CDK).
  • Jenkins/GitLab CI/ConcourseContinuous integration/continuous deployment (CI/CD) pipeline tools to achieve code deployments automation with the option for added tests and automatic scanning.
  • Node– An open-source code environment for executing JavaScript code. This means you can write front-end and back-end code in one language.
  • Python – A popular, standard, easy-to-learn language covering everything from basic scripting to complex data analysis tasks.
  • React – A front end development language that sits on top of JavaScript.
  • SQL – Structured Query Language. This is the standard language of databases.
  • YAML – A human-readable data-serialisation language.

Working as a software engineer

As a software engineer, it’s important to wear many different engineering hats as I cover a broad spectrum of responsibilities each day.

The job role entails being a key-shaped individual rather than T-shaped. This means having a skill level across many different areas rather than specialising in just one. It also means that you’ve got a responsibility to stay up to date with the latest trends and technology to ensure your codebase and work projects are updated with the latest features.

I tend to work full stack which is a mixture of front end and back end coding. I also work with deploying cloud infrastructure and solutions, testing, planning, and stakeholder communications.

Before getting into this career

I’ve always had a passion for technology and the way in which things work. I always found it interesting that the world relied on various ones, zeroes, and programming languages to operate (which seemed impossible to understand) - we almost can’t operate these days without the intricate code that’s formed to run almost all things we rely on.

This interest led me to do an apprenticeship in software, web, and telecoms. At the time, I was placed into a role at a secondary school as an IT technician. This wasn’t what I wanted to do but it did give me valuable experience in hardware related tasks and develop my soft skills.

Following this, prior to applying and gaining a place on a coveted industry leader's fast track software engineering programme, I worked in various unrelated roles such as factory work and landscape gardening. After a series of tests and interviews, I gained a place on a four month intensive course, which allowed me to join as a junior software engineer, which I’ve since developed into a senior software engineer role.

“Prior to gaining a place on a fast track software engineering programme, I worked in various unrelated roles such as factory work and landscape gardening.”

An insight into the day-to-day life of a software engineer

On a typical day, I’ll have a number of meetings which include project planning, progress output demonstrations and daily stand up, which is an agile practice that’s commonly used among software engineering teams.

Aside from meetings, I will usually go onto GitLab where I can see all of my tasks that I have in progress, and will start up my virtual environment through GitPod (a cloud-based code development editor where I write my code).

As a specialist in Cloud Infrastructure, I conduct a lot of my work on AWS utilising AWS CDK through TypeScript. Typescript is the programming language used to leverage AWS CDK, which is a development kit written by AWS to deploy infrastructure to their cloud environment.

“The job role entails being a key-shaped individual rather than T-shaped.”

A lot of my day is spent problem solving by writing code into TypeScript and deploying it to AWS through a CI/CD pipeline (this is where my code goes through various checks such as testing and vulnerabilities scanning). I’ll also spend time reviewing other peoples’ code to check for errors or functionality changes prior to approving it so that they can also deploy it to the AWS Cloud.

Most weeks I’ll be using languages such as TypeScript and Java for writing code and deploying infrastructure through AWS CDK, Bash for writing scripts to automatically achieve tasks, YAML for writing CI/CD (continuous integration/continuous deployment) pipelines in GitLab and Git for the management of my code. I’ll also play around with various downloadable tools that help me write code through NPM.

What I wish I knew before becoming a software engineer

I think the biggest thing to know prior to joining the industry is the soft skills required to be effective in the role. Having technical expertise is great, but making decisions as a team and engaging with leadership and stakeholders is the most important part as they must understand the technical jargon that you’re presenting prior to proceeding with project work. A software team comprises a variety of people, technical and non-technical, so that ability to engage with everyone effectively is essential.

I’d also say that having a broad repertoire and exposure to various languages, testing frameworks, planning skills and communication methods is a must. It doesn’t have to be in detail, but just get to grips with the way in which various languages intertwine.

As mentioned previously, due to the fast moving pace of technology, it’s more important to be adaptable to industry changes and demands rather than being an expert in one particular area. What’s being used today may not be used tomorrow, so being able to switch contexts is very beneficial. For example, Cloud is such a big thing now so going forward a beginner course in AWS such as Cloud Practitioner Essentials will give good basic working knowledge and stand you in good stead to develop that knowledge throughout your career.

Exciting industry trends

Like many others, the big trend at the moment is Artificial Intelligence (AI) and Machine Learning (ML). Machine learning has improved dramatically in the last few years and will continue to do so. Therefore, it’s important to stay on trend in the technology industry to retain your value to the company by being able to adapt and take in new knowledge.

AI/ML allows us to do amazing things such as auto analysis of video, text, and images to make speech-to-text, text-to-speech, and other tools to help people. There are also obvious benefits of seamless language processing to other languages, autonomous vehicles, fraud detection, image scanning and recognition, for example.

The list is endless, and lots of exciting stuff will come out to get involved in over the coming years. It’s almost a second internet boom right now, so being part of it is very exciting.

Advice for future software engineers

My advice for those looking to get into the industry is to play around with online tasks such as practice software projects, and create a free account on GitHub to keep your projects. You can practice creating games, websites, and more really quickly and easily. And it will give you a good idea of whether you can see yourself enjoying the challenge of researching, implementing and problem solving in the software engineering space.

Interested in starting your new career?

At Kaplan, we have apprenticeships for anyone who’s looking to thrive in the data and technology industry. With plenty of support, guidance, and practical experience, you can also progress your career and become a skilled software engineer like Alex.

If you’re ready to kickstart your career, browse our Software Developer Level 4 apprenticeship programme.

Alternatively, if you are currently seeking new employment or are currently employed but still unsure where to start, browse our current vacancies or read more to find out how to talk to your employer about starting an apprenticeship.

Kickstart your career in tech with an apprenticeship

Choose a programme
An image of Alex Thain

Written by Alex Thain

Alex is a software engineer with years of expertise for some of the UK's biggest tech companies working across AWS cloud infrastructure, data processing, cyber security and React-based front-end development.


Related articles

The past, present, and future of banking

The past, present, and future of banking

In this episode of our Learn Better podcast, Stuart Pedley-Smith spoke to the CBI Executive Director of Education, Tanya Retter.

Kaplan · 7 minute read

Mastering your CV: Tips for aspiring professionals

Mastering your CV: Tips for aspiring professionals

We held a webinar to provide tips on how to create or update a strong CV and tailor it to specific job vacancies that you apply for.

Kaplan · 11 minute read

Considering a career in insolvency: What you need to know

Considering a career in insolvency: What you need to know

The insolvency profession is commonly regarded as part of the legal sector, but many accountancy professionals also pursue a career in this area.

Kaplan · 5 minute read

View all articles

Careers in data and technology: A senior software engineer’s advice

Alex Thain

During this blog we’ll be referring to a few different technologies and terms you may not know about, or not entirely sure what they mean. Before reading, it’s worth familiarising yourself with some of the terminology used when working as a software engineer.

Technology terminology dictionary

  • AGILE – A team working method commonly used within software teams.
  • AWS Cloud – AWS Cloud Computing software is a heavily used option in the industry. This grants you access to technology services such as computing power, storage and databases. A beginner course such as Cloud Practitioner Essentials will provide good basic working knowledge.
  • Back end – What makes the application or process work 'behind-the-scenes'.
  • Bash – A script writing tool to achieve automation and make daily jobs a lot quicker.
  • Front end – Used to describe 'client-side' code which is the end result you see in front of you as a user.
  • Git – For code management, e.g. sending code from your local code editor back to the place where the code lives whether it's GitLab, Bitbucket or GitHub etc.
  • Java – Java is one of the most well-known languages used to write web applications and backend functionality.
  • JavaScript/TypeScript – The code of choice for Cloud infrastructure deployment and writing front end code as you can leverage it within React and AWS Cloud Development Kit (CDK).
  • Jenkins/GitLab CI/ConcourseContinuous integration/continuous deployment (CI/CD) pipeline tools to achieve code deployments automation with the option for added tests and automatic scanning.
  • Node– An open-source code environment for executing JavaScript code. This means you can write front-end and back-end code in one language.
  • Python – A popular, standard, easy-to-learn language covering everything from basic scripting to complex data analysis tasks.
  • React – A front end development language that sits on top of JavaScript.
  • SQL – Structured Query Language. This is the standard language of databases.
  • YAML – A human-readable data-serialisation language.

Working as a software engineer

As a software engineer, it’s important to wear many different engineering hats as I cover a broad spectrum of responsibilities each day.

The job role entails being a key-shaped individual rather than T-shaped. This means having a skill level across many different areas rather than specialising in just one. It also means that you’ve got a responsibility to stay up to date with the latest trends and technology to ensure your codebase and work projects are updated with the latest features.

I tend to work full stack which is a mixture of front end and back end coding. I also work with deploying cloud infrastructure and solutions, testing, planning, and stakeholder communications.

Before getting into this career

I’ve always had a passion for technology and the way in which things work. I always found it interesting that the world relied on various ones, zeroes, and programming languages to operate (which seemed impossible to understand) - we almost can’t operate these days without the intricate code that’s formed to run almost all things we rely on.

This interest led me to do an apprenticeship in software, web, and telecoms. At the time, I was placed into a role at a secondary school as an IT technician. This wasn’t what I wanted to do but it did give me valuable experience in hardware related tasks and develop my soft skills.

Following this, prior to applying and gaining a place on a coveted industry leader's fast track software engineering programme, I worked in various unrelated roles such as factory work and landscape gardening. After a series of tests and interviews, I gained a place on a four month intensive course, which allowed me to join as a junior software engineer, which I’ve since developed into a senior software engineer role.

“Prior to gaining a place on a fast track software engineering programme, I worked in various unrelated roles such as factory work and landscape gardening.”

An insight into the day-to-day life of a software engineer

On a typical day, I’ll have a number of meetings which include project planning, progress output demonstrations and daily stand up, which is an agile practice that’s commonly used among software engineering teams.

Aside from meetings, I will usually go onto GitLab where I can see all of my tasks that I have in progress, and will start up my virtual environment through GitPod (a cloud-based code development editor where I write my code).

As a specialist in Cloud Infrastructure, I conduct a lot of my work on AWS utilising AWS CDK through TypeScript. Typescript is the programming language used to leverage AWS CDK, which is a development kit written by AWS to deploy infrastructure to their cloud environment.

“The job role entails being a key-shaped individual rather than T-shaped.”

A lot of my day is spent problem solving by writing code into TypeScript and deploying it to AWS through a CI/CD pipeline (this is where my code goes through various checks such as testing and vulnerabilities scanning). I’ll also spend time reviewing other peoples’ code to check for errors or functionality changes prior to approving it so that they can also deploy it to the AWS Cloud.

Most weeks I’ll be using languages such as TypeScript and Java for writing code and deploying infrastructure through AWS CDK, Bash for writing scripts to automatically achieve tasks, YAML for writing CI/CD (continuous integration/continuous deployment) pipelines in GitLab and Git for the management of my code. I’ll also play around with various downloadable tools that help me write code through NPM.

What I wish I knew before becoming a software engineer

I think the biggest thing to know prior to joining the industry is the soft skills required to be effective in the role. Having technical expertise is great, but making decisions as a team and engaging with leadership and stakeholders is the most important part as they must understand the technical jargon that you’re presenting prior to proceeding with project work. A software team comprises a variety of people, technical and non-technical, so that ability to engage with everyone effectively is essential.

I’d also say that having a broad repertoire and exposure to various languages, testing frameworks, planning skills and communication methods is a must. It doesn’t have to be in detail, but just get to grips with the way in which various languages intertwine.

As mentioned previously, due to the fast moving pace of technology, it’s more important to be adaptable to industry changes and demands rather than being an expert in one particular area. What’s being used today may not be used tomorrow, so being able to switch contexts is very beneficial. For example, Cloud is such a big thing now so going forward a beginner course in AWS such as Cloud Practitioner Essentials will give good basic working knowledge and stand you in good stead to develop that knowledge throughout your career.

Exciting industry trends

Like many others, the big trend at the moment is Artificial Intelligence (AI) and Machine Learning (ML). Machine learning has improved dramatically in the last few years and will continue to do so. Therefore, it’s important to stay on trend in the technology industry to retain your value to the company by being able to adapt and take in new knowledge.

AI/ML allows us to do amazing things such as auto analysis of video, text, and images to make speech-to-text, text-to-speech, and other tools to help people. There are also obvious benefits of seamless language processing to other languages, autonomous vehicles, fraud detection, image scanning and recognition, for example.

The list is endless, and lots of exciting stuff will come out to get involved in over the coming years. It’s almost a second internet boom right now, so being part of it is very exciting.

Advice for future software engineers

My advice for those looking to get into the industry is to play around with online tasks such as practice software projects, and create a free account on GitHub to keep your projects. You can practice creating games, websites, and more really quickly and easily. And it will give you a good idea of whether you can see yourself enjoying the challenge of researching, implementing and problem solving in the software engineering space.

Interested in starting your new career?

At Kaplan, we have apprenticeships for anyone who’s looking to thrive in the data and technology industry. With plenty of support, guidance, and practical experience, you can also progress your career and become a skilled software engineer like Alex.

If you’re ready to kickstart your career, browse our Software Developer Level 4 apprenticeship programme.

Alternatively, if you are currently seeking new employment or are currently employed but still unsure where to start, browse our current vacancies or read more to find out how to talk to your employer about starting an apprenticeship.

Kickstart your career in tech with an apprenticeship

Choose a programme
An image of Alex Thain

Written by Alex Thain

Alex is a software engineer with years of expertise for some of the UK's biggest tech companies working across AWS cloud infrastructure, data processing, cyber security and React-based front-end development.


Related articles

The past, present, and future of banking

The past, present, and future of banking

In this episode of our Learn Better podcast, Stuart Pedley-Smith spoke to the CBI Executive Director of Education, Tanya Retter.

Kaplan · 7 minute read

Mastering your CV: Tips for aspiring professionals

Mastering your CV: Tips for aspiring professionals

We held a webinar to provide tips on how to create or update a strong CV and tailor it to specific job vacancies that you apply for.

Kaplan · 11 minute read

Considering a career in insolvency: What you need to know

Considering a career in insolvency: What you need to know

The insolvency profession is commonly regarded as part of the legal sector, but many accountancy professionals also pursue a career in this area.

Kaplan · 5 minute read

View all articles