Skip to main content

Python Architect - Django/Flask

Technology
Good Co
1 month ago

Job description

Role & Responsibilities:

  • Design and architect scalable, secure, and high-performance applications using Python and modern backend technologies.
  • Define overall application architecture, technical standards, coding practices, and development guidelines.
  • Lead the design and development of RESTful APIs, microservices, and distributed systems.
  • Evaluate and select appropriate Python frameworks such as Django, FastAPI, Flask, or similar technologies based on business and technical requirements.
  • Design database architecture and data-access strategies using PostgreSQL, MySQL, MongoDB, or other suitable databases.
  • Develop solutions that are scalable, highly available, fault-tolerant, and maintainable.
  • Review existing applications and recommend architecture modernization, performance improvements, and technical debt reduction.
  • Establish best practices for Python development, testing, logging, monitoring, security, and code quality.
  • Conduct architecture and code reviews and provide technical guidance to development teams.
  • Work closely with product managers, business stakeholders, DevOps, QA, and other engineering teams to translate requirements into technical solutions.
  • Design and implement integrations with third-party APIs, enterprise systems, messaging platforms, and cloud services.
  • Drive adoption of CI/CD, automated testing, containerization, and DevOps practices.
  • Work with cloud platforms such as AWS, Azure, or GCP to design and deploy scalable solutions.
  • Identify performance bottlenecks and implement appropriate caching, asynchronous processing, database optimization, and concurrency strategies.
  • Ensure applications meet organizational requirements for security, compliance, reliability, and observability.
  • Mentor senior developers and engineers and contribute to technical decision-making and architecture documentation.
  • Stay current with emerging technologies in Python, cloud computing, AI/ML, distributed systems, and software architecture.

Preferred Candidate Profile:

  • 8 - 10 years of professional software development experience, with strong hands-on experience in Python.
  • Proven experience designing and implementing enterprise-grade applications and scalable backend systems.
  • Strong knowledge of Python programming, OOP, design patterns, SOLID principles, and clean architecture.
  • Strong experience with one or more Python frameworks such as FastAPI, Django, or Flask.
  • Hands-on experience with REST APIs, microservices, distributed systems, and asynchronous programming.
  • Strong understanding of SQL and NoSQL databases, database design, indexing, query optimization, and data modeling.
  • Experience with AWS, Azure, or GCP, including cloud-native architecture and deployment.
  • Good understanding of Docker, Kubernetes, CI/CD, Git, and infrastructure automation.
  • Experience with messaging/event-driven technologies such as Kafka, RabbitMQ, SQS, or similar platforms.
  • Strong knowledge of automated testing, including unit, integration, and API testing using tools such as PyTest.
  • Experience with system design, architecture documentation, scalability, performance optimization, and security best practices.
  • Familiarity with Redis or other caching technologies and background/async processing frameworks.
  • Experience working in Agile/Scrum or similar software-development environments.
Keywords
CodingOCamlApache KafkaRedisTechnical debtScalabilityMongodbCloud computingRabbitMQDevOpsFault toleranceDjangoMysqlPostgresqlPythonScrumSqlCI/CDSOLID

Interested in this role?