Where to Go Next
You now know the ideas that every programming language shares: variables, types, decisions, loops, lists, functions, strings, files and objects. That is a real foundation. The next question is what you want to build, because that decides which languages and tools to learn next.
This lesson describes five common paths, gives you a small taste of the code in each, and links to the tutorials on this site that follow on from this course. There is no single right answer; pick the one that excites you most and start there.
First: finish one language properly
Whichever path you choose, first take one language beyond the basics. If you liked Python, continue with the Python tutorial. If you enjoyed the JavaScript examples and want to build websites, continue with the JavaScript tutorial. Both will feel familiar, because you already know the core ideas.
Path 1: Web development
Web developers build websites and web apps: online shops, booking systems, school portals. The front end (what you see) uses three languages together:
- HTML for structure: headings, paragraphs, forms.
- CSS for looks: colours, layout, mobile-friendly design.
- JavaScript for behaviour: what happens when you click or type.
After that, many developers learn a framework such as React, and a back-end language to handle logins and databases, such as Node.js, PHP or Python with Django. Here is a taste of front-end logic, the kind of check a sign-up form makes before sending your details:
function checkMobile(number) {
if (number.length !== 10) {
return "Mobile number must have 10 digits";
}
for (const ch of number) {
if (!"0123456789".includes(ch)) {
return "Use digits only";
}
}
return "Looks good";
}
console.log(checkMobile("98765"));
console.log(checkMobile("98765abcde"));
console.log(checkMobile("9876543210"));Mobile number must have 10 digits Use digits only Looks good
Path 2: Data and AI
Data work means answering questions with numbers: which product sells best, which students need help, what next month's demand might be. The usual order is Python, then SQL for databases, then Data Science with libraries such as pandas, and later Machine Learning and Generative AI. A taste, summarising one week of orders in plain Python:
orders = [["Mon", 42], ["Tue", 38], ["Wed", 55], ["Thu", 47], ["Fri", 61]]
best_day, best_count = orders[0]
total = 0
for day, count in orders:
total += count
if count > best_count:
best_day, best_count = day, count
print(f"Total orders: {total}")
print(f"Average per day: {total / len(orders):.1f}")
print(f"Busiest day: {best_day} ({best_count} orders)")Total orders: 243 Average per day: 48.6 Busiest day: Fri (61 orders)
SQL lets you ask the same kind of question of a database with one statement:
SELECT day, orders
FROM weekly_orders
ORDER BY orders DESC
LIMIT 1;Path 3: Mobile apps
Mobile developers build apps for phones. For Android, the main language today is Kotlin; Java is also common in older Android code. For iPhone, the language is Swift. Cross-platform frameworks, such as Flutter (which uses the Dart language) and React Native (which uses JavaScript), let one codebase run on both. Mobile work also needs the basics of APIs and JSON from How the Web Works, because most apps fetch their data from a server.
Path 4: Software testing
Testers make sure software works before users find the problems. Some testing is done by hand, following test cases; much of it is automated with code that checks other code. You already know enough to write a simple automated test. Python's assert stops the program if a condition is false:
def fare(km):
if km <= 2:
return 30
return 30 + (km - 2) * 15
assert fare(1) == 30
assert fare(2) == 30
assert fare(5) == 75
assert fare(12) == 180
print("All fare tests passed")All fare tests passed
Change 75 to 70 and run it again: the program stops with an AssertionError, which is how a failing test tells you something is wrong. Professional testers use tools that run hundreds of such checks automatically, for web pages, APIs and apps.
Path 5: Security, systems and cloud
Some people enjoy how computers and networks work underneath. This path covers Linux (the system most servers run), networking, Cyber Security (defending systems, always with permission), and cloud and DevOps tools such as Docker and AWS. Scripting in Python or the Linux shell is a daily skill here.
Skills every path needs
| Skill | Why | Learn it |
|---|---|---|
| Git and GitHub | Save versions of your code and work with others | Git tutorial |
| Data structures and algorithms | Write efficient code; common in interviews | DSA tutorial |
| SQL basics | Almost every app stores data in a database | SQL tutorial |
| Reading documentation | Tools change; official docs are always up to date | Practise with docs.python.org and MDN |
| Clear writing | Explain problems, write good commit messages, ask good questions | Every day |
Common mistakes
- Starting five paths at once. Choose one for the next few months. You can always switch later, and much of what you learn carries over.
- Only watching or reading tutorials. Real progress comes from building things that are slightly too hard for you.
- Skipping the basics to reach the "exciting" tools. Frameworks and AI libraries are much easier when loops, functions and data structures feel natural.
- Comparing yourself with others online. People share their successes, not their months of practice. Compare yourself with where you were last month.
Key points
- After this course, take one language (Python or JavaScript) further before anything else.
- Web development: HTML, CSS, JavaScript, then a framework and a back end.
- Data and AI: Python, SQL, data science, then machine learning.
- Mobile: Kotlin for Android, Swift for iPhone, or a cross-platform framework.
- Testing: automated checks such as
assert; security and cloud: Linux, networking, Docker, AWS. - Git, SQL, DSA and reading documentation help on every path.
Exercise
Choose one path. Write down three small projects you could build in it over the next two months, from easy to harder. Then do one small piece today: for example, if you chose testing, write four assert tests for a function is_even(n) that you also write; if you chose web, write a JavaScript function that checks whether a password has at least 8 characters.
Show solution
Example for the testing path: (1) tests for the fare function, (2) tests for a marks-to-grade function, (3) tests for a small shopping-cart program. Today's piece:
def is_even(n):
return n % 2 == 0
assert is_even(4) == True
assert is_even(7) == False
assert is_even(0) == True
assert is_even(-2) == True
print("All is_even tests passed")All is_even tests passed
Good tests include ordinary values (4, 7) and unusual ones (0 and a negative number), because unusual inputs are where bugs often hide.
Quick Quiz
1. Which three languages make up the front end of a website?
HTML gives structure, CSS gives style and JavaScript gives behaviour in the browser.
2. Which language is the main choice for modern Android apps?
Kotlin is the main Android language today; Swift is for Apple devices.
3. What does Python's assert fare(5) == 75 do if fare(5) returns 70?
assert checks a condition and stops with an error if it is false, which is how simple tests report failures.
4. What is the best way to make progress after this course?
Building things, one path at a time, turns knowledge into real skill.
Learn Intro to Programming with a mentor
Free lessons get you started. Our Python Programming training adds real projects and code reviews from working developers.
- Project-based learning
- Mentor code reviews
- Free counselling call
