
Java Senior Developer
- Bangalore, Karnataka
- Permanent
- Full-time
- Codes, amends and refactors moderately complex programs / scripts in accordance with the design.
- Verifies and tests moderately complex programs / scripts; corrects errors and re-tests as appropriate.
- Documents work in accordance with agreed standards. Applies version control in accordance with agreed procedures.
- Applies agreed standards and tools as required, to achieve a well-engineered result.
- Collaborates in reviews of work with others as appropriate. May be involved in peer review activities such as pair programming. Monitors and reports on progress.
- Assists with the production of outline specifications, collecting and collating information to help determine scope, business objectives, constraints etc. to be taken into consideration.
- Undertakes design of moderately complex software applications or components.
- Assists as part of a team in the design of components of larger software systems.
- Produces logical designs including processes, objects, data flows, inputs, stored data and outputs.
- Identifies common processes and specifies user and/or system interfaces
- Translates logical designs into physical designs taking account of target environment, performance (and other non-functional) requirements and existing systems and services.
- Produces detailed designs including for example: physical data flows, class diagrams, file layouts, common routines and utilities, software specifications or prototypes, and backup, recovery and restart procedures.
- Applies agreed standards, guidelines, patterns and tools
- Designs, estimates, and implements technical solutions for medium/high complexity applications.
- Participates actively in all phases of the application development lifecycle.
- Collaborates with various project stakeholders to provide support for clarifying requirements, processes, architecture, and priorities.
- Recommends and promotes IT industry standards, tools, and practices (DevOps, etc.) to achieve well-engineered software products.
- Proposes improvements and escalates risks/issues related to development activities.
- Participates in the review of the work done by development team members.
- Learns and applies new technologies, practices, and tools as appropriate to the project.
- Participates in internal and external tech communities, events, etc.
- Shares experience and knowledge gained from projects.
- 5+ years of experience
- Java Full-stack (both Front End and Back End are mandatory)
- Front End - React JS / Angular
- Back End - Java 21/17 (preferred), Java 8 and above - quick learner, should be able to learn Java 21 with in two weeks, Spring Boot, Microservices
- Hands-on Experience in design and development of Microservices-REST
- Good knowledge of caching- RedIS
- Awareness on message broker - Kafka, RabbitMQ
- Hands-on Experience in Deployment using Docker, CI/CD pipeline
- Knowledge of Integration and unit test using Mockito/Spock
- Good knowledge of the cloud platforms (preferably AWS),AWS services-EC2, Regions, Zones
- Knowledge on build tools Maven/Gradle.
- Hands-on experience in NoSQL DB like MongoDB/Cassandra,
- Knowledge on microservices architecture with API-Gateway, Circuit Breaker, REST template, Web client, open feign
- Knowledge on GRPC Protocol + Protocol Buffers
- Finance: Competitive salary package, share plan , value-based recognition awards, referral bonus;
- Career Development: Career coaching, global career opportunities, non-linear career paths, internal development programmes for management and technical leadership;
- Learning Opportunities: Complex projects, rotations, internal tech communities, training, certifications, coaching, online learning platforms subscriptions, pass-it-on sessions, workshops, conferences;
- Work-Life Balance: flexible working hours
- Health: Global internal wellbeing programme, access to wellbeing apps;
- Community: Global internal tech communities, hobby clubs and interest groups, inclusion and diversity programmes, events and celebrations.