Senior Full Stack Software Engineer
Role details
Job location
Tech stack
Job description
Software Development:
-
Design, develop, and maintain Python backend services and REST APIs, ensuring scalability, performance, and security.
-
Write clean, type-safe, and well-tested code using FastAPI or Django, SQLAlchemy v2.0, and Pydantic.
-
Build and own relational data models in PostgreSQL, including schema design, migrations (Alembic), and query optimization.
-
Develop event-driven workflows using Kafka or SQS/SNS for asynchronous service communication.
Architecture and Design:
-
Contribute to the architecture and design of backend services, ensuring alignment with business goals and technical standards.
-
Participate in technical design reviews, providing feedback and recommendations to improve system design and code quality.
-
Collaborate with platform and data teams to integrate services into shared infrastructure and automated deployment pipelines.
Collaboration and Teamwork:
-
Collaborate with product managers, designers, and other engineers to deliver high-quality features and enhancements.
-
Participate in agile ceremonies such as sprint planning, stand-ups, and retrospectives.
-
Communicate effectively with both technical and non-technical stakeholders, providing updates on progress and challenges.
Mentorship and Leadership:
-
Mentor and guide junior engineers, sharing knowledge and best practices to help them grow in their roles.
-
Lead by example, demonstrating a strong work ethic, commitment to quality, and a proactive approach to problem-solving.
-
Take ownership of features or projects, driving them from concept to completion with minimal supervision.
Continuous Improvement and Innovation:
-
Stay up to date with industry trends, emerging technologies, and best practices, and bring new ideas to the team.
-
Identify opportunities for process improvements, refactoring, or technical enhancements to optimize the development lifecycle.
-
Participate in technical discussions and contribute to the evolution of the team's technical direction.
Requirements
Do you have experience in System design?, Do you have a Bachelor's degree?, * Bachelor's degree in Computer Science, Engineering, or a related field (or equivalent experience).
-
5+ years of backend software engineering experience with a strong focus on Python (FastAPI or Django).
-
Solid experience with PostgreSQL: schema design, ORM usage (SQLAlchemy preferred), and query optimization.
-
Strong understanding of RESTful API design, microservices architecture, and service communication patterns.
-
Experience with event-driven architecture and message streaming (Kafka, SQS/SNS, or equivalent).
-
Proficiency writing clean, maintainable code with type annotations, linting (Ruff/mypy), and test coverage (pytest).
-
Familiarity with containerization (Docker) and CI/CD pipelines (GitHub Actions preferred).
-
Experience with Git-based workflows, code review, and agile development practices.
-
Excellent problem-solving skills with a detail-oriented approach and a strong sense of ownership.
-
Effective communication skills and ability to work well in a collaborative team environment.
-
AWS experience a plus - particularly ECS/Fargate, RDS, ElastiCache, S3, and Secrets Manager.
-
Familiarity with Infrastructure as Code (AWS CDK or Terraform) and observability tooling (Grafana, Prometheus, Sentry) a plus.
Physical & Office/Site Presence Requirements
This is primarily a sedentary office position which requires the incumbent to have the ability to operate computer equipment, speak, hear, bend, stoop, reach, lift, and move and carry up to 25 lbs. Finger dexterity is necessary.
Benefits & conditions
Pulled from the full job description
- Referral program
- Paid parental leave
- Parental leave
- Health insurance
- Vision insurance
- Dental insurance
- Adoption assistance