Programming and Software Development
Software development is one trade with a dozen specialisms, and job adverts, syllabuses and practitioners each slice it differently. The field lays out by the work itself: the craft every developer shares, the platforms people build for, and the disciplines that keep code honest once more than one person touches it. Each topic page says what the work involves, which terms it runs on and which credential, if any, is worth sitting.
The programming page makes an argument about how long each kind of knowledge lasts. The overview below does something plainer: it draws the territory. Software development covers everything between a stated need and running code, and three readers carve it up in three ways. A practitioner thinks about where the code runs: a browser, a server, a phone, a game engine. A hiring manager thinks in job titles and the stack named in the advert. A syllabus thinks in skills that can be assessed, which is why SFIA lists programming, software design, functional testing, non-functional testing and systems integration as separate skills with their own levels of responsibility, instead of one job called developer.
Twelve topics, seven job families
Four topics are common ground for every developer whatever the contract says: fundamentals, a language, engineering practice and databases. The other eight follow where the software runs or what the team answers for. The table pairs each topic with the role that spends most of its week there and the nearest credential, where one exists. An empty credential cell is information too, because some of the largest parts of the field have no exam anyone asks about.
| Topic | Job title it feeds | Nearest credential |
|---|---|---|
| Programming fundamentals | Every development role | CS50x, Python Essentials 1 |
| Programming languages | Every role; the advert names the language | None that employers weigh |
| Web development | Front-end and full-stack developer | freeCodeCamp Responsive Web Design, Front-End Development Libraries |
| Back end and APIs | Back-end and full-stack developer | AWS Developer Associate, freeCodeCamp Back-End Development and APIs |
| Mobile development | iOS, Android or cross-platform developer | None of note |
| Databases and SQL | Back-end developer, database developer | freeCodeCamp Relational Databases |
| Software engineering practice | Every role, weighed from mid level upwards | None; judged in review and interviews |
| Software testing | QA engineer, test analyst, automation engineer | ISTQB CTFL, CTAL-TA, CTAL-TAE |
| DevOps, Git and CI/CD | DevOps or platform engineer, senior developer | GitHub Foundations, AZ-400 |
| Game development | Gameplay or engine programmer | None of note |
| No-code and low-code | Product builder, automation specialist, founder | Vendor badges only |
| AI-assisted development | Every role | GitHub Copilot certification |
Full stack is not a thirteenth topic. It is the web and back-end rows held by one person, usually at a company too small to split them. Mobile and game studios hire separately because their toolchains, release channels and performance limits differ enough that a web developer crossing over spends months relearning the ground.
What the credentials prove
Development has fewer respected exams than any other technical field, and the reason is structural. A language certificate tests recall of syntax, which an interviewer can probe in minutes and a compiler checks all day long; nobody hires on it. The credentials with weight sit where an employer's own systems are at stake. DVA-C02 asks whether your code behaves the way one cloud platform expects, AZ-400 asks how a team moves changes from commit to production, and the ISTQB scheme gives testers a vocabulary shared across employers and countries. The free project-based certificates from freeCodeCamp and Harvard's CS50x prove something narrower but still useful: that you finished substantial graded work. None of them shows that you can join a team, read its codebase and ship a change without breaking anything. A portfolio, a contribution history and the technical interview test that.
Starting points, and what assistants changed
- Career changers with no code behind them begin with fundamentals in one language and stay until they can build something small without a tutorial open. Web development is the usual next step, because the browser gives instant feedback and the job market there is the largest.
- Self-taught developers who already ship tend to have gaps in the same three places: Git beyond the daily commands, automated tests, and how data is modelled in a relational database. Engineering practice, testing and databases are where steady weekly work closes the gap interviewers probe.
- Testers and administrators moving towards development already hold half of a neighbouring topic. Testers know how software breaks, administrators know how it runs, and test automation or CI/CD pipelines are their shortest bridges across.
- Developers aiming at senior roles move into engineering practice and DevOps, where the job shifts from writing features to deciding how the team writes them.
Coding assistants now draft much of the routine code, and that has reshaped the entry level more than the senior one. Boilerplate, simple endpoints and test scaffolding, the tasks juniors used to learn on, are the ones an assistant does fastest. What stays scarce is judgement about a proposed change: whether it is correct, whether it fits the codebase, whether it opened a hole a colleague in application security will find later. The AI-assisted development topic treats that review work as part of the craft.
Neighbouring fields take over at clear edges. Infrastructure as code and the running of cloud platforms live under cloud, with containers and Kubernetes shared at the border. Querying data for analysis and Python in notebooks live under data and AI. This field keeps the craft of building the software itself.
The field, part by part
Each topic says why it exists and what it rests on; the order is the order a newcomer would take.
- Programming fundamentalsOne language learned properly plus enough of the machine beneath it: variables, control flow, data structures, debugging and reading code (SFIA Programming/software development; MDN's getting-started modules).
- Programming languagesPython, JavaScript, Java, C#, C and C++, Go, TypeScript, Rust, Kotlin, Swift: what each is for and where it is hired, so the first choice is a career decision rather than a syntax preference (Udemy's Programming Languages category names the market).
- Web developmentHTML, CSS and JavaScript, then a framework and the browser's APIs: MDN's core and extension modules are the syllabus of the largest development field.
- Back-end development and APIsServers, frameworks, databases behind them and the HTTP and REST contracts between services (MDN server-side modules; DVA-C02; the freeCodeCamp back-end certificate).
- Mobile developmentiOS, Android and the cross-platform frameworks are their own toolchains, stores and review rules (SFIA Systems development; Udemy's Mobile category).
- Databases and SQLThe relational model, SQL, schema design and the document and key-value stores next to it: the layer every application and every analyst stands on (SFIA Database design; DP-900 relational concepts).
- Software engineering practiceVersion control, code review, testing habits, architecture, design patterns and clean code: the slow layer hiring filters on (SFIA Systems and software lifecycle engineering; MDN version-control module).
- Software testing and QATesting as a discipline: the ISTQB Foundation syllabus v4.0.1 (fundamentals, testing through the lifecycle, static testing, analysis and design, managing test activities, tools) plus the automation frameworks (Selenium, Cypress, Playwright).
- DevOps, Git and CI/CDVersion control workflows, pipelines, containers for developers and the culture that joins build and run (AZ-400; GitHub Foundations and Actions; the cloud field owns infrastructure as code and operations).
- Game developmentEngines, graphics, physics and the design loop are a development field with its own tooling and job market (Udemy's Game Development category; SFIA Animation development).
- No-code and low-code developmentBuilding software without writing most of it (Bubble, Webflow, Zapier, Make, Airtable) is a recognised route into shipping products; Microsoft's Power Platform is the office-suite version of the same idea.
- AI-assisted developmentAssistants changed how fast plausible code appears, not what makes it correct; reading, testing and correcting generated code is now part of the craft (GitHub certifies Copilot use and, on its 2026 credentials page, agentic AI development).
Concepts to know
Glossary entries of this field.
- Continuous integration
Continuous integration is the practice of every developer merging their work into a shared mainline at least once a day, with an automated build and test run on each merge, so that integration problems surface within minutes of being created rather than weeks later at release time.
- Data structures and algorithms
Data structures are the ways a program arranges data in memory (arrays, lists, hash tables, trees, graphs) and algorithms are the step-by-step procedures that work on them; together they decide whether an operation takes a millisecond or an hour as the data grows.
- Framework
A framework is a body of code that imposes a structure on the application built with it: it decides how files are organised, when the application's own code is called and how its parts talk, whereas a library is code the application calls when it chooses.
- Full stack
Full-stack development is the ability to build both halves of a web application: the front end that runs in the browser (HTML, CSS and JavaScript) and the back end that runs on a server (a language, a framework and a database), plus the API that joins them.
- Git
Git is a distributed version control system that records the history of a set of files as a graph of snapshots, lets many people work on branches of that history at once, and merges their work back together.
- GraphQL
GraphQL is a query language for APIs and a server-side runtime for answering those queries: a client asks for precisely the fields it needs from a typed schema, in one request, instead of calling several fixed endpoints and discarding most of what comes back.
- HTTP
HTTP is the request-and-response protocol of the web: a client sends a method, a path and headers, a server answers with a status code, headers and a body, and each exchange stands alone unless the two sides agree to carry state in a header.
- JSON
JSON is a text format for exchanging structured data: values are strings, numbers, booleans or null, arranged in ordered arrays and in objects of name and value pairs, and every mainstream language reads and writes it without a library of its own.
- Microservices
Microservices is an architectural style in which one application is built as a set of small services, each running in its own process, owning its own data and talking to the others over lightweight network calls, so that each can be built, deployed and scaled on its own.
- Object-oriented programming
Object-oriented programming is a way of organising a program as objects, each holding its own data and the operations allowed on it, with classes as the templates objects are made from, so that the code models the things it is about rather than the steps the computer takes.
- Python
Python is a general-purpose programming language that became the standard interface for driving numerical and machine-learning code written in other languages.
- REST API
A REST API exposes an application's data as resources at stable addresses and lets clients read and change them with HTTP's standard methods and status codes, so that the protocol itself carries most of the meaning.
- Unit Testing
Unit testing is the practice of writing small automated checks that call one piece of code in isolation, a function, a class or a module, with known inputs and assert on its outputs, so that a change which breaks that behaviour fails a test within seconds of being made.
Certifications that test it
Vendor exams and free certificates; facts, cost and the preparation path are on each exam page, and the certifications overview lists them all.
- AWS · DVA-C02AWS Certified Developer – Associate
- GitHub · GH-900GitHub Foundations
- Google · Course completionGoogle IT Automation with Python Professional Certificate
- ISTQB · CTAL-TA v4.0ISTQB Advanced Level Test Analyst (CTAL-TA) v4.0
- ISTQB · CTAL-TAE v2.0ISTQB Advanced Level Test Automation Engineering (CTAL-TAE) v2.0
- ISTQB · CTFL v4.0ISTQB Certified Tester Foundation Level (CTFL) v4.0
- Microsoft · AZ-400Microsoft Certified: DevOps Engineer Expert
- freeCodeCamp · Online exam, not proctored · freeBack-End Development and APIs Certification
- Harvard University · Graded projects · freeCS50's Introduction to Computer Science
- freeCodeCamp · Online exam, not proctored · freeFront-End Development Libraries Certification
- freeCodeCamp · Online exam, not proctored · freeJavaScript Certification
- Cisco · Online exam, not proctored · freePython Essentials 1
- freeCodeCamp · Online exam, not proctored · freeRelational Databases Certification
- freeCodeCamp · Online exam, not proctored · freeResponsive Web Design Certification
Neighbouring fields
- Workplace Productivity and Office Skills
Power Automate for a team belongs to the office field; Zapier, Make and code-grade integration are the programming field's no-code topic.
- Design and UX
Design systems and web design hand off to front-end code; the programming field owns the build.
- Data, Analytics and AI
Python and SQL are shared ground: the programming field teaches them as languages, the data field uses them as instruments.
- Cloud Computing
Code has to run somewhere; where a developer's pipeline ends, the cloud field's infrastructure as code and operations begin.
- Cybersecurity
Application security is the security field's topic and the developer's daily responsibility.
Frequently asked
- Which part of programming should a complete beginner start with?
- Programming fundamentals in a single language, chosen by where you want to end up: JavaScript for interfaces, Python for data and automation. Stay there until you can write a small program from an empty file, then move to the platform topic that matches the job you are aiming at.
- What separates front-end, back-end and full-stack developers?
- Where their code runs. Front-end developers work in the browser with HTML, CSS and JavaScript; back-end developers write the server code, APIs and database access behind it; full-stack developers cover both, usually on smaller teams. Large employers keep the roles apart, small ones blend them.
- Is there a programming certificate employers take seriously?
- Not for knowing a language. The credentials that count are operational or tied to a discipline: AWS Developer Associate and AZ-400 for delivering on a platform, ISTQB Foundation for testing. Free project certificates give structure and proof of finished work, but a portfolio carries more weight.
- Where does programming end and cloud or data work begin?
- At the handover from building software to running infrastructure or analysing data. Pipelines and packaging stay here, while provisioning platforms from code sits under cloud. Designing the tables an application writes to stays here, while SQL for analysis belongs to data and AI.
- Are AI coding assistants closing off entry-level jobs?
- They have taken over some of the routine tasks juniors once learned on and raised the value of reviewing, testing and debugging. Newcomers who can explain why a generated change is right or wrong remain employable; those who can only prompt and paste are competing with the tool itself.
Courses on this topic
10,051 courses cover this topic. The first 6 are listed; details and the provider link are on each course page.
Last reviewed 26 September 2026 · Getting Digital
