You are on page 1of 2

: Code: COMP2112 (3+0)

Overview of SE: Nature of Software, Overview of Software Engineering, Professional


Software development, Software engineering practice, Software process structure

Overview of SE:
Software engineering is the branch of computer science that deals with the design,
development, testing, and maintenance of software applications. Software engineers apply
engineering principles and knowledge of programming languages to build software solutions
for end users
Software engineers design and develop computer games, business applications, operating
systems, network control systems, and middleware—to name just a few of the many career
paths available.
A career as a software engineer can be both fun and challenging with opportunities to work in
almost any industry, including large and small businesses, government agencies, nonprofit
organizations, healthcare facilities, and more. And as technology continues to evolve, the need
for software developers continues to grow. Many companies are also shifting towards hiring
software engineers who work from home, allowing for increased flexibility and more
opportunities to enter the field.

Career of Software Engineering:


Career opportunities in software engineering are driven by new technologies in automobiles,
aviation, data management, telecommunications, factory control, robotics, defense, and
security. Software engineers may develop computer games, business applications, operating
systems, network control systems, and more. A bachelor's degree or higher is often required to
work as a software engineer.
Two common jobs within software engineering are applications developers and systems
developers.
Applications developers design computer applications, such as games, for consumers. They
may create custom software for a specific customer or commercial software to be sold to the
general public. Some applications developers create databases or programs for use internally
or online.

Systems developers create operating systems, either for the public or for an organization.
These operating systems keep computers functioning and control most of the consumer
electronics in use today, including those in cell phones and cars. Often, systems developers
also build the interface that allows users to interact with the computer.
Of course, applications and systems developer jobs are not the only two positions available in
the field of software engineering. Other common roles include mobile developers, applications
architects, quality assurance analysts, and database administrators.
Some common job titles for software engineers include:
1) Applications Architect
2) Applications Developer
3) Computer Applications Engineer
4) Database Administrator
5) Mobile Developer
6) Program Manager
7) Programmer
8) Project Leader
9) Quality Assurance Analyst
10) Software Engineer
11) Software Quality Engineer
12) Systems Analyst
13) Systems Developer

Tasks for a software engineer might include:


1) Designing and maintaining software systems or applications
2) Evaluating and testing new software programs
3) Optimizing software for speed and scalability
4) Writing and testing code
5) Ensuring platform compatibility
6) Creating and enforcing IT standards within an infrastructure
7) Maintaining documentation of IT systems
8) Releasing software updates
9) Collaborating with development teams, senior systems architects, and data science
professionals
10) Consulting with clients, engineers, security specialists, and other stakeholders
11) Recommending software upgrades for existing programs and systems
12) Presenting new features to stakeholders and internal customers

Skills do Software Engineers Need?


Software developers design software to help solve problems faced by real people. This requires
a combination of both technical and soft skills. A bachelor's degree in computer science,
software engineering, or a related degree program is the most common entry-level requirement
for software engineers.
Generally speaking, most software engineers will need to have the following technical
knowledge and skills:
1) Coding languages like Python, Java, C, C++
2) Object-oriented programming
3) Database architecture
4) Agile and Scrum project management
5) Operating systems
6) Cloud computing
7) Version control
8) Design testing and debugging

You might also like