Job Description
Location: 100% Remote
Client: Invidi
Duration: Long Term Contract
Role Overview:
The Senior Java Developer will lead the design, development, and deployment of scalable, high-performance Java applications on AWS cloud. The role involves hands-on coding, architectural design, and collaboration with DevOps, QA, and cross-functional teams in an Agile environment.
Key Responsibilities:
- Design, develop, and document high-quality software.
- Support strategic architectural vision, ensuring scalability, performance, and reliability.
- Diagnose root causes of defects/issues and implement effective solutions.
- Provide on-call support for AWS-deployed services as part of a DevOps team.
- Write unit tests to validate core functionality.
- Collaborate closely with test engineers on manual and automated testing plans.
- Participate actively in Agile/Scrum ceremonies, including backlog grooming, sprint planning, and retrospectives.
Required Skills & Experience:
- Education: Degree in Computer Science or equivalent
- Experience: 10+ years in software development
- Strong expertise in Java (and Kotlin if applicable), Spring, Spring Boot
- Deep understanding of object-oriented design, data structures, and software architecture
- Cloud Experience: AWS, SaaS, Microservices design and deployment
- Database Knowledge: NoSQL (e.g., DynamoDB)
- Strong experience in REST/RESTful API design
- Familiarity with all phases of the software development lifecycle
- Excellent communication, analytical, and problem-solving skills
Good-to-Have Skills:
- Ad Tech industry knowledge
- Experience with structured SQL queries and scripting languages (Python, Groovy, Bash, XML)
- Proficiency with SCM & CI tools: Git, Gerrit, Bitbucket pipelines, Jenkins
- Experience with Gradle, Terraform, JUnit, Mockito, Guice
- Familiarity with ALM tools: Confluence, JIRA
- Knowledge of Protocol Buffers and gRPC
Ideal Candidate:
- Strong hands-on experience with Java and AWS cloud
- Experienced in designing SaaS and microservices architectures
- Able to troubleshoot production issues, optimize performance, and contribute to architectural improvements
- Comfortable in a remote, Agile environment, collaborating across teams