
On this resource page, you’ll learn
Learn more about the field at the International Conference on Software Engineering (ICSE)

“Learn programming, data structures, algorithms, operating systems, databases, and networks. That is what lets you see what is going on under the code you write. Logic, probability, and statistics help when you need to ask: Is this correct, is it fast enough, and how sure are we?”–Ashly Joseph, CISCO
Following are examples of established and emerging software engineering knowledge and skill areas. As the article, “Skills That Shape Your Path Beyond Coding” points out, getting a grasp on everything from the Software Engineering Body of Knowledge (SWEBOK) to essential soft skills can ease your entry into the workplace.
As SWEBOK highlights, core competencies remain central to building high-quality software. Among those core competencies are the following:
As the software engineering scope expands, organizations increasingly expect developers to combine traditional knowledge with skills in automation, infrastructure, and system reliability practices.
“AI agents are starting to run large parts of software work, not only suggest the next line. They can plan a change, edit many files, run tests, open a pull request, and in some teams help operate the system after it ships. That shortens the path from an idea to running software.” –Ashly Joseph, CISCO
AI advancements and the growing reliance on software across industries are driving major trends in software engineering, influencing how modern software systems are designed, built, and operated.
According to Gartner, 90% of enterprise software engineers will use AI code assistants within two years. The result? A shift in their role from code creation, testing, and documentation to system design, orchestration, and oversight. As a result, skills in AI governance, ethical AI practices, and prompt engineering will be increasingly essential.
Cloud-native architectures, including microservices, serverless, and API-first system designs, offer scalability and resilience within globally distributed systems. For organizations, using modular pipelines and hybrid cloud environments enables faster releases and improved uptime service-level agreements.
This on-going trend creates opportunities for engineers with competencies in
To reduce costly breaches and meet regulatory demands, organizations will increasingly integrate security teams into their development and operations workflows.
In this DevSecOps framework, all three teams focus on embedding security into their daily workflows and taking shared ownership of security outcomes. To address this shift, engineers can focus on skills such as threat modeling and secure coding, as well as gain familiarity with automated vulnerability and compliance tools.
“We can build software fast. The hard part is still understanding it, securing it, and keeping it in good shape.” –Ashly Joseph, CISCO
In addition to general issues such as declining budgets, the software engineering field faces emerging challenges in two pivotal areas: use of AI and increasing system complexity. Both of these factors are rapidly expanding, making the challenges they create urgent and difficult to manage. Following are some of these key challenges.
Use of AI in software engineering promises clear benefits, not least through productivity boosts. What remains murky, however, is how organizations can ensure that this AI use also delivers on trust and reliability.
At minimal, organizations must invest in explainability frameworks, governance, and auditing processes. Engineers will find evaluation and critical thinking skills especially valuable as their responsibilities expand to include oversight of AI outputs, including interpreting, validating, and verifying them.
Increased software complexity makes tracking individual dependencies massively challenging. Yet the stakes, which include operational disruptions, major breaches, and reputation destruction, are clearly high.
The knowledge and skills required of today’s software engineers is shifting at the same rapid pace as automation and AI-integration. To reskill their teams, organizations must invest in training, mentorship, and upskilling programs while simultaneously investing in these new technology solutions.For software engineering professionals, continuous and life-long learning can ease adaptation to evolving paradigms, tools, and processes; indeed, it is more important than ever.
According to the World Economic Forum’s most recent Future of Jobs report, technology roles such as software and application developers remain among the fastest-growing occupations. Driving this demand is ongoing digital transformation across industries. Following is an overview of some of the sector’s new and emerging roles.
To design, develop, and deploy responsible systems that are safe, ethical, and have clear accountability paths is a huge challenge today, but it is one that goes to the heart of software engineering ethics.
According to the IEEE Computer Society/ACM Code of Ethics for Software Engineering, software engineers must:
To do this amid massive disruptions in technology, the job market, and the wider political world require strong commitment to ethical principles in pivotal areas, including the following.
The inaugural 2025 International AI Safety Report written by more than 100 global AI experts noted that while various mitigation techniques exist for established AI harms such as safety, bias, and privacy, so far, “no combination of techniques can fully resolve them.”
Ongoing and potentially catastrophic safety concerns include AI generation of
Also unresolved: Bias with respect to race, gender, culture, age, disability, and other aspects of human experience; and privacy violations, which can range from illegal data collection to mass data leaks to deepfakes.
Sustainable software engineering is an emerging field, but the stakes are as high as the ozone layer and as deep as your local water table. As Accenture notes in its recent report, Powering Sustainable AI:
“The exponential rise of AI is having a dramatic and unsustainable impact on the planet’s energy use, carbon emissions, and water consumption.”
Sustainable software engineering focuses on minimizing resource usage in software development; some efforts couple this resource-focus with a broader definition of “environment” that encompasses factors such as digital equality and social inclusion.
AI’s rapidly expanding use in critical system software in sectors ranging from healthcare to defense to financial systems raises key questions, not the least of which are
The “how” relates to system transparency; that is, understanding how a system makes its decisions. The “who” identifies the organizations and individuals responsible for what a system does. In software engineering, researchers note that answering these questions requires “deliberate design choices, including explainability tools, logging mechanisms, and governance processes.”
Although it’s early days in AI world, research is already showing that AI dependencies can degrade human cognition. In software development, relying on automated tools could degrade the expertise of the very humans charged with overseeing and validating the AI outputs.
Trust is also an issue; because it can be hard to understand how AI generates a particular bit of code, validating its correctness (or security) can be challenging. In the face of such challenges, developers new to oversight might simply accept the AI-generated code, increasing the risks for security and system failures.
Stay up-to-date with the latest on learning technologies by accessing our Tech News blog, which is updated daily with the insights, trends, and research related to all things computing. Among recent related articles are the following: