Java Engineer, AS
Deutsche Bank
Job Description:
Job Title: Java Engineer
Location: Bangalore, India
Role Description
An Engineer is responsible for designing, developing and delivering significant components of engineering solutions to accomplish business goals. Key responsibilities of this role include active participation in the design of their solution components, investigating re-use, ensuring that solutions are fit for purpose and maintainable, and can be integrated successfully into the overall solution and environment with clear, robust and well tested deployments.
What we’ll offer you
As part of our flexible scheme, here are just some of the benefits that you’ll enjoy
- Best in class leave policy
- Gender neutral parental leaves
- 100% reimbursement under child care assistance benefit (gender neutral)
- Flexible working arrangements
- Sponsorship for Industry relevant certifications and education
- Employee Assistance Program for you and your family members
- Comprehensive Hospitalization Insurance for you and your dependents
- Accident and Term life Insurance
- Complementary Health screening for 35 yrs. and above
Your key responsibilities
- Lead the feature team, collaborating with others to understand requirements, analyze and refine stories, design solutions, implement them, test them and support them in production
- Use BDD techniques, collaborating closely with users, analysts, developers and other testers. Make sure we are building the right thing.
- Write code and write it well. Be proud to call yourself a programmer. Use test driven development, write clean code and refactor constantly. Make sure we are building the thing right.
- Be ready to work on a range of technologies and components, including user interfaces, services and databases. Act as a generalizing specialist.
- Define and evolve the architecture of the components you are working on and contribute to architectural decisions at a department and bank-wide level.
- Ensure that the software you build is reliable and easy to support in production. Be prepared to take your turn on call providing 3rd line support when it’s needed
- Help your team to build, test and release software within short lead times and with minimum of waste. Work to develop and maintain a highly automated Continuous Delivery pipeline.
- Help create a culture of learning and continuous improvement within your team and beyond
Your skills and experience
- Proficiency in Java 8, Python 3x with good understanding of both object oriented and functional programming concepts.
- Practical experience of using test driven development and constant refactoring in a continuous integration environment.
- Knowledge of NoSQL and relational databases.
- Strong knowledge of Java, Spring, Spring Boot, Maven
- Strong knowledge of build automation systems such as TeamCity/Jenkins or UDeploy
- Familiar with version control systems such as GIT or SVN
- Experience with setting up key stores, generating SSL Certificates
- Knowledge of caching technologies – ehcache, hazelcast, coherence etc
- Experience working in an agile team, practicing Scrum, Kanban or XP
- An understanding of web technologies, frameworks and tools, for example: HTML, CSS, JavaScript, Angular, Bootstrap, React, D3, Node.js
- Experience working in an agile team, practicing Scrum, Kanban or XP
- Experience of performing Functional Analysis is highly desirable
- Experience of Automated Testing is highly desirable
- Some form of Agile certification would be highly desirable
- Behaviour-Driven Development, particularly experience of how it can be used to define requirements in a collaborative manner to ensure the team builds the right thing and create a system of living documentation
- Experience with a range of technologies that store, transport and manipulate data, for example: relational databases, NoSQL, document databases, graph databases, streaming and messaging
- Architecture and design approaches that support rapid, incremental and iterative delivery, such as Domain Driven Design, CQRS, Event Sourcing and microservices
- Useful but not essential would be knowledge gained in Financial Services environments, for example products,
- instruments, trade lifecycles, regulation, risk, financial reporting or accounting,
- Familiar with DevBox configurations
- Experience with Control-M jobs configuration
- Familiar with JMeter, Postman, SOAP UI, Curl.
- Programming Languages - Java, Python, Java script, Shell script etc.
- High performance SQL data access - SQL scripts
- Database: Oracle 10G or higher for Liquibase database automation.
- Experience in CI/CD implementations
- Manage application source code using Git ,Stash, Bitbucket
- Test automation : Junit , Selenium , TestNGBuild tool : Ant , Maven, Gradle
- Build Management : TeamCity , Jenkins , Bamboo
- Repository Management : Artifactory , Nexus
- Code and Build Quality :Sonar ,Veracode
- Experience in Jira , Confluence
- Cloud environments like OpenShift, Azure, and AWS etc.
- Experience in Apache Tomcat, WebLogic and JBoss Application Server.
- Application deployments using UDeploy (IBM Urban Code)
- Application Monitoring using Geneos, Splunk, App Dynamics.
How we’ll support you
- Training and development to help you excel in your career
- Coaching and support from experts in your team
- A culture of continuous learning to aid progression
- A range of flexible benefits that you can tailor to suit your needs
About us and our teams
Please visit our company website for further information:
https://www.db.com/company/company.html
We strive for a culture in which we are empowered to excel together every day. This includes acting responsibly, thinking commercially, taking initiative and working collaboratively.
Together we share and celebrate the successes of our people. Together we are Deutsche Bank Group.
We welcome applications from all people and promote a positive, fair and inclusive work environment.