Job Description
We are looking for a Python Web Developer responsible for managing the interchange of data between the server and the users. Your primary focus will be the development of all server-side logic, ensuring high performance and responsiveness to requests from the front-end. You will also be responsible for integrating the front-end elements built by your co-workers into the application; therefore, a basic understanding of front-end technologies is necessary as well.
Responsibilities
-
Writing reusable, testable, and efficient 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.
-
Implementation of security and data protection.
-
Integration of data storage solutions (databases, key-value stores, blob stores, etc.)
-
Coordinate with internal teams to understand user requirements and provide technical solutions.
-
Assess and prioritize feature requests.
-
Test and debug programs.
Skills And Qualifications
-
Expert in Python, with knowledge of at least one Python web framework (like Django, Flask or Pyramid).
-
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).
-
Basic understanding of front-end technologies, such as JavaScript, HTML5, and CSS3.
-
Understanding of accessibility and security compliance.
-
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 (like Git, Mercurial or SVN).
-
Good problem-solving skills.
-
BSc in Computer Science, Engineering or relevant field.