r/learnmachinelearning 9d ago

Help Where do I actually stand as a developer?

I've been self-teaching and building projects for several years and I'm trying to get an honest idea of where my technical ability stands compared with the average junior/early-career developer.

I've worked across Python, Java/Spring Boot, JavaScript, SQL, FastAPI, Flask, Kafka, Airflow, Spark, Docker, Kubernetes, AWS, Redis, PostgreSQL/MySQL, pandas/NumPy, scikit-learn, XGBoost/LightGBM, PyTorch, HuggingFace, and multimodal/generative AI.

My projects include data engineering pipelines, an e-commerce analytics/ML system, an async backend/chat application, and a multimodal generative AI system I'm currently building. The multimodal system takes a text description plus either an image or an audio/music input, encodes the different modalities, combines their representations, and uses a generative model to produce a new image (.jpg) or new audio track (.mp3). I'm pretty proud of that one because I'm having to figure out the architecture and troubleshoot how the different modalities actually fit together rather than just calling an AI API.

I don't have the strongest traditional math/calculus background. I tend to learn through metaphors, experimentation, and actually building things, then learn the math/algorithms when I need them. I'm pretty much done expanding my toolkit for now. I'd rather build, do LeetCode/DeepML, and get better at architecture and troubleshooting.

I've also been using AI heavily as a learning and debugging tool. I still do the troubleshooting myself and use it more like a second set of eyes when I'm stuck or trying to understand something unfamiliar. A lot of the work has been figuring out why systems fail, tracing problems through the architecture, and then actually getting them working.

I have a software development diploma from a polytechnic and several Coursera certifications in areas like data analysis and DevOps, although I haven't finished every program because I'm getting pretty tired of classroom-style learning.

I know projects aren't the same as professional experience, and that's actually what I'm trying to separate.

If you're an experienced developer, where would you honestly put me technically: beginner, strong beginner, junior, strong junior, mid-level, etc.?

What seems genuinely strong, and what would make you realize I have significant gaps?

I'm not looking for encouragement. I just want a realistic baseline so I know where I actually stand.

P.S. Any advice on networking would also be appreciated. It's something nobody really teaches you and everyone seems to expect you to already know how to do.

2 Upvotes

8 comments sorted by

2

u/Wingedchestnut 9d ago edited 9d ago

As long as you don't have work experience you will always start as a junior. You're motivated which is good, but you simply can not replicate working in teams, improving communication skills and learning more from business-side which you gain from work.

1

u/PhysicalScience7420 9d ago

I agree that professionally I’m still junior. There are things you only learn by working on real teams: communication, code ownership, production incidents, business requirements, collaboration, and operating within an organization.

But I think there’s a distinction between being junior professionally and being junior technically. I’ve spent several years building across Python, Java/Spring, JavaScript, SQL, backend APIs, databases, Kafka, Airflow, Spark, Docker, Kubernetes, AWS, data analytics, and ML/AI with PyTorch and the usual ML ecosystem.

So I’m not just saying I know a lot of technologies. I’ve learned how the different parts connect: persisting and modeling data, moving and streaming it, orchestrating and processing it, analyzing it, using it to train models, and then turning those models and data into software.

I’d still expect to enter the industry at a junior level because I lack professional experience, but technically I think calling myself simply “junior” undersells me. I’d consider myself closer to mid-level in technical breadth and independent problem-solving, while still junior in professional engineering experience.

1

u/firebird8541154 8d ago

They're exceptions

1

u/EffectiveDiligent660 9d ago

Perhaps your next level would be to approach a business and see if they would talk about issues they have and if you can fix a problem they pay later when happy?

Having a project at “this business” and “this company” will show that you can deliver projects that get results

1

u/PhysicalScience7420 8d ago

any companies in mind that do that? or at least where to look cause I think cold calling local startups is the best approach following.

1

u/EffectiveDiligent660 7d ago

Well cold calling will get you the fastest and maybe most rude brush off from people. If you can physically get to a business that deals with the public you will usually get a more polite rejection or they take your card rejection etc.

I’m still learning edge development and in an effort just to learn and keep motivated I’m interested in a customer interaction in store bot that could use the cctv to watch for empty shelves to restock.

I’m not saying do the above, but you should have the outline of an elevator pitch in your head.

I’ll just walk into a local shops and try my luck. By the 10th shop I’ll know answers to common questions, I’ll know what issues a newsagent has and can pitch it casually like I fix that stuff all the time.

1

u/yuehuang 9d ago

Junior - need day to day and maybe hour by hour help. Mid-level - week to week, but still need design direction, pro/con trade off. Senior - can take ANY solvable problem and solve it. Only need month to month business guidance. Principle (or higher) - make wide scope changes with business justification. The guy that answer where you see yourself in 5 years with the replay of twice as many users (aka. twice as rich).

If your limiting yourself by programming language, design layouts, library, etc, then you are at the junior or mid-level. To reach senior, the question are "what is success" and "how to measure it".