Software Engineer (Back-end)
Job Description
Engramme is seeking a back-end Software Engineer to build scalable architecture, high-throughput APIs, and AI/ML memory retrieval integrations for a memory platform.
Responsibilities
- Design and implement scalable back-end architecture for the memory platform
- Develop robust APIs capable of supporting millions of memory retrievals per day
- Optimize database performance and implement caching strategies
- Partner with the engineering team on technical architecture decisions
- Define and apply engineering best practices and code quality standards
- Collaborate with AI/ML teams to integrate memory retrieval algorithms
- Monitor system performance and implement automated scaling solutions
Requirements
- 5+ years of back-end engineering experience
- Strong proficiency in Python and modern web frameworks, including FastAPI, Django, and Flask
- Experience with PostgreSQL and database optimization
- Knowledge of cloud platforms including AWS and GCP, plus containerization with Docker and Kubernetes
- Understanding of caching systems such as Redis and Memcached, and experience with distributed architectures
- Experience with API design and microservices architecture
- Strong problem-solving skills with attention to detail
- Experience with CI/CD pipelines and infrastructure as code
Technologies
- Python
- FastAPI
- Django
- Flask
- PostgreSQL
- AWS
- GCP
- Docker
- Kubernetes
- Redis
- Memcached
Nice to Have
- Experience with AI/ML infrastructure and vector databases
- Knowledge of similarity search and embedding systems
- Background in high-performance computing or real-time systems
- Previous startup or early-stage company experience
- Open source contributions
- Experience with monitoring tools such as Prometheus and Grafana
- Knowledge of message queues, including RabbitMQ and Apache Kafka
Location: San Francisco, CA (onsite)