sun-software-engineer-final.original
sun-software-engineer-final.original
Bootcamp
BOOTCAMP OVERVIEW
Software Engineering
Overview
If the idea of analysing a situation and seeing how it can be improved using software excites
you, then software engineering may be the career for you. Software engineering involves more
than just coding. This discipline uses principles applicable to a breadth of large-scale software
systems. Ultimately, you’ll be able to construct software solutions to solve specific business
problems.
The engineering process involves working with stakeholders to understand the requirements and
limitations of a software system. The software engineer analyses these requirements, and then
designs, implements, deploys and maintains the software system.
No prior knowledge of coding is required when taking this bootcamp, as we help you progress
from beginner to advanced, becoming job-ready in only six months. Right from the start of the
bootcamp, you’re taught how to think like a programmer by developing systematic algorithms to
solve various problems.
You’ll learn how to write code that can interact with databases, and that uses established design
patterns and algorithms to create useful software that solves real-world problems. Advanced-level
outcomes also include being able to test, debug, deploy and maintain software systems, as well as
guaranteeing their quality.
Throughout the bootcamp, you will be guided to develop the skills required to think beyond mere
software development and deployment. You’ll also learn to manage a software development project
using agile development while communicating with technical and non-technical stakeholders. Here
is where you learn how software forms part of a system’s architecture, and how to apply best practice
principles during the software development lifecycle.
Software Engineering
The proccess
Step 1 Step 2
Log onto your personalised Complete coding
dashboard exercises online
Step 3 Step 4
Your code reviewer reviews Perfect your coding over
your work within 48 hours 3-6 months
Step 5 Step 6
Complete the bootcamp Start your new career in tech with
with a certificate on HyperionDev support
completion
• Write useful code using Python and Java, two of the best programming languages to learn as
they’re used throughout the industry to create various web and mobile applications.
• Understand and apply computer science fundamentals, including data structures such as lists.
Other fundamentals covered include algorithms for sorting and hashing, and using Big O Notation
to analyse the performance of an algorithm.
• Design, plan, build, test, debug, refactor, deploy and maintain a software system.
Bootcamp code reviewers are expertly trained to integrate code review into the lives and bootcamp
curriculum of participants. The on-demand code review method helps participants to become fluent in
the language of their choice.
Software Engineering
Software engineering is a creative career that allows you to work with code and people, as well as
hardware and other computer systems. This career places you at the heart of the digital economy,
with endless scope for growth. Software engineers hold valuable skills that enable them to earn good
salaries.
If you’re looking for a career that is both rewarding and lucrative, software engineering delivers on both.
However, those who develop software engineering skills can also choose to pursue other career paths,
some of which we’ll delve into next.
We’re with you every step of your journey, and our support doesn’t end when you complete your
bootcamp. Our career services are developed to help you stand out from the crowd, and grab the
attention of top employers.
Receive technical assistance in getting your CV Walk away with a newly minted certificate as
industry-ready according to accepted best- evidence of your skills and expertise in software
practice format. engineering.
Know what to expect when getting ready for that We work with select hiring partners and will
big interview with expert interview preparation aim to help you land your first tech job after the
from professionals who have been where you are. completion of your bootcamp.
Software Engineering
Career paths
BACK-END DEVELOPER
A Back-end Developer builds, updates and maintains the server-side infrastructure, or "back end," of
a website or application. They make sure that the assets on the user-end are functional and data is
efficiently and securely stored.
Responsibilities include:
• QA testing.
According to Indeed, the average salary for a back-end developer in South Africa is R 49, 501
per month.
DEVOPS ENGINEER
A DevOps Engineer combines an understanding of both engineering and coding. They create and
implement systems software to analyse data to improve existing systems, while working with various
departments to create and develop new systems within a company. DevOps Engineers work to balance
various aspects of a project, including complex issues such as programming and network building.
Responsibilities include:
• Implementing automation tools and frameworks for automatic code deployment (CI/CD).
According to Indeed, the average salary for a development operations engineer in South Africa
is R 39 103 per month.
Software Engineering
• Assisting the development manager with all aspects of software design and coding.
• Writing reports.
According to Indeed, the average salary for a junior software engineer in South Africa is
R 19 429 per month.
DESIGNER
Software Design Engineers are tasked with identifying software problems and designing programs
to find solutions. They can either create a new product or iterations of existing software products to
improve them. They gather data about the process and incorporate existing software solutions while
determining and implementing the resultant software's parameters and limits.
Responsibilities include:
• Designs, codes, verifies, tests, documents, amends, and refactors complex programs/
scripts and integration software services.
According to Indeed, design engineers in South Africa earn an average salary of R35,000 per
month.
Software Engineering
SYSTEMS ANALYST
As a Systems Analyst, you'll use computers and related systems to design new IT solutions, modify,
enhance or adapt existing systems and integrate new features or improvements in order to improve
business efficiency and productivity.
Responsibilities include:
According to Indeed, the average salary for a systems analyst in South Africa is R 39 607
per month.
SOFTWARE TESTER
The average salary for a software tester in South Africa is R 32 135 per month.
Software Engineering
• Learn about the software development sector and how we support you in achieving your
development goals. Start programming with Python to attain a clearer idea of whether a
career in the software development industry is really for you.
• Get to grips with the fundamentals of programming and the Python programming language.
You also learn the basic concepts and master fundamental skills needed to code in Python.
• Learn Java, arguably the most popular programming language. Understand how
industry professionals develop software by exploring the best practices they use.
You’re also challenged to work on your programming skills, enabling you to deliver
the most effective solutions for clients.
• Take on the more advanced software engineering concepts and explore aspects such as
deployment and maintenance best practice, quality assurance, Big O Notation, machine
learning, and algorithms.
Breakdown of syllabus
The bootcamp is structured to allow you to start coding as soon as possible. Tasks are designed to:
• Give you the platform to practise implementing your new knowledge by completing
one or more practical activities.
Remember, you’re never alone. You can contact one of our expert code reviewers for 1:1 support whenever you need help with a
task. The code you submit for each task is reviewed by a code reviewer who is an industry expert, to help improve efficiency and
quality of code.
Introduction to programming
Variables - Learn how to store and interact with the data in our
4
Storing Data In Programs programs using variables.
Beginner Control
Learn how to use the if statement to make decisions
7 Structures: If Statements
in your program.
and the Boolean Data Type
Beginner control structure: Learn how to control the order in which statements are
8
Else statements executed using the else statement.
Beginner Control Learn how to check for multiple conditions using elif
9
Structures: Elif statements statements.
Capstone Project I:
Put your knowledge of variables and control structures to
11 Variables and Control
the test by creating an investment calculator.
Structures
Beginner Control Learn how to use the for loop to repeat a section of code
13
Structures - For Loop a specified number of times.
Towards Defensive
Discover the different types of errors that might occur in
14 Programming - Error
your programs and how to handle them.
Handling
Beginner Data Structures - Discover the most frequently used and versatile
16
The List collection data type used in Python - the list.
Working With External Data Create smarter programs by learning how to read data
17
Sources - Input from text files.
Beginner Data Structures - Learn how to manipulate lists and become acquainted
20
Lists and Dictionaries with dictionaries.
Hypothesis-Driven
Learn to debug methodically and move away from trying
23 Debugging With the Stack
to resolve errors randomly.
Trace
Beginner Programming
Use all the knowledge you have gained so far throughout
24 With functions: Defining
this course to create a useful program.
Your Own Functions
Introduction to Python -
25 Extend your knowledge about lists.
Data Structures - 2D Lists
Software Engineering
Towards Defensive
27 Learn how to guard against errors you don’t expect.
Programming II
System Requirements and Explore best practice guidelines for defining your product
3
Design and UX/UI design guidelines and tools.
Capstone Project I:
13 Design a system that interacts with a database.
Databases
Learn what the web is. To write programs that run on the
Introduction to Web
14 web, we first need to grasp what it is, and how people
Development
interact with it.
Version Control I:
Explore the Git version control system and the GitHub
3 Introduction to Version
collaboration platform.
control and Git