Python Web Developer

Job description

We are looking for a Python Web Developer responsible for managing the interchange of data between components in a microservice environment. Your primary focus will be the development of all server-side logic, ensuring high performance and responsiveness to requests from different services. You will also be responsible for integrating the front-end and other microservice components elements built by your co-workers into the application; therefore, a basic understanding of front-end technologies and microservice architecture is necessary as well.

Responsibilities

  • Writing reusable, testable, and efficient code
  • Design and implementation of low-latency, high-availability, and performant applications and using RESTful APIs. 
  • Integration of user-facing elements developed by front-end developers with server side logic and other services.
  • Implementation of security and data protection
  • Integration of data storage solutions (RDBMS, NoSQL, Bigdata)
  • Writing data gathering services to interact with various type of data stores

Requirements

Expert in Python, with knowledge of at least one Python web framework ( Django, Flask, Tornado , ...)

  • 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 (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 (Git, Mercurial, TFS)
  • Familiarity with scrapping and crawling frameworks
  • Familiarity with Data structure and data optimization concepts
  • Good communication skills