Summary
Join Karius as a Senior Software Engineer in the Engineering team to design, develop, and maintain backend software and infrastructure for commercial and research setups. This role requires strong problem-solving skills and deep technical expertise.
Requirements
- BS or MS degree in Computer Science, or related technical fields involving algorithms and coding, with at least three years in a senior role
 - 7+ years of software engineering experience, including designing, developing, and maintaining backend solutions in a production environment
 - 6+ years of hands-on experience designing, building, and maintaining microservices-based systems
 - 6+ years of hands-on experience with event-driven architecture (EDA), including message brokers (e.g., Kafka, RabbitMQ, AWS SNS/SQS) and event streaming technologies
 - 5+ years of experience and deep knowledge of Typescript/javaScript backend stack using frameworks such as Express, Nest.js , and Node.js
 - Ability to design systems with asynchronous communication and eventual consistency
 - Hands-on experience deploying and managing applications in cloud environments (AWS, Google Cloud, or Azure)
 - Deep knowledge of cloud-native technologies like Docker, Kubernetes, and serverless architectures
 - Hands-on experience with both relational and NoSQL databases (e.g., PostgreSQL, MySQL, MongoDB)
 - Experience implementing CI/CD pipelines and automated testing for cloud deployments using tools like Jenkins, Github actions, etc
 - Knowledge of security best practices (e.g., OAuth, JWT, data encryption) and experience with monitoring tools (e.g., Prometheus, Grafana, ELK stack)
 
Responsibilities
- Software Design: Follow Domain Driven Design to clearly document the backend services design and the interfaces
 - Software Development: Design, develop, maintain and write high-quality, maintainable, and scalable code using modern software engineering best practices
 - Code Quality and Best Practices: Ensure adherence to best coding practices, identify opportunities and propose process and tools improvements
 - Testing & Deployment: Develop and maintain unit, integration, and functional tests, contributing to a continuous integration and delivery (CI/CD) environment
 - Innovation & Problem Solving: Proactively identify technical challenges and recommend innovative solutions to ensure the development of cutting-edge software applications that meet the companyβs evolving needs
 - Collaboration: Work closely with cross-functional teams (product, operations, customer success) to align engineering efforts with business goals and end-to-end solutions
 - Problem-solving and Debugging: Troubleshooting to resolve complex technical issues and identify long-term solutions
 - Documentation: Ensure comprehensive documentation of system designs, codebases and development processes to maintain clarity and transparency across teams
 - Performance Optimization: Ensure system reliability and performance through proper monitoring, tuning, and optimization of the codebase
 
Benefits
- Health insurance
 - Retirement benefits
 - Paid time off
 - Remote work, flexible hours
 - Life and disability insurance
 - Bonuses and incentives
 - Professional development opportunities
 - Wellness programs
 - Family and parental leave