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 (may include databases, key-value stores, blob stores, etc.)
- Coordinating with development teams to determine application requirements
- Testing and debugging applications
- Developing back-end components
- Assessing and prioritizing client feature requests
- Reprogramming existing databases to improve functionality
- Developing digital tools to monitor online traffic
- Collaborating with front-end developers
- Coordinating with front-end developers
- Ensuring accessibility and security compliance
- Understanding and implementing user authentication and authorization between multiple systems, servers, and environments
- Creating database schemas that represent and support business processes
- Maintaining code versioning with tools such as Git, Mercurial, or SVN
Skills and Qualifications
- Bachelor's degree in computer science, computer engineering, or related field
- 3-5 years of experience as a Python developer
- Expert knowledge of Python and at least one web framework (such as Django, Flask, etc.)
- Familiarity with some ORM (Object Relational Mapper) libraries
- Ability 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
- Strong understanding of fundamental design principles behind a scalable application
- Familiarity with event-driven programming in Python
- Understanding the differences between multiple delivery platforms, such as mobile vs. desktop, and optimizing output to match the specific platform
- Strong unit test and debugging skills
- Proficient understanding of code versioning tools (such as Git, Mercurial, or SVN)
- Ability to collaborate on projects and work independently when required
Additional Information
- Experience with integrating data storage solutions and ensuring high performance and responsiveness of applications is preferred.
- Knowledge of developing digital tools to monitor online traffic will be an added advantage.