33.10. Where to Go Next
Table of Contents
Growing Beyond This Course
You have a solid foundation. The next step is to turn that foundation into real, valuable backend skills through deliberate practice, smart learning, and real projects.
This chapter will show you practical paths you can follow after finishing this course. Think of it as a map of possible next steps, not a strict checklist.
Clarify Your Direction
Before choosing what to learn next, decide what you want in the short term. For example:
| Goal | What to Focus On Next |
|---|---|
| Get a junior backend job | Strong portfolio, solid Python + FastAPI + SQL, testing, Git, basic Docker |
| Freelance / small clients | Simple REST APIs, deployment to cheap servers, documentation, reliability |
| Eventually become an architect | Deep understanding of databases, architecture patterns, distributed systems |
| Work in a product startup | Full cycle: backend, basic frontend, CI/CD, monitoring, cloud basics |
| Contribute to open source | Git, GitHub workflows, reading other people’s code, communication |
You can change direction later. For now, pick a primary goal so you can choose your next steps intentionally.
Deepen Your Core Backend Skills
You already know basics: HTTP, REST, Python, FastAPI, PostgreSQL, Docker, testing. To become strong, you need depth and fluency.
1. Master Your Main Language (Python)
Aim to move from “I can make it work” to “I can design it well.”
Focus areas:
- Python internals at a practical level
- How lists, dicts, and sets behave in terms of time complexity
- Mutability and immutability
- Generators and iterators
- Comprehensions and context managers
- Advanced language features
- Typing:
Protocol,TypedDict,Final,Literal dataclassesvs normal classes- Decorators and descriptors (only what you really need)
- Async and
asynciopatterns in real applications - Code quality
- Use
mypyor another type checker on real projects - Use linters like
rufforflake8 - Follow PEP 8 and consistent formatting with
black
Practical practice:
- Take one of your project’s modules and:
- Add type hints everywhere
- Run a type checker and fix all errors
- Refactor long functions into small, clear ones
- Rewrite a simple script in:
- Sync version
- Async version
Compare readability and performance.
2. Learn One Web Framework Deeply
You used FastAPI. Becoming strong means:
- Read the official FastAPI docs end to end, slowly
- Build at least two non-tutorial projects with FastAPI that you design yourself
- Explore:
- Dependency injection in more complex scenarios
- Background tasks at scale
- Custom middleware
- Error handling patterns
- Custom authentication / authorization dependencies
You do not need to learn every framework. One deep framework knowledge is worth more than shallow knowledge of three.
3. Understand Databases in Practice
Move from “I know SQL syntax” to “I can design, debug, and optimize.”
Practice:
- Design schemas for different domains:
- Blog, CRM, chat app, analytics app
- For each:
- Identify primary and foreign keys
- Decide which columns need indexes
- Write queries for:
- Pagination
- Filtering and sorting
- Simple reports with
GROUP BY
Learn to use the database itself:
- Use
EXPLAINin PostgreSQL to inspect queries - Practice:
- Optimizing a slow query
- Adding and removing indexes and measuring impact
- Dealing with N+1 query problems when using an ORM
Expand Toward Real-World Backends
Once your core is stronger, you can move into the areas that make backends production ready.
4. Cloud Platforms
Pick one major cloud:
- AWS (most common in companies)
- GCP
- Azure
For a first backend job, you do not need to know everything about cloud. Focus on:
- Compute:
- EC2 (AWS), or similar virtual machines
- Maybe a managed container service later (ECS, EKS)
- Storage and databases:
- Managed PostgreSQL (RDS, Cloud SQL, etc.)
- Object storage (S3 and equivalents)
- Networking basics:
- Security groups or firewalls
- Load balancers at a conceptual level
Do one concrete mini project:
- Deploy a simple FastAPI app on a cloud VM
- Use managed PostgreSQL
- Serve through a domain using HTTPS
This connects many things you learned in the course in a real environment.
5. CI/CD in Practice
Turn your projects into something that automatically builds, tests, and can deploy.
Start small:
- Use GitHub Actions or GitLab CI:
- Run tests on every push
- Run linters
- Add a job that builds your Docker image
- Later, add an environment:
- A “staging” deployment from a
developbranch - A “production” deployment from
mainor a release tag
What you gain:
- Employers see you can work with real workflows
- Your own projects are easier to maintain
- You learn how professional teams ship code
6. Observability and Reliability
Most beginners ignore this. It will set you apart.
Pick one of your bigger projects and:
- Add structured logging:
- Log a JSON object for each request with: path, method, duration, user id (if any), status code
- Add metrics:
- Request count per endpoint
- Error rate
- Database query duration
Use:
- Prometheus + Grafana locally with Docker
- Or a cloud monitoring service if you deploy to the cloud
Set at least one alert condition in your mind:
Rule: A backend is not "production ready" if it has no logging, no monitoring, and no way to know when it breaks.
Even if you only do this locally, you will understand how real teams think about uptime.
Choose Your Specialization Direction
Over time you may want to specialize. You do not need to choose right now, but here are common directions and what they typically require.
| Direction | What You'll Likely Focus On |
|---|---|
| API-centric backend engineer | REST, GraphQL, API gateways, rate limiting, auth, documentation, integration testing |
| Data-heavy / analytics backend | Complex SQL, ETL, OLAP, warehouses, batch jobs, performance tuning |
| Reliability / DevOps oriented | Linux, Docker deeply, Kubernetes, CI/CD, observability, incident response |
| Security focused | Auth systems, OAuth2/OIDC, secure coding, penetration testing basics, compliance awareness |
| Realtime / high throughput | Asynchronous patterns, WebSockets, queues, distributed systems, caching strategies |
Explore each direction by:
- Building 1 or 2 focused mini projects per area
- Reading job descriptions for that role to see what is expected
Build a Strong Portfolio
Your portfolio is often more important than your certificates.
Aim for:
- 3 to 5 solid, small to medium projects
- Each project shows specific skills, not just a “CRUD again” repetition
Examples:
| Project Idea | What It Demonstrates |
|---|---|
| Task Management API (from this course, improved) | REST, auth, pagination, testing, docs |
| URL Shortener | Hashing, database design, redirection, rate limiting |
| Simple E-commerce backend | Products, carts, orders, payments (test mode), background jobs |
| Real-time chat or notifications | WebSockets, async processing, Redis pub/sub |
| Analytics service for another app | ETL, aggregation queries, reporting endpoints |
To strengthen each project:
- Add documentation:
- README with setup, features, and API description
- OpenAPI documentation via FastAPI built-in tools
- Add tests:
- Show test coverage badge if you like
- Include unit and integration tests
- Add deployment:
- Docker setup
- At least one demo deployment, even on a cheap VPS or free tier
This turns projects from “just code” into “almost production ready”.
Learn From Other People's Code
Reading good code is as important as writing your own.
Where to look:
- Popular FastAPI or Django open source projects on GitHub
- Libraries you use daily: look inside their source
- Well-structured templates and boilerplates
How to practice:
- Pick a small repository.
- Try to answer:
- How is the project structured?
- Where are API endpoints defined?
- How is configuration loaded?
- How are tests organized?
- Take one idea and apply it to your own project:
- Maybe a better folder structure
- Or a better configuration mechanism
This builds your mental library of patterns.
Practice Real Collaboration
Backend work is rarely solo. You need to work with others and with existing code.
Ways to practice:
- Contribute to open source:
- Start with documentation or small bug fixes
- Learn how to open issues and pull requests
- Respond to code review comments
- Pair programming:
- Work with a friend or another learner
- Take turns: driver (typing) and navigator (thinking out loud)
- Simulate a team project:
- Use branches, pull requests, and code reviews even if you are alone
- Write issues for yourself in the repo’s issue tracker
This builds the habits companies expect.
Keep Your Knowledge Current
Technology changes, but the core concepts stay valuable. Focus on both.
Permanent skills
These rarely go out of date:
- HTTP, TCP/IP, DNS
- Relational database design and SQL
- Clean code, testing, and architecture fundamentals
- Linux basics and shell scripting
- Understanding of performance and scalability
Things that change faster
These change but are still important:
- Framework versions and features
- Cloud services and pricing models
- Popular tools in CI/CD and observability
Strategy:
- Spend more time deepening permanent skills
- For fast-changing tools:
- Learn one solid stack well
- Be willing to adapt tools later, based on job requirements
Suggested Learning Roadmaps
Here are a few concrete paths you could follow next, each roughly 3 to 6 months of part-time learning.
Roadmap A: Job-ready Backend Generalist
- Month 1–2
- Strengthen Python and FastAPI
- Build 2 serious FastAPI projects, with:
- Auth
- Pagination
- Validations
- Tests
- Month 2–3
- PostgreSQL in depth:
- Indexing, transactions, query analysis
- More complex queries and joins
- Add proper Docker setups for your projects
- Month 3–4
- Learn basic cloud deployment:
- Deploy one project on a cloud VM
- Use managed PostgreSQL
- Configure HTTPS and a domain
- Month 4–6
- CI/CD for at least one project
- Add logs, metrics, and monitoring locally
- Polish portfolio and start applying for jobs
Roadmap B: API & Integrations Specialist
- Master REST deeply
- Pagination, filtering, searching patterns
- Idempotency and error handling patterns
- API versioning and documentation
- Learn GraphQL basics
- Build a small GraphQL API
- Understand when to use GraphQL vs REST
- Focus on security
- OAuth 2.0, OpenID Connect
- JWT, access and refresh tokens
- API keys, rate limiting
- Practice integrations
- Integrate with 3rd party APIs:
- Payments (e.g. Stripe test mode)
- Email providers
- Webhooks (consume and produce)
Roadmap C: Reliability/DevOps oriented Backend
- Gain strong Linux and Docker skills
- Learn infrastructure as code (e.g. Terraform, Ansible basics)
- Work with Kubernetes at least locally (kind, minikube)
- Focus on observability
- Prometheus, Grafana, log aggregation tools
This path suits you if you enjoy systems, operations, and making things stable at scale.
Track Your Progress and Avoid Burnout
Learning backend development is a long journey. To make it sustainable:
- Set small, weekly goals:
- “Add tests for 3 endpoints”
- “Deploy one small change using CI/CD”
- Review monthly:
- What did I actually build?
- Which concepts do I still find confusing?
- Keep a log:
- Short daily or weekly notes:
- What you learned
- What you broke and how you fixed it
This helps you see progress when motivation drops.
How to Ask for Help Effectively
Whether online or in a team, your ability to ask questions well is a skill.
When asking for help:
- Include:
- What you tried
- Expected behavior
- Actual behavior
- Relevant errors and code snippets
- Reduce the problem:
- Create a minimal reproducible example
- Often, you solve the problem while trying to shrink it
This is useful in:
- GitHub issues
- Stack Overflow
- Company Slack or Teams channels
Good questions lead to good answers and show professionalism.
Putting It All Together
You now have:
- A foundation in backend concepts and tools
- A set of projects you can improve and expand
- Several possible directions to specialize in
Your next steps:
- Pick a primary goal for the next 3–6 months.
- Choose a roadmap that aligns with that goal, or adapt one.
- Commit to building real, finished things:
- With tests
- With documentation
- With some level of deployment
If you keep building, refactoring, and learning from real code, you will move from “course graduate” to “backend engineer” in a very real, practical sense.
Views: 10
KAHIBARO