Responsibilities
Designing, implementing and deploying testable, performant, scalable, flexible and resilient software that effectively satisfies the business requirements.
A senior developer will also be required to act as a team lead and to be responsible for end-to-end deliveries - overseeing and participating in activities at all stages of software development lifecycle, from requirements gathering, design and development, to testing, deployment and maintenance.
Skills Required
- Bachelor's in Computer Science or a related field
- 3-15 years of experience
- Strong analytical and problem-solving skills
- Sound understanding of and experience with Object Oriented Analysis, Design and Programming
- Excellent knowledge of Java 8+, Databases (relational and/or no-SQL), Middleware (Soap/Xml/REST/Messaging)
- Experience in designing and writing clean and testable code with relevant unit/integration tests
- Experience in iterative / agile development practices
Skills Desired
- Familiarity with Spring, Hibernate, Json, CXF, JMS, MQ, Autosys
- Experience with multithreading and related challenges - Experience with DevOps practices and TDD
- Experience with Unix, Shell scripting and Python- Experience with Business Process Management tools (Pega or others)
- Familiarity with distributed caching (Gemfire, Coherence, Reddis, etc)
- Exposure to working in a global delivery team
- Prior experience in banking/financial/accounting software development
Bachelor's Degree