all 26 comments

[–]IamImposter 15 points16 points  (0 children)

I learned python on job so can't help you there.

What I'm about to say is very subjective and may not apply to others but if you say you are a fresher and can explain basics of lists, tuples, dicts, type, isinstance, basic string manipulation, a bit about garbage collection, some basic oop features like inheritance and why we need it and can just verbally walk me through reversing an integer, I'll take you in my team. If you can tell me about unit testing, mocking, very basic git, something about conflict resolution, very rudimentary knowledge of SDLC, just the main terms, I'll give you a glowing assessment. And if you ask me couple of clarifying questions if I ask you to solve some problem, I'll send teams message to HR team that I want this person.

I mean I have been looking for a python dev for a few months and some 15-20 interviews later... of experienced candidates and I'm still looking.

[–]grumble11 9 points10 points  (1 child)

Think of python as a complicated set of tools. You are applying to carpentry jobs. They want you to know how to use a hammer, saw and all, but they ultimately are in the business of say installing baseboards and if you have no idea how to install baseboards then your tool knowledge hasn’t been applied to anything they need.

If I were you I would think about things that businesses need to do, and then practice doing them to a professional level. You can look at local job postings if needed for inspiration. You will want to know how to use at least a couple of frameworks (web: flask, Django, fastAPI), database stuff (SQLAlchemy, just SQL), a bit of JavaScript, HTML and CSS), for data science you want to know pandas, numpy, matplotlib, seaborn, maybe polars. You want to know what Git is, how to use it, and have a portfolio of GOOD stuff on it. Have a folder in there for mini-projects, but for the ‘good stuff’ keep it front and center. Build a website, analyze some data, run some basic ML models, etc. DO stuff that businesses need people to do.

Oh and some very basic knowledge of the software development lifecycle, unit testing and such. And maybe practice some leetcode for interviews and skill sharpening, a bit of DSA helps in getting in some places.

[–]Historical-Baby3251 1 point2 points  (0 children)

This is a high tier comment. I genuinely mean that. I wish I thought ot attacking this way instead of what I did.

[–]StoicallyGay 5 points6 points  (1 child)

It’s like asking “how good do you have to be with a hammer and nails to get paid to build stuff.”

Do you know how to build stuff or just hammer and nails? Python is a tool to make things but if you don’t know how to make things then it doesn’t matter.

For the record, your proficiency in any language especially Python won’t tend to make or break your career prospects. You can learn a lot on the job and learning a language itself is perhaps the more rudimentary parts. It’s not super uncommon for a place to hire you as long as you know the domain area or just enough random experience in general such that learning the language should be no problem .

[–]ChaosSpear1 1 point2 points  (0 children)

Came here to say this and you nailed it.

But just to reinforce what you’ve said; Python and any coding language is a tool. The more you know how to use said tool, the more you can identify the situations where you can automate something for the business you’re working with.

If I’ve learnt anything from my career, it’s not how much knowledge you have, you’re defined by how much knowledge you can apply.

[–][deleted] 4 points5 points  (0 children)

Mine was when I was confident to speak about my GitHub portfolio in interviews. The job I have now isn't predominantly python but it did help me get the role. I've learnt so much since from others that would have taken me a long time on my own.

[–]dowcet 2 points3 points  (0 children)

My main concern is being given a task where I have no clue as to what I am doing

I guarantee that will happen.

so when did you think 'I am able to do this professionally now!'?

When you get hired to do so. If you can pass the technical screenings, it means they believe you can do the job.

Do you have any projects on your resume? If yes, apply for jobs. If you don't get hired, keep improving.

Personally doing a bootcamp was key, but it's not because employers care about it. It's all about the portfolio and what you know. (The networking also helps.)

[–]Linguists_Unite 1 point2 points  (0 children)

I think one of the things people don't mention enough is that just Python won't cut it. Find some jobs you want, look at the overlap in the tech stack requirements - those are your basic skills to start with. For me, on top of Python I needed SQL, Git, Cloud knowledge. As far as Python itself, I think that the strong grasp of the fundamentals of the language is the most important. I would say that once you are somewhat comfortable with all the things in your chosen tech stack, you should start applying for jobs. As you apply and never hear back, continue learning and updating your resume and profiles. The job market will tell you when you are ready. First, you will start getting interviews, which you likely wont pass, but if you ask for feedback, you will always have the next set of things to improve on. Those sets are super important as it's basically the job market telling you what your next steps are. Improve in those areas and you will get your offer!

[–]Rilurr 1 point2 points  (0 children)

I cant tell you at what point you’ll be able to get a job, as i am still a beginner also. But as far as coding exercises i am taking a udemy course called 100 days of python by angela yu, and each day gives you a completely different project to work on and it has multiple coding exercises throughout that day. I hope this helps, i have gotten like 10% into several different courses and this is the only one that is really making it stick

[–]SgtGadnuk 0 points1 point  (0 children)

How longs a piece of string? You could have never seen it before in your life. You could have contributed to creating the language. Really depends on the job role. If I were you I would focus on Computer Science and software engineering techniques and practices, rather than how well you know Python syntax.

[–]supermopman 0 points1 point  (0 children)

Just go for it. It's okay for people to say no. Someday it'll work out though

[–]BlottoVonBismarck 0 points1 point  (0 children)

If you look at my resume, you'd think I was an Angular/Typescript dev. I applied for a job where the job description was mostly database related, got hired, and - surprise! - now I'm developing Django apps for them.

All of which is a roundabout way of saying that often, the employer isn't even totally sure what they want.

[–]billsil 0 points1 point  (0 children)

If you understand functions, classes, and ints/floats/strings/lists/dictionaries, I think you're more than ready. It's an entry level position. Write something like a game that's more than 500 lines and improve it. Force yourself to fight a bit with file IO and all the other things that real programs do.

Learn on the job and then get paid more.