I recently became an adult and started learning programming. I'm comfortable with Python fundamentals, including variables, data types, loops, conditionals, functions, and object-oriented programming, and I also know the basics of HTML and CSS. I'm currently learning Flask and considering backend development, but I'm unsure whether to focus on web development or move toward AI and LLMs. Should I continue with Python frameworks such as Django or FastAPI, or switch to technologies like Spring Boot or Next.js that are commonly requested in some job markets? My main goal is to earn my first income as soon as realistically possible, either through a job or freelance work. What skills, projects, and steps would give me the best chance of getting started?
5 Answers
There is no reliable timeline for earning your first income. It depends on your location, communication skills, available opportunities, and how much time you can practice. Focus on the market rather than trying to predict the exact number of months: inspect job postings, identify recurring requirements, build projects around them, and apply regularly. Solid skills and real experience tend to produce better results than constantly switching between Django, FastAPI, Spring Boot, Next.js, and other technologies.
If earning quickly is the priority, actively apply for internships, junior roles, and small freelance contracts while you keep learning. Studying at home indefinitely will not create income by itself. You need to show employers or clients what you can build and get experience working with real requirements, deadlines, and feedback. A degree can help in many markets, and competition may be tough without one, so compensate with a strong portfolio and consistent applications.
Don’t rush into AI or LLM development just because it is popular. Those areas usually require stronger programming, software engineering, and sometimes math fundamentals. Since you already know some Python and are learning Flask, continuing with a Python web stack is a reasonable path. Learn HTTP, databases, SQL, Git, testing, authentication, deployment, and basic frontend skills before adding more frameworks.
Start by checking the job and freelance market where you actually live. Technology demand varies a lot by region, so look through local listings and note which skills appear repeatedly. Choose one practical stack from those listings instead of trying to learn every framework at once. Your first goal should be becoming useful enough to complete small real projects, not choosing the most fashionable technology.
Build a portfolio with live projects and, if possible, contribute to open-source code. A few finished projects that people can use are more convincing than a long list of tutorials. For example, create a small Flask or Django application with authentication, a database, deployment, documentation, and tests. You can also look for beginner-friendly open-source issues through project repositories and contribution guides.

For project ideas, solve practical problems: an appointment tracker, inventory tool, expense manager, or simple service for a local business. Search for beginner-friendly open-source issues by looking for labels such as documentation, good first issue, or beginner.