About Punch :
Punch is a full-service digital agency on a mission to build the best digital experiences. We are looking to hire an experienced Python Developer to help us keep growing our team. Apply today!
What we look for :
We value the ability to adapt to change and a desire for professional growth. We work hard to provide our talent opportunities to grow their skills through meaningful work.
We are looking for a Python Developer to join our team at our Lahore Office.
Come build with us!
Job Responsibilities :
Write effective, scalable code.
Develop back-end components to improve responsiveness and overall performance.
Integrate user-facing elements into applications.
Test and debug programs.
Improve functionality of existing systems.
Implement security and data protection solutions.
Assess and prioritize feature requests.
Coordinate with internal teams to understand user requirements and provide technical solutions.
Prepare technical documentation.
Collaborate with UX / UI designers to implement design into the code.
Design and implementation of low-latency, high-availability, and performant applications.
Integration of user-facing elements developed by front-end developers with server side logic.
Skills Required :
Expert in Python, with knowledge of at least one Python web framework (such as Django, Flask, etc depending on your technology stack).
Familiarity with some ORM (Object Relational Mapper) libraries.
Able to integrate multiple data sources and databases into one system.
Understanding of the threading limitations of Python, and multi-process architecture.
Good understanding of server-side templating languages (such as Jinja 2, Mako, etc.).
Understanding of accessibility and security compliance (depending on the specific project).
Knowledge of user authentication and authorization between multiple systems, servers, and environments.
Understanding of fundamental design principles behind a scalable application.
Familiarity with event-driven programming in Python.
Understanding of the differences between multiple delivery platforms, such as mobile vs desktop, and optimizing output to match the specific platform.
Able to create database schemas that represent and support business processes.
Strong unit test and debugging skills.
Proficient understanding of code versioning tools (such as Git, Mercurial or SVN).