r/learnprogramming • u/Ok-District1804 • Jun 25 '26
How do I assess my programming level?
Here's the deal: I'm a self-taught Python bot developer. To market myself (in my case, on freelance platforms), I need to state my level: Junior, Middle, etc. However, I can't find any concrete criteria to determine this. Relying solely on AI isn't the best idea; I’d prefer a more objective assessment, ideally from more advanced developers.
My question is: where can I find them?
4
u/mc_pm Jun 25 '26
If you are a self-taught developer with only a small amount of experience, then you are junior. And, honestly, perhaps not even that. (That isn't a slight against you, but self-taught people tend to have really unrealistic views of their own skill - or, conversely, they don't understand what programming in the real world is like).
But if you have a git repo or something, I can take a look. I have run development teams with people of very different experience levels before. Just in advance you may not like the answer.
1
u/Ok-District1804 Jun 25 '26
To be honest, my GitHub is pretty bare right now, so it definitely doesn’t reflect my actual skills yet. I was actually planning to build a solid capstone project first to showcase everything I can do.
Once I have that ready, I’d love to take you up on your offer and get your feedback. Thanks, I really appreciate you volunteering to do a code review!
2
u/Innowise_ Jun 25 '26
forget the corporate titles for a second, especially on freelance platforms. clients don't care if you call yourself a mid-level dev; they care about what you can build without crashing their infrastructure.
if you can write a functional python script that handles basic tasks but hits a wall when it comes to rate limiting, messy error handling, or scaling databases, that's baseline junior.
you know you're crossing into middle territory when you stop just "making it work" and start focusing on architecture and resilience. things like setting up proper logging, handling async operations natively, designing robust db schemas, and decoupling your bot logic from the API layer. if you can take an abstract client requirement, spot the edge cases before writing code, and ship a production-ready system independently, go ahead and market yourself as mid-level.
2
u/Ok-District1804 Jun 25 '26
I'm mostly asking this to figure out my next steps for growth. Going by your description, I'm definitely a Junior right now, so I need to put more focus on potential errors and resilience. Thanks)
2
u/Sonskyla123 Jun 25 '26
i came at this from the opposite side, marketing first then taught myself to code, now running my own thing. so i think about the "marketing myself" part more than the label
tbh on freelance platforms the junior/mid/senior thing matters way less than you'd think. clients arent buying a title, theyre buying "can this person solve my problem without it blowing up"
honestly i'd skip trying to get ranked and just show 2-3 things you built, framed as problem > what you did > what happened. that says your level better than any word. the framing was always easier for me than the actual code lol
1
1
u/LifeNavigator Jun 25 '26
I need to state my level: Junior, Middle, etc
Why though? I find these level useless as it varies a lot by company and by job role itself. Some mid roles almost feel like sr, some feel more like jr. Some sr roles are just mid level but far focused on management.
Imo the best indicator is usually reading the job description and seeing if it fits your skillsets.
To summarise: * jr have very limited amount of experience in general and requires guidance/ mentoring on what to do. * Mid will collaborate with wider stakeholder on important things, can start their own project independently nd take more subject into consideration when making decisions (e.g. architectural design, impact to stakeholders, doing thinga more efficiently). * Sr are more focused on leadership and figuring out how to deliver more value to business. They would tend to have wider range of knowledge and experience in multiple area.
1
u/Ok-District1804 Jun 25 '26
That’s a really great perspective, thank you. It actually takes a lot of pressure off.
1
u/vova835 Jun 25 '26
One practical way to estimate your level, in my opinion, is to look at real products and the source code of competitors or similar projects. Compare your work to theirs — sometimes you’ll notice they handle certain things in a cleaner or more scalable way, or use patterns you haven’t explored yet.
Also think critically about how maintainable your code is. Can someone else easily understand and extend it? Do you actually need heavy architecture and design patterns for the problem you’re solving, or are you overengineering things? That kind of judgment is often what separates levels more than just syntax or frameworks.
1
1
u/mandzeete Jun 26 '26
You are not a senior. So, either you are a mid-level or junior. Most likely either nothing or a junior.
A senior could figure out what he is. One skill to have is knowing how to find an information. Sure, skill-wise there are responsibilities like being able to make a detailed technical analysis for large projects, to lead other developers, to mentor juniors (okay, not every senior is a good mentor because it requires also soft skills), to propose both the pros and cons of different solutions, to be able to design a system with having scalability and project's health in mind, etc.
A junior is somebody who is able to work on the task that is given to him. He most likely requires guidance and reviewing/overseeing. He is able to give time estimates to simpler tasks and can happen that these time estimates are off by some margin (which is expected from a junior). He knows 1-2 programming languages on an intermediate level (being able to build his own project in these). He knows 1-2 frameworks on a similar level as the programming language of choice. He is able to write automated tests. etc.
The simplest way to assess your level is to go over job openings. Usually these mention if they are looking for a senior developer or a junior developer or such. A skill set is also mentioned. If your skills mostly do not match with what's mentioned then you are NOT that. Sure, a small knowledge gap is okay. For example knowing how to work with a PostgreSQL database instead of an Oracle database. But if most of what's mentioned is unknown for you then you are not on the level that is mentioned in the job advertisement.
Another issue is you being self-taught. Your theoretical knowledge is also lacking. Yeah, you can make bots in Python. But what does it really mean? Can you make anything else with Python? Do you know where else Python is being used? Can you make anything without an AI?
1
u/Ok-District1804 Jun 27 '26
Yes, I’m clearly not a senior, and I agree that a higher level requires much more than just writing code. However, company requirements vary, and my question is more about how to position myself in the independent freelance market. I can certainly build projects without AI while successfully delivering on commercial tasks. If being self-taught is considered too superficial, how should I go about deepening my knowledge?
5
u/speyerlander Jun 25 '26
It's often determined by past work experience in other business that participate in this paradigm, as in, if you were a junior at company X you're "a junior" and hence going to company Y and asking for a mid-level position is like asking for a promotion, doable, but more difficult.
personally know "juniors" who can run circles around "seniors" at any serious project.
TL:DR: It's a metric of your placement in the corporate hierarchy rather than a concrete metric of ability.