Python Back End Developer
Job Summary
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.
- Minimum Qualification: Degree
- Experience Level: Senior level
- Experience Length: 5 years
Job Description/Requirements
Responsibilities:
● Write reusable, testable, and efficient code
● Design and implement 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
● Performance tuning, improvement, balancing, usability, automation
● Work collaboratively with the design team to understand end-user requirements to provide technical solutions and for the implementation of new software features
Requirements
● 5+ years of experience 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 depending on your technology stack}
● Basic understanding of front-end technologies, such as JavaScript, HTML5, and CSS3
● 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}
Collaboration Tools
- GitHub
- Slack
- Jira
- Microsoft Azure
- Gitlab