0% found this document useful (0 votes)
8 views

sun-software-engineer-final.original

The Software Engineering Bootcamp is designed to take participants from beginner to job-ready software engineers in six months, covering essential skills such as coding in Python and Java, software development lifecycle, and agile project management. The program includes personalized code reviews, hands-on projects, and career support to help graduates secure tech jobs. Participants will learn to design, implement, and maintain software systems while gaining exposure to industry standards and practices.

Uploaded by

Miles
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

sun-software-engineer-final.original

The Software Engineering Bootcamp is designed to take participants from beginner to job-ready software engineers in six months, covering essential skills such as coding in Python and Java, software development lifecycle, and agile project management. The program includes personalized code reviews, hands-on projects, and career support to help graduates secure tech jobs. Participants will learn to design, implement, and maintain software systems while gaining exposure to industry standards and practices.

Uploaded by

Miles
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Software Engineering

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.

Going beyond Software Development

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

Outcomes of this bootcamp


• Design solutions to problems, and express them using pseudo-code and algorithms.

• 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.

• Use established algorithms to implement machine learning.

• Use agile development for software development projects.

• Design, plan, build, test, debug, refactor, deploy and maintain a software system.

• Use established design patterns and Git to ensure version control.

• Become job-ready in as little as 3 months.

Code reviewers in partnership with


HyperionDev

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

The 1-on-1 code review approach works


Code review enables you to learn to code the right way through mastery of deeper aspects of software
development that are a prerequisite for a career in coding. We help you master the deeper aspects of
industry-level development and set the foundation for a lucrative career in coding.

Here’s why learning through code review is smarter:

DON’T MAKE THE SAME MISTAKES AS COMPUTERS


• Automated code checking is like spell check for computer programs. But you can’t
write a world-class essay with just good spelling — you need the right tone, facts,
grammar, and style. Only human review of your code can help you learn aspects
of coding that are analogous to tone and style that will make you truly fluent as a
developer — automated graders just can’t help you learn this!

GET UNSTUCK WITH ON-DEMAND TECHNICAL HELP


• Your mentor will ensure you move at a steady pace by helping you debug your
programs within 48 hours. Your mentor will help you debug your programs and move
forward so you never drop out.

BE EXPOSED TO THE INDUSTRY STANDARDS FROM DAY ONE


• Developers in the real world have their work assessed by a senior developer through
the technique of code review. We’re the only bootcamp in the world that exposes our
participants to this technique from day one so you get an unfair advantage in the job
market.
Software Engineering

We layer a proven, personalised


approach to our code review

INDUSTRY EXPERTS TAILORED TO YOUR GOALS


• You’ll be paired with an experienced mentor who will guide you through 1:1 calls, career
coaching, and live chat and email support.

JOIN A COMMUNITY OF CAREER-CHANGERS


• Learn as part of a cohort of participants all working towards ultimate career fulfilment.
Join online group tutorials, community chats and meetups, and peer coaching.

FREE OF FEAR OF FAILURE


• Human-led code review builds trust with your educators and lets you progress at your
own pace. Establish a safe space to discuss any roadblocks without fear of failure.
Software Engineering

Why choose Software Engineering


as a lucrative career?

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.

How we get you hired

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.

TECHNICAL CV AND PORTFOLIO BOOTCAMP CERTIFICATE

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.

INTERVIEW PREPARATION JOIN OUR HIRING NETWORK

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:

• Building and maintaining web applications.

• Assessing the efficiency and speed of current applications.

• Writing high-quality code.

• Managing hosting environments.

• QA testing.

• Troubleshooting and debugging.

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, maintaining, monitoring and supporting the IT infrastructure.

• Writing scripts for service quality analysis, monitoring and operation.

• Designing procedures for system troubleshooting and maintenance.

• Investigating and resolving technical issues by deploying updates/fixes.

• Implementing automation tools and frameworks for automatic code deployment (CI/CD).

• Quality control and management of the code base.

According to Indeed, the average salary for a development operations engineer in South Africa
is R 39 103 per month.
Software Engineering

JUNIOR SOFTWARE ENGINEER


Junior Software Developers are entry-level software developers that assist the development team with
all aspects of software design and coding. Their primary role is to learn the codebase, attend design
meetings, write basic code, fix bugs, and assist the Development Manager in all design-related tasks.
Responsibilities include:

