Senior Software Engineer
Definitive Healthcare
Role: Senior Software Engineer
Job Summary:
Utilize advanced Python technologies and frameworks to design, develop, and maintain scalable backend systems and microservices for products in marketing analytics and real-world evidence analytics. As a senior contributor, you will provide technical leadership, lead backend development efforts, mentor team members, and drive technical excellence. Collaboration will occur within cross-functional teams, including UI designers, data engineers, frontend developers, client-facing teams, product management, and project management, while adhering to agile methodologies and scrum practices to deliver robust, integrated analytics solutions.
Responsibilities:
- Architect, develop, and optimize scalable backend components, microservices, and RESTful APIs using Python frameworks such as Django and FastAPI.
- Implement real-time features and asynchronous processing with WebSockets and Redis for enhanced application performance.
- Lead the backend development team by delegating tasks, coordinating efforts, and ensuring timely delivery of high-quality features.
- Provide technical leadership through mentoring junior developers, conducting thorough code reviews, and enforcing best practices in software design and implementation.
- Lead collaboration with data engineers, frontend developers, and stakeholders to gather requirements, define technical specifications, and ensure seamless integration across layers.
- Perform advanced troubleshooting and debugging of complex issues in production and development environments, including performance bottlenecks and system failures.
- Contribute to architectural decisions, system design, and performance optimization in containerized environments using Docker and Kubernetes.
- Participate actively in the full software development lifecycle, encompassing planning, development, testing, deployment, and maintenance within an agile framework.
- Maintain effective communication in a globally distributed team, utilizing tools such as Git for version control and JIRA for project tracking.
- Minimum 7+ years of professional experience in Python backend development, with expertise in frameworks such as Django and FastAPI.
- Proven track record in designing and implementing RESTful APIs, microservices architectures, and real-time applications using WebSockets.
- Strong proficiency with caching solutions like Redis and relational databases such as PostgreSQL, including query optimization and schema design.
- Deep understanding of object-oriented programming, design patterns, and software architecture principles.
- Proficiency with ORM libraries (e.g., SQLAlchemy or Django ORM).
- Advanced experience in Linux environments, containerization with Docker, and orchestration using Kubernetes.
- Proficiency in code versioning with Git, including advanced workflows and branching strategies.
- Hands-on experience with agile methodologies, scrum processes, and tools such as JIRA.
- Demonstrated expertise in debugging, performance tuning, security best practices, and complex problem-solving.
- Excellent communication and interpersonal skills to effectively collaborate with technical and nontechnical stakeholders in a distributed team environment.