Senior Software Engineer, Java - Apps team
Develop backend services, REST APIs, and product features for a network-modeling platform using Java. The role requires at least five years of software development experience, strong API and database design skills, and expertise with dependency injection and testable code.
Salary not listed
On-site5+ YOEBackend Engineering
About the job
Responsibilities
- Develop new product features that leverage the network model to help users visualize their network, understand how it behaves, see how it has evolved, answer specific questions, and plan changes.
- Design data models for new product features.
- Propose and implement REST APIs supporting the web application and customer publishing.
- Review product designs, technical design documents, and code changes constructively.
Requirements
- At least 5+ years of full lifecycle software development experience.
- Expertise in Java 17 or above.
- Considerable experience with a dependency injection framework such as Guice or Spring.
- Ability to write and refactor code for testability.
- Deep understanding of REST API design fundamentals and best practices.
- Proficiency in SQL and relational database schema design.
- Strong object-oriented design and development skills.
- Familiarity with functional programming principles.
- Good communication skills.
Nice to Have
- Experience with Spring Web MVC or Spring Boot.
- Experience with JVM languages such as Groovy, Kotlin, or Scala.
- Experience with TypeScript or modern JavaScript.
- Networking domain experience.
Compensation and Benefits
- Regular, full-time opportunity based in Bangalore, India.
Skills
JavaREST APIsSQLRelational DatabasesSpringGuiceSpring BootSpring Web MvcTypeScriptJavaScriptGroovyKotlinScalaObject-Oriented DesignFunctional Programming