I'm 22, unemployed, and feeling completely lost about which direction to take in programming. I enjoy coding, but I keep switching between full-stack development, Rust, cybersecurity, compilers, and agentic AI. I often begin tutorials or projects, get stuck or distracted, and then move on before finishing anything.
As a result, I feel like I know a little about many subjects but don't have enough completed work or practical experience to show employers. I want to find a programming job, but I'm unsure which skills are realistic to learn, what employers are currently hiring for, and how to compete for entry-level roles. There's also pressure at home to start earning, and I don't have many people to discuss this with.
I haven't given up on programming, but the number of possible paths has become overwhelming. How can I choose a practical focus, build useful experience, and make consistent progress toward getting hired?
4 Answers
Entry-level technology jobs are competitive, so it’s reasonable to take another kind of job while you build experience. A non-tech job can still become useful if you notice problems there and create small tools to solve them. Real users, even in a small business, can give you practical experience and references that are more convincing than another unfinished tutorial.
First check the entry-level positions available where you live and note the technologies and experience they request. Build your learning plan around those requirements and spend most of your study time practicing with them.
Since becoming employable may take a while, consider taking a part-time or non-technical job in the meantime. That can reduce financial pressure while giving you enough stability to keep learning and eventually apply for junior roles.
Start with actual local or remote job listings instead of trying to predict which technology will be valuable in general. Look for several junior roles that seem realistic and write down their repeated requirements. Choose one main language and the common tools around it, then build projects that resemble the work those jobs involve.
Use AI or other resources to identify reasonable next skills, but treat that as a guide rather than another source of endless possibilities. Finish a few documented portfolio projects, practice the fundamentals those jobs test, and apply consistently. Once you get a role, you can keep adding skills gradually instead of trying to learn every interesting field at once.
Your curiosity isn’t the problem; it just needs to be separated from your short-term career goal. Compilers, security research, AI, and systems programming are interesting, but they usually aren’t the simplest route to a first job. Pick a practical target, such as web development, learn one stack well, and focus on the fundamentals employers actually evaluate.
Find real companies and positions you might apply for, research their interview process, and make a study plan around that. Depending on the role, this could include one language, basic data structures and algorithms, practical software design, and being able to explain your projects clearly.

A good progression is to list your current skills, compare them with real job descriptions, choose one achievable next skill, and build a project that demonstrates it. The important part is repeating that process and showing finished work rather than collecting more tutorials.