Senior Software Engineer - Java with Data Structures & Algorithms
Office in India: Hyderabad, India: Bengaluru
Java& 5 others
Looking for something else?
Find a vacancy that works for you. Send us your CV to receive a personalized offer.
Find me a jobChoose an option
We are seeking a Senior Software Engineer with strong expertise in Java, Data Structures & Algorithms to join our software engineering team and contribute to the design, development, and delivery of scalable, high-performance applications.
Responsibilities
- Function as a member of a software engineering team by contributing to software builds through consistent development practices
- Debug basic software components and identify code defects for remediation
- Enable the development, support, and monitoring of software across test, integration, and production environments
- Automate deployments in test or production environments
- Adhere to security and regulatory requirements
- Design and contribute to API implementations
- Follow best practices for automated unit, integration and regression testing
- Participate in pull request reviews to ensure quality code delivery
- Build software as part of a nimble Agile team, with the opportunity to impact team goals and contribute to the overall architecture
- Ensure infrastructure is safely extensible, scalable, reliable and meets SLAs for both external and internal users
- Ensure software solutions are testable, intuitive, and easy to maintain
Requirements
- 5 to 8 years of software development, testing and implementation experience
- Bachelor's or master's degree in Computer Science, Engineering, Information Systems, or a related STEM field
- Proficiency in Java 8, Data Structures & Algorithms, and Microservices
- Expertise in REST APIs, JSON, and Kafka
- Knowledge of RDBMS & NoSQL database technologies such as MongoDB, Redis, and PostgreSQL
- Skills in Spring Boot, Maven, and GIT
- Familiarity with Jenkins, GitHub Actions, and Agile development methodologies
- Understanding of Linux/Unix and Gradle/Maven
- Hands-on experience implementing highly scalable, low latency software applications using multi-threaded, asynchronous & reactive programming
- Practical experience deploying containerized software applications to cloud computing environments using Kubernetes and Docker
- Background in high availability techniques, profiling, and performance analysis of applications
- Competency in Design Patterns, System Design, and Problem Solving
