Programming Advanced: online course with internship agreement
Programming Advanced teaches the everyday work of a junior backend developer. You will use Git branches and pull requests, structure Python packages, query relational data with SQL, and build and document REST APIs. You will also write automated tests, ship code with containers and CI/CD, and audit dependencies. The course is aimed at people moving from learning to code to changing code others rely on. It runs 100 % online for 180 days, includes an internship agreement and costs €200.
- 180 days of access
- 100 % online, at your own pace
- Level: intermediate · Basic programming knowledge recommended
- Assessment: 10 quizzes (50 questions) and a final project
- Internship agreement included
- Certificate with a verifiable QR code
- Languages: Spanish, English, French
- Price: €200
Who it is for
- Bootcamp graduates and self-taught programmers preparing for a first junior developer role
- Junior developers who can write code but have not yet worked in a shared team codebase
- Programmers who want to understand testing, deployment pipelines and the software supply chain
- Developers working for or with EU businesses who need to know which EU rules affect their code
What do you need to start?
Prior knowledge
- You should be able to write and run a short program, ideally in Python
- You do not need to know Git, SQL, Docker or Java beforehand; the course introduces them from a working-team perspective
- Comfort with reading technical documentation in English helps
Software and equipment
- A computer with an internet connection
- Git and Python with virtual environments, pip and the mypy type checker
- Docker for building and running container images, which uses public base images such as eclipse-temurin from Docker Hub
- The materials do not mention any paid licences that you would need
What you'll be able to do
- Clone a shared repository, branch from main, commit, push and open a pull request with a clear scope
- Resolve merge conflicts by reading the markers and deliberately combining both legitimate changes
- Review someone else's pull request against explicit criteria such as scope, readability and edge cases
- Split an unstructured Python script into a package that separates data reading, computation and output
- Decide which dependencies to pin, and add type hints that a type checker can use to catch argument errors
- Query relational data with SQL to answer business questions such as overdue invoices
- Package an application in a container image and deploy it through a CI/CD pipeline instead of by hand
- Inventory direct and indirect dependencies and assess a security advisory beyond its severity label
Skills you will practise
- Git and pull requests
- Code review
- Python packaging
- Type hints and mypy
- SQL
- REST APIs
- Automated testing
- Docker
- CI/CD
- Dependency auditing
Syllabus
- Working in a shared codebase: Git, branches and pull requests — Commits versus pushes, branching from main, resolving merge conflicts, opening pull requests and responding to review feedback until a change is merged.
- Python as the working language of the junior developer — Restructuring a script into a package, using virtual environments, pinning dependencies in requirements.txt and adding type hints that mypy checks.
- The data behind the app: SQL and the relational model — How an application stores its data in related tables, and how to write SQL queries that answer real business requests.
- HTTP and REST APIs: consuming, building, documenting — Reading, writing and documenting REST API requests and responses so that other software can talk to your application.
- Automated testing: unit, integration and API tests — Writing unit, integration and API tests that catch defects, including access-control errors that expose one customer's data to another.
- From my machine to production: containers and CI/CD — Building Docker images from base images, publishing them to an image registry and replacing error-prone manual deployments with CI/CD pipelines.
- Dependencies and the software supply chain — Mapping transitive dependencies, reading security advisories properly, building a dependency inventory and checking that installed packages can be trusted.
- The EU rules that apply to your code — How EU rules on vulnerability notification, software product liability and supplier security shape developers' work and customer security questionnaires.
- AI coding assistants, with judgement — Using AI assistants under a team policy, including spotting hallucinated packages, avoiding licence problems and verifying suggestions before you rely on them.
- Typed backend for the European SME, and which language for which job — Why typed languages such as Java are used for business backends, how to handle money correctly, and how to choose a language.
Internship agreement
With this course, an intern could join a backend or software development team and take on small, well-scoped tasks. These might include fixing a bug through a pull request, writing SQL queries or API endpoints, adding automated tests or helping maintain a CI/CD pipeline. Work on a dependency inventory or on answering a customer security questionnaire would also draw directly on the course modules.
The internship can run at the same time as the course, within the 180 days of access.
Frequently asked questions
What role does Programming Advanced prepare me for?
Programming Advanced is built around the daily work of a junior backend developer in a small software company. That means changing code other people depend on through Git and pull requests, writing Python and SQL, and building and testing REST APIs. It also covers deploying with containers and CI/CD, managing dependencies, applying relevant EU rules and using AI coding assistants with judgement. The course focuses on working in a team, not only on writing code that runs.
Which tools and methods does the course cover?
The modules cover Git branches, merge conflicts, pull requests and code review, and Python packages with virtual environments, pip, requirements.txt and type hints checked by mypy. You also study SQL and the relational model, and REST API design and documentation. Further topics are unit, integration and API testing, Docker images, base images and image registries such as Docker Hub, CI/CD pipelines, software supply-chain auditing and typed backend development in Java.
What could I do in the internship, and who finds the company?
You find the host company yourself. The school then issues the internship agreement and its annex, which the company signs electronically, usually within one or two working days. In a development team, you could apply the course to tasks such as submitting fixes through pull requests, writing SQL queries, adding tests to an API or helping to containerise and deploy an application. Auditing project dependencies is another option.
Do I need to learn C++ or the 'right' language before I can work as a developer?
No. The final module tackles this directly: there is no single language that 'real programmers' use, and forum advice often contradicts itself. The course explains why typed languages such as Java are common in backends for small and medium businesses, and where Python fits. It shows how to choose a language based on the job it has to do rather than on reputation.
More Technology & AI courses
Content updated: 07/10/2026