I took a Python test entitled “[CompanyX] Challenge Technique PYTHON”. I thought it was a Python test but it turned out to be an html-javascript-python-git-sql test. There’s no wrong in giving a profiling test but labelling it as “Challenge Technique PYTHON” is quite wrong.
Don’t take my word for it, take the Python skill assessment here on linked-in (go to your skills section then take it). Register yourself as a freelancer on a popular site then verify yourself in Python. Go to mentoring sites then verify yourself. Go to sites featuring Python interview questions and check them out. That’s what “Challenge Technique PYTHON” means.
If you are testing for Python then you’d test things like scope resolution, generators, decorators, descriptors, context managers, exceptions, stdlib modules like itertools, functools, collections … Then you’d go on to the domain you are looking for. If web, you’d want normal concepts like orm, migrations, REST, caching, the use of brokers. Then you’d go for framework-specific questions like inheritance, third-party modules, asynchronous tasks, views, deployment, CI and security.
When non-Python dedicated companies do Python stuffs, it’s a disaster.
Another complementary way to test candidates is take-home projects. The candidate gets to develop a project within some 1/2 days. It gives a glimpse on the maturity of the candidate. Normally these can be afforded by big companies. In Mauritius there is a company (Not mine) that offers to evaluate Python candidates. They prepare the project brief according to needs. They take the leisure of requiring your db planning and UML schemas. So that companies can afford depth tests without investing in an internal setup. Such a test for a Python framework is really nice.
What bugged me to write this post is that it was written in the mail: “nous vous invitons à passer un challenge Python” confirming that they really wanted the candidate to take a Python test. It confirms the fact that they labelled the test as a Python one. There is a big malady in thinking that you don’t need to verify people deep in Python. That especially comes around if you think that it does not make a difference to know Python well. That is a sign that you don’t work on Python specialisation.