When you enroll in this course, you'll also be asked to select a specific program.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 6 modules in this course
Are you curious about the lucrative field that is software engineering and how you might be a part of it? This is the course for you! By taking this course, you will gain foundational knowledge of software development, programming, and the many exciting job roles and career paths that the IT industry offers.
Learn about the power of the Software Development Lifecycle (SDLC), and modern software development frameworks methodologies like Agile and Scrum. Explore fundamental programming principles and foundations of design, architecture, and deployment. The course offers a number of labs that will help you get important hands-on experience. These include getting started with an IDE, the basics of programming in Python, and Hello World in 10 languages.
The field of software engineering is growing at an estimated rate of 22% according to the US Bureau of Labor and Statistics. In addition to aspiring software engineers, front-end, back-end, full-stack developers, and DevOps professionals, this course is also suitable for those in related careers such as Product and Project Managers, IT Managers, Information Developers, UI/UX designers, and others who communicate and interact with software engineers.
You will learn about the different job opportunities and possible career paths in software engineering and hear from industry professionals about their daily work.
Software engineering professionals are in great demand, and now is the right time to learn more about this exciting domain. Start by enrolling now!
In this module, you’ll explore the fundamentals of software engineering and what sets it apart from software development. You’ll learn how software engineering roles contribute to building reliable, high-quality systems, and how the Software Development Life Cycle (SDLC) helps structure and streamline projects. You’ll break down each phase of the SDLC, examine how requirements are gathered and documented, and compare key specification documents such as the User Requirement Specification (URS), Software Requirement Specification (SRS), and System Requirement Specification (SysRS). You’ll also evaluate different development models, including Waterfall, the V-model, and Agile, and determine when to use each. As you progress, you’ll become familiar with software versioning, various types of software testing, and the documentation needed throughout the development process. Finally, you’ll identify common roles in software engineering projects.
What's included
14 videos1 reading4 assignments1 plugin
Show info about module content
14 videos•Total 81 minutes
Course Introduction•3 minutes
Meet the Experts•5 minutes
What Is Software Engineering?•5 minutes
Insiders' Viewpoint: What Is Software Engineering?•6 minutes
Introduction to the SDLC•4 minutes
Phases of the SDLC•7 minutes
Building Quality Software•7 minutes
Requirements•7 minutes
Software Development Methodologies•7 minutes
Software Versions•4 minutes
Software Testing•8 minutes
Software Documentation•6 minutes
Roles in Software Engineering Projects•6 minutes
Insiders' Viewpoint: Job Roles in Software Engineering Teams•7 minutes
The Software Building Process and Associated Roles•10 minutes
Graded Quiz: The Software Development Lifecycle•30 minutes
1 plugin•Total 15 minutes
Activity: Phases in the SDLC•15 minutes
Introduction to Software Development
Module 2•3 hours to complete
Module details
In this module, you will explore the foundational roles of front-end, back-end, and full-stack development in building web and cloud applications. You’ll learn how HTML, CSS, and JavaScript create interactive user interfaces, while server-side operations handle data and support functionality. The module also introduces collaborative development practices such as squads and pair programming. Additionally, you will learn to classify technologies within software architectures, examine key development tools, and gain hands-on experience using an Integrated Development Environment (IDE) to write and execute code.
What's included
11 videos1 reading3 assignments1 app item1 plugin
Show info about module content
11 videos•Total 60 minutes
Overview of Web and Cloud Development•5 minutes
Learning Front-End Development•6 minutes
The Importance of Back-End Development•7 minutes
Teamwork and Squads•5 minutes
Insiders' Viewpoint: Teamwork in Software Engineering•3 minutes
Pair Programming•5 minutes
Insiders' Viewpoint: Pair Programming•5 minutes
Introducing Application Development Tools•6 minutes
More Application Development Tools•5 minutes
Introduction to Software Stacks•8 minutes
Insiders' Viewpoint: Tools and Technologies•7 minutes
1 reading•Total 10 minutes
Summary & Highlights•10 minutes
3 assignments•Total 50 minutes
Introduction to Development •10 minutes
Tools in Software Development •10 minutes
Graded Quiz: Introduction to Software Development •30 minutes
1 app item•Total 60 minutes
Hands-on Lab: Getting Started With an IDE•60 minutes
1 plugin•Total 15 minutes
Activity: Categorizing Front- and Back-End Technologies•15 minutes
Basics of Programming
Module 3•3 hours to complete
Module details
In this module, you will examine different types of programming languages, including compiled, interpreted, query, and assembly languages, and evaluate their use in various development scenarios. You’ll explore core programming constructs such as variables, control flow, loops, and functions, while learning how to organize code using procedural, modular, and object-oriented approaches. In addition, through hands-on practice, you’ll compare language syntax by writing basic programs in multiple languages. You’ll also use Python to implement programming fundamentals. The module also emphasizes selecting appropriate languages and structures based on performance, portability, and debugging needs.
What's included
8 videos1 reading3 assignments2 app items1 plugin
Show info about module content
8 videos•Total 48 minutes
Interpreted and Compiled Programming Languages•6 minutes
Comparing Compiled and Interpreted Programming Languages•6 minutes
Query and Assembly Programming Languages•7 minutes
Understanding Code Organization Methods•7 minutes
Insiders' Viewpoint: Types of Languages•5 minutes
Branching and Looping Programming Logic•6 minutes
Introduction to Programming Concepts Part 1•6 minutes
Introduction to Programming Concepts Part 2•5 minutes
1 reading•Total 10 minutes
Summary & Highlights•10 minutes
3 assignments•Total 50 minutes
Programming Languages and Organization•10 minutes
Introduction to Programming Concepts•10 minutes
Graded Quiz: Basics of Programming•30 minutes
2 app items•Total 40 minutes
Hands-on Lab: Hello World in 11 Programming Languages•15 minutes
Hands-on Lab: Programming Fundamentals with Python•25 minutes
1 plugin•Total 15 minutes
Activity: Programming Logic and Organizational Methods•15 minutes
Software Architecture, Design, and Patterns
Module 4•2 hours to complete
Module details
In this module, you will explore the role of software architecture in managing system complexity and supporting quality attributes such as scalability, reliability, and maintainability. You’ll learn to apply object-oriented analysis and design principles, use modeling tools like UML to visualize system structure and behavior, and create architectural diagrams to represent component interactions. The module also introduces common architectural patterns, such as layered, client-server, and microkernel, and compares application architecture approaches like monolithic, microservices, and serverless. Additionally, you will examine the characteristics of different deployment environments and identify key components required for reliable production deployment.
What's included
9 videos1 reading3 assignments1 plugin
Show info about module content
9 videos•Total 51 minutes
Introduction to Software Architecture•5 minutes
Software Design and Modeling•7 minutes
Object-Oriented Analysis and Design•5 minutes
Insiders' Viewpoint: Importance of Design and Software Architecture•5 minutes
Software Architecture Patterns and Deployment Topologies •10 minutes
Graded Quiz: Software Architecture, Design, and Deployment Topologies•30 minutes
1 plugin•Total 15 minutes
Activity: Create an Architectural Diagram•15 minutes
Job Opportunities and Skillsets in Software Engineering
Module 5•2 hours to complete
Module details
In this module, you will explore the diverse roles, responsibilities, and career paths within the field of software engineering. You’ll learn to differentiate between software engineers and developers, analyze typical workdays, and identify the key technical and soft skills needed for success. The module examines current job market trends and growth prospects, outlines various job titles and responsibilities, and helps you map roles to real-world project contexts. You’ll also consider professional ethics in software engineering, applying established codes of conduct to real-life scenarios.
What's included
10 videos1 reading3 assignments1 plugin
Show info about module content
10 videos•Total 56 minutes
What Does a Software Engineer Do?•4 minutes
A Day in the Life of a Software Engineer•4 minutes
Skills Required for Software Engineering•7 minutes
Insiders' Viewpoint: Advice to Future Software Engineers•5 minutes
Insiders' Viewpoint: Women in Software Engineering•5 minutes
Job Outlook for Software Engineers•7 minutes
Career Paths in Software Engineering•6 minutes
Software Engineering Job Titles•7 minutes
Insiders' Viewpoint: Career Paths•6 minutes
Code of Ethics•5 minutes
1 reading•Total 10 minutes
Summary & Highlights•10 minutes
3 assignments•Total 43 minutes
About Software Engineers•1 minute
Careers in Software Engineering•12 minutes
Graded Quiz: Job Opportunities and Skillsets in Software Engineering•30 minutes
1 plugin•Total 15 minutes
Activity: Matching Roles with Responsibilities•15 minutes
Final Quiz and Final Project
Module 6•2 hours to complete
Module details
The final module of this course includes both the final, graded assessment and a project. The assessment consists of 20 multiple-choice questions. For the final project, you will apply what you’ve learned by analyzing a real-world job posting and demonstrating your ability to connect course concepts to practical career opportunities.
What's included
2 readings1 assignment1 app item1 plugin
Show info about module content
2 readings•Total 4 minutes
Congrats & Next Steps•2 minutes
Thanks from the Course Team•2 minutes
1 assignment•Total 60 minutes
Graded Quiz: Final Quiz•60 minutes
1 app item•Total 30 minutes
Final Project Submission and Evaluation•30 minutes
1 plugin•Total 15 minutes
Software Engineering Glossary•15 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructors
Instructor ratings
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
At IBM, we know how rapidly tech evolves and recognize the crucial need for businesses and professionals to build job-ready, hands-on skills quickly. As a market-leading tech innovator, we’re committed to helping you thrive in this dynamic landscape. Through IBM Skills Network, our expertly designed training programs in AI, software development, cybersecurity, data science, business management, and more, provide the essential skills you need to secure your first job, advance your career, or drive business success. Whether you’re upskilling yourself or your team, our courses, Specializations, and Professional Certificates build the technical expertise that ensures you, and your organization, excel in a competitive world.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.7
4,688 reviews
5 stars
77.63%
4 stars
16.89%
3 stars
3.17%
2 stars
0.95%
1 star
1.34%
Showing 3 of 4688
S
SA
5·
Reviewed on May 20, 2024
This fantastic course provides the foundation and knowledge of different technical roles, methodologies, frameworks, jobs to consider, and advice from SMEs on this career journey.
D
DP
5·
Reviewed on Apr 23, 2023
Great course for anyone wanting to get into Software Engineering, or a great refresher for those who have SE experience but need to fill in any gaps they may have. Highly recommended!
F
FZ
5·
Reviewed on Jul 14, 2024
This Course was incredible. It was informative as well as very easy to handle. Complete details were provided at each level so that the students don't feel any sort of difficulty while learning.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Certificate?
When you enroll in the course, you get access to all of the courses in the Certificate, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.