If you’re a Python developer heading into an interview, it’s likely you already know how to prove your technical competence in the language. So, we’re not going to bore you with details of how to outline your coding ability. Instead, we’re going to offer a few pointers on how to sell yourself as the kind of Python developer who understands how to use it to grow a product and transmit that understanding to an audience.
Before you head into an interview, analyse the role within the context of the business and current employees, and see what gaps you can fill. If they are an early-stage startup, for example, and already have a Python engineer, they may be lacking someone on the Data Science side of things. If the product is still in its larval stage, they could be looking for a Python expert with solid knowledge of web frameworks: Django (mostly Django), Flask and API engineering. We should note that the lesser known Python frameworks - Pyramid, Tornado, Falcon - might go over the head of most non-specialist hiring managers.
At a larger company with a later stage product, you might have to brush up on your greenlets, generators and other more advanced Python techniques. Decide what kind of Python developer you’ll be for them: Data Science / ML support, Web developer / Backend Engineer, Backend / quasi-Infrastructure?
Python is known for its incredibly vast array of tried-and-tested packages to interface with different technologies. It’s a force multiplier that will allow you to implement a production grade level of functionality quite early on. And once it’s rooted in a system, it can be very difficult to get out. This makes Python developers who can carry the torch for the existing codebase very precious. Make sure your interviewer knows this.
Whether they are technical or not, not everyone in the interview will realise how extensive and successful Python usage has been in building Big Tech. Despite the development of Go, it is still one of the main languages used at Google. YouTube servers still use it, despite having left CPython behind. Instagram is the rags to riches tale of a product built on Django. Tell these stories; they lend texture and colour to your skills, and showcase the popularity of Python’s speed and flexibility of development, data readiness and portability, and product iteration.
Most developers will know the Python litany of the performance vs. ease of use / debugging / readability / toolset trade-off. It still remains important to keep those arguments at the forefront of your mind. They encourage imaginative shaping of the product and ingenious backend engineering to get around performance bottlenecks. If anything, several of your non-technical stakeholders might enjoy that loading animation used to cover your slow CRUD process. Python's limitations raise questions that would fit under a senior engineering or product management capacity. Tackling these questions deftly is a good way to demonstrate product acumen and leadership.
Many of the Python mainstays come with dense documentation which makes it a little more difficult to just “get something up - fast”. But just skimming the documentation before putting up development code will result in a system in need of a refactor, and will play on your technical hiring manager's mind. Having read one too many development blogs on how to tackle Django's limitations, which had clearly missed a trick from the documentation (and could have benefited from reading Two Scoops of Django), we predict this will likely be the case for other popular frameworks. Be ready to assuage your interviewer's anxieties and knuckle down on being the authority on all the details in the documents.