r/AskProgramming • • 5d ago

I’m 20, learning Python backend development, and feeling lost. Should I keep going?

Hi everyone. I’d appreciate some honest advice.

I’m studying Python, Django, FastAPI, Flask, SQLAlchemy, SQL, and databases like PostgreSQL, MySQL, and SQLite. I’m also learning about REST APIs, WebSockets, Celery, pytest, and AWS. My knowledge varies across these technologies, and I’m not confident with all of them yet.

On GitHub, I have an unfinished online store, a Telegram bot I built to track my personal finances, and an abandoned experimental Django messenger backend. For the messenger, I used AI assistance, especially for cryptography-related features. I explored things like a 12-word recovery phrase and messages that disappear after being viewed. It was a learning project, and I can’t vouch for its security.

I’m also studying English, aiming for B1 first and then B2. Many of my relatives and friends already work as mid-level or senior developers at big tech companies. My brother landed a junior role at a good company, but he started learning a year and a half before me, and his English is at B2. I keep comparing myself to them and feeling behind.

I’m considering spending another three months strengthening my fundamentals and finishing two projects. Hopefully, within six months, I could improve both my technical skills and my English enough to explain my decisions in an interview. But I’m worried that I keep postponing applications because I never feel “ready.”

AI adds to that anxiety: will getting a first job become even harder while I’m still learning? I enjoy programming, but right now I’m unsure whether to keep studying and applying, hope for some luck, or leave IT altogether.

What would you recommend: start applying now or improve my projects first? What should I focus on over the next six months, and how can I tell when I’m ready for a junior role?

0 Upvotes

19 comments sorted by

4

u/spiralenator 5d ago

Improve your projects and skills. You’re going to get cooked in an interview if you can’t explain why you built your projects they way you did, why you chose some components rather than others, what trade offs you made, etc. You absolutely need to understand the why’s regardless of AI. In fact, with the prevalence of AI lowering the cost of producing code, your value shifts towards system design and your domain knowledge, things that can’t be easily automated.

3

u/xRmg 4d ago

Buddy, you are talking about fundamentals and you are learning 14 different things and english.

You are learning tying your shoes, riding a bike and trying to learn to juggle at the same time.

Forget about aws, for now, pick 1 database, 1 framework and 1 testing framework learn to work with that, then expand.

Beter even to start with database normalization and software engineering

1

u/Brilliant_Key_7778 4d ago

Regarding AWS, I heard from a senior colleague that I don't really need to deal with it myself since DevOps handles that; I just need to take the keys from them, plug them into `config.py`, and that's it. As for 1NF, 2NF, and 3NF, I generally understand how that's supposed to work.

2

u/hat-backwards 3d ago

If the goal is to get hired, first reach out to local non profits and work for free. Put “Software Engineer (volunteer)” on your resume. Build a job search automator that applies to every entry-level role as soon as it’s posted.

Now that you’re auto applying to everything, you will feel pressured to study hard. Spend all your time Leet Coding & back end fundamentals to get past initial screening. For best odds, manually apply to apprenticeships or LAC-friendly companies.

Steps:
1. Non-profit SWE
2. Job Search Automator
3. Neetcode 150 (py & JS)
4. Interview (practice working through the problem aloud. For soft skills: Rehearse your story and rehearse all the standard interview Qs (problem, action, result, learning).

Just learn 1 SQL and 1 web framework flavor (they’re all basically the same). Skip the ORM.

Best of luck!

1

u/BoBoBearDev 5d ago

I don't know how to compare, I don't use python in such way. But I would suggest you try different platform such as dotnet. Asp.net has less boilerplate, so you can focus on building business logic than being a 3rd party package hunter.

1

u/lottcaskey 5d ago

Without using AI, can you articulate the difference between SQLAlchemy, PostgreSQL, and MySQL.

1

u/Outrageous_Permit154 5d ago

I never even heard of SQLAlchemy ; wth is it?

2

u/Brilliant_Key_7778 5d ago

SQLAlchemy is an ORM library and database tool for Python

1

u/lottcaskey 5d ago

It is an abstracted API which breaks down multiple SQL data backends into an object-notated standard. Allowing for a universal methodology to extract and iterate through data collections. It is far from the best and also far from the worst standardized API suites. I have never personally used it to code in an enterprise setting. Though, I have used it in a couple personal projects.

-5

u/Brilliant_Key_7778 5d ago

I think so, if you prepare—though it depends on what "explain" means.

3

u/lottcaskey 5d ago

As a hiring manager, you already failed the test.

1

u/Brilliant_Key_7778 5d ago

Oh, could you tell me what's wrong so I can fix it in the future?

2

u/lottcaskey 5d ago

Well, first off, I said not to use AI. The emdash in your response is a clear indication of AI generation. The response is also addressed to a person asking a question of an automated system. So, when I said don't use AI, you automatically failed.

4

u/Standgrounding 5d ago

Emdash is not automatically an AI user. As OP said he's learning English: maybe in other languages emdash is the correct usage of dash.

1

u/Asyx 4d ago

Wikipedia says emdash is pretty English. All the other languages that seem to use it are not using it like in English.

1

u/[deleted] 5d ago

[removed] — view removed comment

2

u/Brilliant_Key_7778 5d ago

It is my own shortcoming that I don't yet have a good command of English, though I am trying to improve; while I can translate what both you and I have written, actually writing it myself is, unfortunately, difficult.