Senior Software Engineer
Join our dynamic engineering team as a Senior Software Engineer, playing a crucial role in the design, implementation, testing, and maintenance of cutting-edge software products. We are seeking a talented individual who can quickly adapt to existing systems and components, actively contribute to enhancing current functionalities, and develop new components utilizing big data and other innovative technologies. If you have a robust knowledge of Java frameworks and experience in developing server-side or cloud-based applications, we want to hear from you!
Key Responsibilities:
Engage in defining product-level architecture and take responsibility for component-level design.
Own features and components throughout the development cycle.
Employ a test-driven development approach to ensure high-quality code delivery.
Conduct code and design reviews.
Participate in hands-on development and maintenance of software applications and components.
Provide support for existing systems and ongoing projects.
Qualifications:
Bachelor's in Information Systems, Computer Science, Engineering, or a related field required.
5+ years of hands-on experience with Java, contributing to multiple development cycles from specifications to software delivery.
Familiarity with J2EE Application Servers and related Java technologies.
Experience with Spring-based frameworks like Spring Boot and JPA.
Understanding of microservices architecture and design patterns.
Proficiency in Docker and Kubernetes is essential.
Knowledge of Big Data technologies such as Apache Spark, Apache Hudi, and Kafka.
Experience with relational databases and SQL.
Exposure to data lakes and shell scripting is a significant advantage.
Hands-on experience with cloud applications and infrastructure on AWS, GCP, Azure, etc.
A proactive learner with the ability to quickly absorb new technologies.
Ability to collaborate effectively in a diverse team environment.
Capability to work independently with minimal guidance.
Experience in test-driven development using tools like JUnit and Mockito.
Familiarity with Agile Development and Continuous Integration practices is a plus.