Principal Full Stack Engineer (Java, PL/SQL, Angular)
Fidelity
Job Description:
The Role
We (Fidelity Fund and Investment Operations Technology) are looking for a Principal Software Engineer to join one of our agile development squads to provide software engineering excellence to our suite of corporate actions applications. We are in the midst of an exciting evolution to meet the strategic corporate actions needs of Fidelity. If you are customer obsessed and passionate about advocating for stability improvements, scalability, and enjoy supporting the breadth and depth of a technology organization where no two days are alike, this is an outstanding opportunity for you in a core Fidelity business.
The Purpose of This Role
Having strong technical chops, understanding our systems, and having empathy for our customers is a given. You have a proven track record of successfully delivering projects which had a positive impact on our systems, product, team, and customers. You have strong, educated and pragmatic, opinions both on what we do and how we do it. You also have the pragmatism and experience to yield the floor and allow better ideas to prevail. You continue to grow your skills as a professional developer. Great products come from the fusion of rock solid engineering, clear product vision, and a hypersensitivity to the customer experience. You live our design and development methodologies, understand our business, and are on a continued pursuit to build empathy for our customers. While you are entrenched in the development, maintenance, and testing of one product area, your view expands to the product vertical your team operates in. You work with your team’s Architect to ensure sound technical direction.
The Expertise We’re Looking For
-
8+ years of experience developing web applications, APIs, and data pipelines
-
Completed three or more projects on commercially available applications.
-
Bachelors or Masters degree in Computer Science, Computer Engineering, Software Engineering, or equivalent.
-
A proven track record of success in working with dynamic technology focused project teams
-
Ability to data-mine and troubleshoot issues
The Value You Deliver
-
Ability to quickly learn and Analyze complex Systems
-
Exceptional Analytical Skills
-
Strong Financial and/or Corporate Actions Knowledge
-
Ability to work independently
-
Excellent technical and communication skills
-
Ability to create and maintain documentation wherever necessary
-
Should be innovative and works as collaborator with Scrum team
-
Analysis, design, development, unit testing and execution, to strict coding standards
The Skills That Are Key To This Role
-
Strong Java / J2EE experience
-
Solid background in Spring / Spring Boot / Hibernate Frameworks
-
Exposure to Oracle databases & RDS
-
Professional experience developing stored procedures and complex queries on Oracle with PL/SQL
-
Web Front end skills – Modern Angular experience
-
CI/CD tools such as Shell scripting, Maven, BitBucket, MEND, Git/Stash, Jenkins, Artifactory, uDeploy etc.
-
Familiarity with SWIFT messaging structure a plus
-
Experience in cloud technology with a strong preference to AWS experience/certification
-
Motivated/driven to get things done and deliver on team commitments.
-
Ability to work in a team and take direction well.
-
Self-motivated and responds to supervision. Asks relevant questions.
-
Can adapt to changing conditions and coach others through change.
-
Possesses ability to communicate efficiently verbally and through written documentation.
-
Maintains a broad understanding of our systems, customers, and business goals.
The Skills That Are Good To Have For This Role
-
Embody and live the Scrum values of commitment, courage, focus, openness, and respect in all interactions, both within and outside of the team.
-
Be a team member. Listen a lot. Ask questions to seek clarity. Take the floor when you have information, experience, or perspective to share. Communicate impediments as they arise.
-
A Scrum team collectively delivers on their sprint goals and commitments. All team members are expected to always be intimately familiar with, and working towards delivery of those commitments, never against.
-
In partnership with Product Management, actively seek to gain a deeper understanding of the business context under which your team operates. Leverage this understanding to present feature recommendation to your Product Owner.
-
In partnership with Design, continue to build empathy for the primary, as well as secondary, personas your vertical supports. Leverage this empathy to recommend small design changes to your Designer.
-
Complete modifications, refactoring, and bug fixes to existing functionality without the need for oversight.
-
Perform complex changes and complicated refactoring without the need for direction of an experienced team member.
-
While made up of many disciplines, the team delivers on commitments together. Perform documentation, design, and testing tasks as required by the team.
-
Actively participate and contribute to technical discussions and code reviews.
-
Evangelize and promote the successes and learnings of your team in formal ceremonies, such as sprint demos, as well as in casual conversation.
-
Write queries, scripts, and data upgrades.
-
Take point on supporting deployments and releases.
Certifications: