We are seeking an experienced and highly skilled Senior Python Developer to join our dynamic software development team.
This role is pivotal in all phases of the software development lifecycle, focusing on designing, developing, and maintaining robust, scalable, and high-performance server-side applications.
The Senior Python Developer will also play a key role in mentoring junior developers and fostering best practices in software design and coding.
Key responsibilities include leading the design, development, and implementation of scalable, high-performance, and low-latency Python-based web applications.
The developer will develop and optimize back-end components, ensuring efficient data processing and robust application functionality.
Integration of applications with various third-party web services and APIs is required to ensure seamless data flow and functionality.
Collaboration with UX/UI designers and front-end developers is essential to effectively integrate user-facing elements with server-side logic.
The role involves designing and implementing modular software, optimizing database schemas (both relational and NoSQL), and integrating diverse component applications for a cohesive, high-performance system.
Writing clean, well-tested, readable, and maintainable Python code following best practices and design patterns is expected.
Conducting comprehensive code reviews, providing constructive feedback and guidance to junior developers to ensure code quality and knowledge sharing is part of the job.
Debugging and troubleshooting complex application issues to ensure high availability and minimal latency is necessary.
The developer will contribute to the continuous improvement of coding methods, software architectures, and test automation strategies.
Active participation in Agile ceremonies (Scrum, Kanban) within a fast-paced development environment is required.
Requirements:
A Master's degree in Computer Science, Engineering, or a related field, or equivalent practical experience is required.
A minimum of 5 years of proven experience as a Backend Engineer, Backend Developer, or similar role, with a strong track record of designing and implementing complex backend systems is necessary.
Proficiency in Python programming, with in-depth experience using frameworks such as Django, Flask, or CherryPy is essential.
A solid understanding and practical experience with server-side development frameworks (e.g., Django, Flask, Express) is required.
Demonstrated experience with modular software design, integration of component applications, and back-end database design is necessary.
Experience with relational databases (e.g., MySQL, PostgreSQL) and NoSQL databases (e.g., MongoDB), including database design, querying, and optimization is required.
A strong understanding of RESTful APIs, microservices architecture, and asynchronous messaging patterns (e.g., RabbitMQ, Kafka) is essential.
Familiarity with front-end technologies such as JavaScript, HTML5, and CSS3 to facilitate effective collaboration with front-end teams is required.
Proven experience in Agile development methodologies (e.g., Scrum, Kanban) is necessary.
Benefits:
The position offers the flexibility of remote work, provided the candidate resides in the DC, Maryland, Virginia (DMV) metropolitan area.
Opportunities for professional growth and development through mentoring and collaboration with a skilled team.
Participation in a dynamic and fast-paced development environment that encourages innovation and continuous improvement.
The chance to contribute to meaningful projects that have a significant impact on the organization and its clients.