Job Description:
- As a Senior Full-stack Developer, your role would involve design development and deploy full-stack applications out of Artificial intelligence projects with a focus on low latency and scalability.
- You also need to optimize the application for better performance and a large number of concurrent users.
- Besides, you’d also closely mentor younger engineers on the team and contribute to team building.
- A strong technologist at Curl cares about doing things the right way rather than just doing them and thrives in a complex and challenging environment.
Who are we looking for?
• Bachelors / Masters in Computer Science or equivalent with at least 4-8 years of professional experience.
• Solid understanding of design patterns, data structures, and advanced programming techniques
• As an Engineer in our team, you will design, code, test and debug quality software programs.
• Strong software design and architectural skills in object-oriented and functional programming styles.
Strong software design and architectural skills in object-oriented and functional programming styles.
• Java 8, Microservices using Spring boot, Spring Cloud, Docker, Kubernetes orchestrator.
• Experience in working with Spring Framework - Spring Boot, Spring REST, Spring Security, Spring Data JPA, OAuth2, hibernate.
• Experience in Reactjs or Angular.
• Experience in RabbitMQ
• Experience in Unit Testing Tools like Junit/TestNG
• Experience in working with SQL & NoSQL databases such as MySQL, Mongo DB.
• Knowledge of CI/CD architecture.
• Knowledge of tools like Jenkins, SonarQube, Maven, Gitlab
• Experience in cloud technologies.
• You demonstrate the ability to work in a fast-paced and hyper-growth environment where the requirements are constantly changing.
• Solid understanding of design patterns, data structures, and advanced programming techniques.
• Nice to have: Python 3.6+, Image and textual data processing technologies
• Expert in modern JavaScript frameworks like Angular, React, or VUE (Angular is a must).
• Familiar with agile techniques like code reviews, pair programming, collective code ownership, clean code, TDD, and refactoring.
• Design and development of high-volume, high-performance, high-availability, service-oriented Java applications using proven Java frameworks and technologies.