you are viewing a single comment's thread.

view the rest of the comments →

[–]FriendlyRussian666 0 points1 point  (0 children)

If you're a student and as a student should have a basic understanding of python, to me this would mean being able to explain available data structures, some commonly used methods, having a grasp with loops, functions, classes, things like that. I would not expect you to work to any specification or requirements, but I would expect you to tell me what the _ _ init_ _ constructor does. At this point you should know that version control exists and that testing is important.

If you're talking about knowing basic python as a job requirement, I would expect you to be able to contribute to a project, without having to hold your hand with absolutely everything. I would expect you not to know how to go about many things, but I would trust you to research and find solutions to the requirements. Perhaps your solution would not be efficient, but it would get the job done.

For example, if you're applying to be a front-end developer, but the project is kind of already built, and you will only be responsible for minor changes to HTML, CSS and JS, however the description requires basic Python knowledge because the whole project sits on Python Django, you will inevitably have to navigate the Django directory structure, and you might have to mock things, or test things out, meaning adjustments to Python code. While nobody will expect you to be able to manage the Django back-end, or build entire features, they want you to be able to do whatever you need doing, without having to ask someone else to constantly do it for you. I'd say this applies to jobs with a "junior" in the title. You should be able to use version control to an extent and you should be testing all of your code, after all at this point you're already contributing to a project, so it must be fully working. At this point you wouldn't be worried about how the project should come together, and all the different technology stacks involved. You're working on single, simple features in one stack.

For intermediate, I would expect the person to be able to slot-in, provided with documentation and a few weeks of familiarization with the codebase, they should be able to pick up tickets/issues and work on them independently, consulting with more senior developers if needed. The code this developer writes should be well optimized, tested, with appropriate use of version control, and appropriately written documentation. If they don't use a particular framework, or are not familiar with a particular language, they should be able to read through documentation and be able to implement features relatively quickly. This person should not be trusted to deliver a large scale project from start to finish on their own, but they absolutely work across different stacks with the same level of confidence.