Week 1 · Python and your developer toolkit
Why Python
What Python is, why it matters, who uses it and in which fields, and the step-by-step path you'll follow to learn it in this program.
Python is the language you'll write almost all of your code in during this program. Before you write any, it helps to know why we chose it and where it can take you.
What Python is
Python is a general-purpose programming language: you can use it to build almost anything, from a ten-line script that renames files to the backend of a website used by millions. It's free, open source and runs on macOS, Windows and Linux.
Python is known for being easy to read. Compare this Python code with what it does:
prices = [1200, 450, 3000]
total = sum(prices)
if total > 4000:
print("Order needs approval")
Even if you've never programmed before, you can probably guess what it does: add up three prices and print a message if the total is over 4,000. That readability is a big part of why Python is so widely used.
Why Python matters
- It's the language of AI. Most AI and machine learning work is done in Python. The official tools for calling models from OpenAI, Anthropic and Google all come first in Python, and so do popular libraries for retrieval, agents and evaluation.
- It's one of the most used languages in the world. Python has ranked first on the TIOBE index (opens in a new tab), a widely followed measure of language popularity, every month since late 2021.
- It has a library for almost everything. Python's package index, PyPI, has hundreds of thousands of free packages: for calling APIs, reading spreadsheets and PDFs, talking to databases, building web servers and much more. You rarely start from zero.
- It's quick to get things working. You can go from idea to working prototype in hours, which matters when a customer is waiting.
- It's easy to start but has no ceiling. Beginners can be productive in days, and the same language runs some of the largest systems in the world.
Who uses Python
Python is used by companies of every size. A few well-known examples:
- Instagram runs its web backend on Django, a Python framework.
- Netflix uses Python across its data, security and operations tooling.
- Spotify uses Python for data analysis and backend services.
- NASA and other research organisations use Python for scientific computing and data analysis.
- OpenAI and Anthropic publish official Python libraries for their AI models, and most AI startups build their products in Python.
It's also used inside banks, hospitals, government agencies and small businesses, often for the unglamorous automation that keeps things running.
Fields that use Python
| Field | What Python is used for |
|---|---|
| Artificial intelligence | Calling language models, building AI applications, retrieval and agents |
| Machine learning | Training and running models with libraries such as scikit-learn and PyTorch |
| Data analysis | Cleaning, analysing and visualising data with libraries such as pandas |
| Web development | Building backends and APIs with frameworks such as FastAPI and Django |
| Automation | Scripts that move files, fill in forms, send reports and connect systems |
| DevOps and cloud | Deployment scripts, infrastructure tools and monitoring |
| Science and research | Simulations, lab data and research analysis |
| Finance | Analysis, reporting and risk models |
| Cybersecurity | Security tools, scanning and analysing logs |
Why Python for a forward deployed engineer
An FDE's job is to connect a customer's problem to a working solution, fast. Python fits that job well:
- AI comes first in Python. New model features and SDKs usually appear in Python before anywhere else.
- It's a great glue language. Most of an FDE's work is connecting systems: pulling data from one API, processing it and pushing it into another. Python makes that short and readable.
- Customers' data is messy. Python has mature tools for CSV files, Excel, JSON, PDFs and databases.
- It's what you'll find on the job. Many FDE job postings list Python as the main language.
What Python isn't used for
Python is not the best choice for everything, and it's good to know its limits:
- Code that runs in a web browser is written in JavaScript. You'll learn the basics in week 5 to build a frontend for your app.
- Mobile apps are usually written in Swift, Kotlin or cross-platform frameworks.
- Software where every millisecond counts, such as game engines or operating systems, is usually written in C, C++ or Rust.
For the kind of work an FDE does, these limits rarely matter.
How you'll learn Python in this program
You'll learn Python step by step, using each step straight away in something practical:
| Step | What you'll learn | When |
|---|---|---|
| 1 | Running Python: the interpreter, scripts and print | Week 1 |
| 2 | Variables and data types: numbers, strings and booleans | Week 1 |
| 3 | Collections: lists and dictionaries | Week 1 |
| 4 | Making decisions with if, elif and else | Week 1 |
| 5 | Repeating work with for and while loops | Week 1 |
| 6 | Functions: reusable blocks of code | Week 2 |
| 7 | Modules and packages: organising code and using other people's | Week 2 |
| 8 | Files and JSON: reading and saving data | Week 2 |
| 9 | Errors and exceptions: failing clearly instead of crashing | Week 2 |
| 10 | Virtual environments and pip: installing packages per project | Week 2 |
| 11 | Talking to databases with SQL | Week 2 |
| 12 | Calling web APIs and building your own with FastAPI | Week 3 |
By the end of week 3 you'll use all of these together in a small, live API, and everything after that builds on them.
Finished this lesson?