Skip to content
Getting Digital

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.

TopicJob title it feedsNearest credential
Programming fundamentalsEvery development roleCS50x, Python Essentials 1
Programming languagesEvery role; the advert names the languageNone that employers weigh
Web developmentFront-end and full-stack developerfreeCodeCamp Responsive Web Design, Front-End Development Libraries
Back end and APIsBack-end and full-stack developerAWS Developer Associate, freeCodeCamp Back-End Development and APIs
Mobile developmentiOS, Android or cross-platform developerNone of note
Databases and SQLBack-end developer, database developerfreeCodeCamp Relational Databases
Software engineering practiceEvery role, weighed from mid level upwardsNone; judged in review and interviews
Software testingQA engineer, test analyst, automation engineerISTQB CTFL, CTAL-TA, CTAL-TAE
DevOps, Git and CI/CDDevOps or platform engineer, senior developerGitHub Foundations, AZ-400
Game developmentGameplay or engine programmerNone of note
No-code and low-codeProduct builder, automation specialist, founderVendor badges only
AI-assisted developmentEvery roleGitHub 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.

  1. 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).
  2. 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).
  3. 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.
  4. 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).
  5. Mobile developmentiOS, Android and the cross-platform frameworks are their own toolchains, stores and review rules (SFIA Systems development; Udemy's Mobile category).
  6. 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).
  7. 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).
  8. 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).
  9. 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).
  10. 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).
  11. 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.
  12. 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.

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.

Browse the full course category

Last reviewed 26 September 2026 · Getting Digital