About the OpportunityJob Type: PermanentApplication Deadline: 29 November 2024
Job Description
Title: Java Application Engineer
Department: Technology
Reports to: Senior Manager
Location: Gurgaon India
Job Type: Permanent
About Fidelity International
We’re proud to have been helping our clients build better financial futures for over 50 years. How have we achieved this? By working together - and supporting each other - all over the world. So, join our GPS Platform Delivery - Record Keeping team and feel like you’re part of something bigger.
About your team
The GPS Dellivery - Record Keeping is a team of around 200 people whose role is to develop and maintain the systems-of-record we us to administer the persions and investments of our 1.5m+ workplace and retail customers in UK. In doing this we critical to the delivery of our core product and value proposition to these clients today and in future.
About your role
As a Application Engineer you will play a key role on a global programme working with senior Business leaders, Product Owners and Technology teams within Fidelity International to deliver a new and enahannce Fidelity’s record keeping platform.
Working alongside the business proposition team and the technology architects you will need to utilise your experience of as expertise in core Java, multithreading, collections, data structures, algorithms, and databases. to assist with the engineering working aspects, design, definition, exploration and delivery of an end to end solution to service a scaling Fidelity’s record keeping platform.
You must have a passion for delivering high quality and scalable solutions with a continued focus on the customer need. You should be both willing to challenge and to be challenged on where things can be improved and are comfortable working alongside other engineers in a pair programming environment.
About you
This position requires a strong self-starter with solid technical engineering background and influencing skills, who can lead the way, assist development teams with architecture, cloud best practices, trouble shooting and any other technical issues related to implementation of a customer facing proposition.
- Strong hands of experience on Multithreading.
- Understanding and implementation of basic data structures like arrays, linked lists, stacks, queues, trees, and graphs is crucial. You should know how to traverse, search, and modify data in these structures.
- Should have knowledge of basic algorithms like sorting, searching, and traversal. Knowledge of dynamic programming, greedy algorithms, and graph algorithms will be helpful.
- Design, develop, and maintain Java applications with a strong emphasis on multithreading to achieve high concurrency and performance.
- Develop and maintain high-performance, scalable, and reliable Java applications.
- Implement thread synchronisation, locking, and other concurrency control mechanisms to ensure data consistency and avoid race conditions.
- Profile and fine-tune applications to identify and resolve performance bottlenecks.
- Diagnose and resolve complex multithreading issues and optimize code for efficiency.
- Create and maintain documentation for multithreading design patterns, best practices, and troubleshooting guides.
- Collaborate with cross-functional teams to design, develop, and implement new features
- Write clean, efficient, and maintainable code using Java, multithreading, collections, data structures, and algorithms
- Design and implement database schemas and queries
- Develop and maintain unit tests, integration tests, and end-to-end tests
- Troubleshoot and debug production issues
- Stay up to date with the latest developments in multithreading technologies and recommend innovative solution
- Working with the product owners identify new improvements, customer requirements and follow through to delivery.
- Ensure delivery in a timely, efficient and cost effective manner.
- Stakeholder management across various Technology and Business teams.
- Ensures that technical solutions are fit for purpose, including for functional, non-functional and support requirements and aligned to Global Technology Strategies.
- Be the trusted advisor to the business.
- Partner closely with Architecture, business and supporting central groups while working within a global team.
The ideal candidate will have 8+ years’ experience working as a software engineer with:
- Experience in software delivery in agile methodologies.
- In depth knowledge of Core Java Programming.
- Data Structures.
- Strong hands of experience on Multithreading.
- Strong analytical and problem-solving skills.
- Experience developing algorithm.
- Knowledge of machine learning, data structures and algorithms
- Knowledge of AWS
- Developing highly performant quality applications on cloud.
- Experience of DevOps toolchain such as Terraform, Ansible, Jenkins and Bamboo
- Ability to travel when required.
- Strong communication skills & a customer centric focus.
- Working knowledge of APIs, caching and messaging
- Experience with containers technologies will be advantageous
- TDD and pair programming best practise with CI/CD pipelines,
- Strong communication skills and interest in a pair-programming environment
- Passion for growing your skills and, tackling challenging problems
Feel rewarded
For starters, we’ll offer you a comprehensive benefits package. We’ll value your wellbeing and support your development. And we’ll be as flexible as we can about where and when you work – finding a balance that works for all of us. It’s all part of our commitment to making you feel motivated by the work you do and happy to be part of our team. For more about our work, our approach to dynamic working and how you could build your future here, visit careers.fidelityinternational.com.
For more about our work, our approach to dynamic working and how you could build your future here, visit careers.fidelityinternational.com.