• Assisting the development manager with all aspects of software design and coding.

• Attending and contributing to company development meetings.

• Learning the codebase and improving their coding skills.

• Writing and maintaining code.

• Working on minor bug fixes.

• Monitoring the technical performance of internal systems.

• Responding to requests from the development team.

• Gathering information from consumers about program functionality.

• Writing reports.

• Conducting development tests.

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.

• Takes responsibility for understanding client requirements, collecting data, delivering


analysis and problem resolution.

• Designs software components and modules using appropriate modelling techniques


following agreed software design standards, patterns, and methodology.

• Recommends designs which take into account target environment, performance


security requirements, and existing systems.

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:

• Liaise closely with external or internal clients.


• Analyse clients' existing IT systems and business models.
• Map and document interfaces between legacy and new systems.
• Understand software development lifecycles.
• Translate client requirements into highly specified project briefs.
• Identify options for potential solutions and assess them for both technical and
business suitability.
• Conduct requirements analysis and prepare specific proposals for modified or
replacement systems.
• Develop solutions and related products.

According to Indeed, the average salary for a systems analyst in South Africa is R 39 607
per month.

SOFTWARE TESTER

As a Software Tester, you'll be involved in the quality assurance stage of software


development and deployment. You'll conduct automated and manual tests to ensure the
software created by developers is fit for purpose and any bugs or issues are removed from a
product before it gets deployed to everyday users.
Responsibilities include:

• Work with software developers and project support teams.


• Identify business requirements.
• Plan projects.
• Monitor applications and software systems.
• Carry out stress testing, performance testing, functional testing and scalability testing.
• Write and execute test scripts.
• Run manual and automated tests.
• Test in different environments including web and mobile.
• Write bug reports.
• Assess code.

The average salary for a software tester in South Africa is R 32 135 per month.
Software Engineering

Structure of the bootcamp


This bootcamp helps you progress from learning the basics of programming to becoming a software
engineer with a rewarding and satisfying job. Proceed from novice to advanced level, and land the
successful career you deserve.

BOOTCAMP PREP (BEFORE YOU START)

• 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.

INTRODUCTION TO PROGRAMMING (BEGINNER LEVEL)

• 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.

INTRODUCTION TO SOFTWARE ENGINEERING (INTERMEDIATE LEVEL)

• 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.

ADVANCED SOFTWARE ENGINEERING (ADVANCED LEVEL)

• 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.

CAREER READINESS AND EMPLOYABILITY (POST BOOTCAMP COMPLETION)


• Once you have completed your bootcamp, we provide career support and guidance,
including interview preparation and CV review, to equip you with technical skills and
professional career development tools to succeed in your job search.

• We introduce our bootcamp participants' to the industry through various networking


events, career expos, and job opportunities with our hiring partners. Most of our
participants get hired within six months of completing the bootcamp with our support
and mentorship.
Software Engineering

Breakdown of syllabus
The bootcamp is structured to allow you to start coding as soon as possible. Tasks are designed to:

• Teach you the theory needed to develop your skills.

• 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

Tasks: 30 Capstone projects: 4

Learn how pseudo code can help you clarify your


Thinking Like a Programmer
1 thoughts and properly plan your programs before writing
- Pseudo Code I
any code.

Thinking Like a Programmer


2 Delve further into algorithm design and representation.
- Pseudo Code II

Get acquainted with Python, the powerful, easy to


Your First Computer
3 learn and extremely popular, high-level programming
Program
language.

Variables - Learn how to store and interact with the data in our
4
Storing Data In Programs programs using variables.

Learn how to store and manipulate text using


5 The String Data Type
the string data type.
Software Engineering

Explore the different types of numbers used in the Python


6 Numerical Data Types
programming language.

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.

Learn how to tell the compiler how to perform specific


Logical programming:
10 mathematical, relational or logical operations using
Operators
operators.

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 execute a block of code repeatedly until a


12
Structures: While loop given condition returns false using while loops.

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

Learn how to manipulate text using Python's built-in


15 String Handling
functions.
Software Engineering

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.

Working with External Data


18 Learn how to write data to text files.
Sources - Output

Learn how to write data to text files. Put everything you’ve


19 Capstone Project II - Files
learnt about files to the test in this comprehensive task.

