Skip to the content.

Welcome to Software Engineering Guide

Software Engineering Guide (SEG) is a self-learning roadmap for practitioners in software engineering. It is a role-based guide and includes a curated list of free learning resources. For each role, there are four levels: foundation, beginner, intermediate, and advanced. The learning resources are being collected from highly-respected and well-trusted sources.

Motivation

There is a noticeable gap between traditional education offerings and industry demands. Particularly, at the places with low-quality education. Nowadays, you can access high-quality learning resources from around the world for free. Thus, there is no excuse to say that I don’t have a quality education!

Relationship

Software engineering is a broad field that encompasses many sub-fields. It also interrelates with other computing fields, like computer science and computer engineering. Thus, it is important first to understand the basics of software engineering. Then, choose and master a sub-field based on your interest and the market demand.

Principles

There are some important principles to guide yourself in your self-learning journey. These principles include purpose, ambition, passion, focus, self-motivation, self-learning, seriousness, and patience. Such principles are really helpful to get into a mastery level of software engineering.

Framework

A framework of three components inspires the scope of the SEG. The first component is the “learner” who has to get technical and non-technical skills. The second is the “method” to manage the process of software development (e.g. lean, agile, and DevOps). The third is the “technology” to support software development (e.g. ALM, IoT, and cloud computing).

Knowledge Areas

The SEG covers the main knowledge areas described in the Software Engineering Body of Knowledge (SWEBOK V3). It attempts to map each knowledge area to a set of career paths. It also includes other emerging career paths, like data scientist and artificial intelligence engineer.

Learning Paths

The SEG currently includes 12 role-based learning paths. It provides guiding information and up-to-date learning resources for each learning path. If you still don’t have a career path in your mind, you can try to identify your potential career by using the MyInnerGenius Career Fit Assessment.

Traditional Roles:

Emerging Roles:

Interpersonal Skills

Technical skills are not enough to be a professional in software engineering! Soft skills are imperative and not less important than technical skills. Moreover, entrepreneurship skills are crucial when you would like to establish your own technology business.

Learning Process

The SEG recommends a set of activities to guide the self-learners. The first activity is to select a specialized role. Then, begin the following activities: learning, practicing, networking, and teaching. These activities are overlapping, iterative, and should be a life-long journey.

Learning Outcomes

Level Description Outcome
Foundation Learn how to learn and an introduction to the software development process Understanding the techniques of effective learning, and the basics of the software development process
Beginner Basic topics and concepts of the selected learning path Understanding the fundamental concepts of the selected learning path
Intermediate Intermediate topics, agile methods, and application life-cycle management (ALM) software Understanding the intermediate topics, and the ability to develop applications using an agile approach and ALM software
Advanced Advanced topics, next-generation technologies (e.g. cloud computing), and modern approaches (e.g. DevOps) Understanding the advanced topics, and the ability to develop next-generation applications using cloud computing and DevOps

Performance Measurement

It is very important to measure your learning progress toward the intended objectives. From a practical perspective, you can achieve that by different means (achievement-based). For example, deliver a technical presentation or demonstrate a developed application. You can also get a professional certification in your domain.

alt text

Follow Us