Job Description
Job Description
We are looking for a highly experienced Senior Python Developer to design, develop, and maintain robust backend systems. This role requires expertise in Python programming, cloud services, and microservice architectures to deliver scalable and efficient solutions. Based in Princeton, New Jersey, this position involves collaborating with cross-functional teams to build innovative applications and systems.
Responsibilities :
- Lead the design and development of backend systems and applications using Python, ensuring scalability and performance.
- Create and maintain APIs, including REST and WebSocket, utilizing tools such as FastAPI, PostgreSQL, SQLAlchemy, and Alembic.
- Oversee database schema design, migrations, and integration across multiple services.
- Collaborate with frontend teams to develop web applications using Angular 15.0 and higher.
- Architect and deploy solutions within Azure environments, including Azure Functions, Web Apps, IoT Hubs, Event Hubs, and Service Bus.
- Build and manage microservices with Docker and Kubernetes to ensure efficient containerization and orchestration.
- Develop and scale messaging systems using Kafka or Redis for real-time data streaming and processing.
- Implement Test-Driven Development practices to deliver maintainable, high-quality code.
- Work closely with DevOps, QA, Product Management, and UI / UX teams to align development efforts with business goals.
- 10+ years of experience in Python software development, demonstrating attention to detail.
- Advanced knowledge of FastAPI, SQLAlchemy, Alembic, and PostgreSQL.
- Proven ability to design and build REST and WebSocket APIs within microservice architectures.
- Strong experience with Angular 15.0 or newer versions.
- Expertise in Azure Cloud Services, including Functions, Web Apps, IoT Hubs, Event Hubs, and Service Bus.
- A minimum of 3 years of hands-on experience with Docker and Kubernetes for containerization and orchestration.
- Familiarity with messaging systems like Kafka or Redis for streaming and processing.
- Solid understanding of Test-Driven Development and its application in modern software development.