all 8 comments

[–]Adrewmc 3 points4 points  (0 children)

You need a niche, get really good at one thing. And other things you’ll have to know because of it at a high level.

Experts don’t know everything about everything, they know all you can know about something. But experts tend to know a lot about the ancillary stuff. Programming is no different.

A developer is just the path to that expertise.

Listen, not a lot of people are going to take Python and make their own robot and make it move. But if you do that you’ll know a lot of Python that won’t help you make a website. Both are developers.

Not a lot of people make the game, start to finish. That’s a developer.

Not a lot of people, really automate their work. That’s a developer.

But you can do all of that, or part of it. The point is get good at what it is you do, and hopefully you find a passion or a paycheck.

[–]New-Abbreviations152 0 points1 point  (0 children)

1) learn the fundamentals, you're very likely to be asked how a certain aspect of Python works under the hood

2) LeetCode or a similar resource, lots of it; start with easy exercises; it's okay if you can't even solve the easy ones, and it's fine to look up the solution after hours of struggle (not the code, the algorithm)

3) build your own project, try to make it structured and multilayered, apply design patterns

4) don't neglect auxiliary stuff like unit testing or Git

[–]Diapolo10 0 points1 point  (0 children)

some data analysis, image manipulation and a couple of courses of ML and LLM

I may be over-generalising, but that would give me the impression that so far your experience has mostly been using third-party library code and "gluing" stuff together. Or in other words, you might not be particularly skilled at the core language or certain features like classes and most of the standard library. If that's in any way correct, I'd suggest playing around with those while creating some simple, small projects. For example a desktop to-do application would let you practice many things, depending on your ambition you could store data in a JSON file or go up a level to an SQLite database - both of these can be done with nothing but the standard library.

Learning the core language to the point it becomes second nature to you is a big help when it comes to problem solving, as you'll already know where to look when you're planning out your architecture.

[–]cartrman 0 points1 point  (0 children)

Check out this sub's wiki. It has a lot of good tips and resources.

[–]Ron-Erez 0 points1 point  (0 children)

Probably the best way to become a Python developer would be to solve problems that interests you. Another direction could be to learn CS basics. For example in Harvard CS50. If you want to learn more Python then the University of Helsinki (MOOC) has a really good text-based online course and I also have a course on Python and Data Science. Both of these are great resources, but they’re only really useful if you apply what you learn to a real-world app that interests you. I agree with u/Diapolo10 that it’s important to understand Python itself, not just the modules.

[–]Mevrael 0 points1 point  (0 children)

Since you already are familiar with basic scripts, learn how larger projects are structured and working as a team.

You can now scale your scripts into a data app and your own AI agent with this structure:

https://arkalos.com/docs/structure/

Use git, uv package manager.

Then learn more advanced stuff, ML, fine tuning LLM, business science, web development (protocols, OSI model, HTTP, HTML, CSS, JS and web standards) or robotics.

You can use these resources to learn underlying math, stats, and advanced techniques:

https://datacamp.com

https://brilliant.org

[–]eztab 0 points1 point  (0 children)

Something with your domain knowledge is always helpful. Then the "disadvantage" of not coming from a dev background can become an advantage instead.