Beginner Data Structures - Learn how to manipulate lists and become acquainted
20
Lists and Dictionaries with dictionaries.

Beginner Programming Learn how to use Python's built-in functions to provide


21 With Functions - Using better modularity for your programs and encourage code
Built-In Functions reuse.

Beginner Programming with


Create your own Python functions to carry out specific
22 Functions - Defining Your
tasks.
Own Functions

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

Explore the concepts of recursive programming and how


26 Applied Recursion
to “think recursively”.

Towards Defensive
27 Learn how to guard against errors you don’t expect.
Programming II

Introduction to Introduction to the principles of Object Oriented


28
OOP I - Classes Programming (OOP).

Learn how you can improve the modularity and reuse


Introduction to
29 of code using inheritance, and the critical role it plays in
OOP II - Inheritance
Python's object system.

Apply the fundamentals of object-orientation to solve a


30 Capstone Project IV - OOP
simple problem.
Software Engineering

Introduction to Software Engineering

Tasks: 23 Capstone projects: 2

Delve into the concepts of the software development


1 The Software Process
process and the software process models.

Learn about agile development and one of the most


2 Agile Development
popular agile methodologies - Extreme Programming.

System Requirements and Explore best practice guidelines for defining your product
3
Design and UX/UI design guidelines and tools.

Discover the various components that make up and


4 System Architecture
interact with a software system.

Discover how to ensure that your developed software is


5 Quality Management
both dependable and secure.

Discover the best practice guidelines for ensuring


Deployment and
6 effective deployment and maintenance of software
Maintenance Best Practice
systems.

Introduction to Network Learn how computers communicate with each other


Protocols and System over the internet using the HTTP protocol, and learn the
7
Architecture: HTTP and commonly used client-server architecture for transferring
Client-Server information using HTTP.

Learn to use the command line for web development,


Working From The
8 including basic commands and functionality used with
Command Line
the command line.
Software Engineering

9 Introduction to Databases Compare relational, graph, and NoSQL databases.

Design and Build Relational Design a database by applying normalisation principles.


10
Database Create relational databases.

Learn how to communicate with your database using SQL


11 Working With SQL
and MySQL.

Get comfortable with SQLite, a self-contained, public


12 SQLite
domain SQL database engine.

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.

15 HTML Overview Learn to use HTML to add content to a webpage.

16 CSS Overview Use CSS to improve the appearance of your webpage.

Bootstrap: Build Attractive


17 Pages Faster Using Learn how to style like Twitter does.
Bootstrap
Software Engineering

18 Django I Introduction to Django.

19 Django II Build a blogging application.

20 Django III Build a poll application.

21 Django IV Extend the poll application.

22 Django V Authentication and Authorisation.

23 Capstone Project II: Django Build a Django web application.


Software Engineering

Advanced Software Engineering

Tasks: 13 Capstone projects: 2

Learn how to extract and import data from different


1 Sources of Data
sources (JSON, XML, CSV).

Learn about data sources and types, data structures, and


2 Sorting and Searching how to use these, including ordering and finding data in
different types of data structures.

Version Control I:
Explore the Git version control system and the GitHub
3 Introduction to Version
collaboration platform.
control and Git

Dive into using Git and discover how to set up a


4 Version Control II: Git Basics repository, use common Git commands, commit a
modified file, view your project's history, and branch.

Version Control III:


5 Deployment of Static Learn how to deploy your websites using GitHub Pages.
Websites

Use GitHub to start building a portfolio of work that you


6 Build Your Brand
can share with others to showcase your skills.

Learn about how Git is used in real-world collaborative


7 Version Control IV: Pipelines
project.

Learn Docker, a service that is used to build and share


8 Containers: Docker
applications regardless of the platform it is run on.
Software Engineering

Learn about the various forms of software documentation


9 Software Documentation
and how they can improve the quality of your software.

Add version control to your Django project, document the


10 Capstone I
project, and containerise it.

Get acquainted with Natural Language Processing by


11 Introduction to NLP learning about parts of speech, parsing, and how to install
and start using spaCy.

Learn about semantic Similarity, a popular application of


12 Semantic Similarity (NLP)
NLP widely used for social media analysis.

Utilise your newly acquired knowledge of semantic


13 Capstone Project II: NLP similarity and natural language processing in this final
capstone project.

You might also like