Senior Software Engineer
atolls
Job Description
- Design and develop modern architectures using Java, AWS technologies, microservices, NoSQL & RDBMS, event-driven architectures, etc.
- Be involved in the inception, development, and delivery of various features and products on an ambitious and challenging product roadmap.
- Take responsibility for our solution architecture and contribute to improving it in terms of performance, security, scalability, modularity, and operational efficiency.
- Be involved in multiple projects at the same time and manage your time effectively.
- Conduct knowledge-sharing sessions through presentations and hands-on tasks that help practice new technologies.
Your Profile:
We’re looking for someone with 6+ years of experience, who is dedicated to creating exceptional user experiences and driving innovation.
- 6+ years of experience in designing and developing complex modular applications from technical planning to implementation within a client-side framework as well as server-side.
- Strong knowledge and active hands-on experience of Java and SpringBoot.
- Object-oriented programming concepts with application to concurrent event-based systems.
- Previous knowledge and experience with JS (TypeScript, NodeJS), HTML, CSS and React/Angular.
- Knowledge of AWS technologies such as DynamoDB, Elasticsearch, relational and NoSQL databases, EventBridge and messaging and queuing solutions like SQS, SNS (or any other cloud platform like Google Cloud or Azure).
- Experience with GraphQL, federation and Supergraph concepts.
- Excellent understanding of common design/architectural patterns, and the ability to produce elegant designs in modular/microservice design patterns.
- Logical, analytic thinking, structured and target-oriented approach, very good problem-solving skills.
- Passion for delivering clean code, unit/integration tests and maintainable documentation.
- Familiarity with Agile/Scrum methodologies and DevOps best practices.
- Demonstrated ability to support and mentor more junior members of a software development team.
- BS degree in Computer Science or a related technical field, or equivalent practical experience.
- Excellent communication skills and fluency in written and spoken English.