Principal Software Engineer
Job Description: We are seeking a Principal Software Engineer for a very important client. The Purpose of your roleYou will serve as a Principal Software Engineer who will play a key role on a Scrum team and within Digital Platforms Technology. You will work closely with the Squad Lead, Scrum Master, Systems Analyst, Quality Assurance, Architects and other Developers, to craft, build, test, and deliver the features that make up company's Digital experiences. You will also be expected to provide guidance and mentoring to the other Developers within the wider Digital Platforms Technology team. The Value you deliver?
Extensive knowledge of internet, mobile, and application architecture, as well as current and emerging technologies?
Full grasp of the software development process including analysis, design, coding, system and user testing, problem resolution and planning?
Use of formal methods (traditional structured or Agile/iterative) for delivering new or enhanced applications, identify and communicating systems development processes and developing work you're doing associated with the respective phases of the lifecycle?
Ability to work with a variety of individuals and groups, both in person and virtually, in a constructive and collaborative manner?
Strong analytical skills and ability to tackle issues and work through ambiguous situations by making timely decisions based on facts, knowledge, experience and judgment?
Can communicate in various settings; one-on-one, small and large groups, with peers, and senior management?
Skilled at influencing team members and external groups?
Proactively navigates the organization in order to accomplish tasks?
Willingness to work on multiple efforts simultaneously?
Strong troubleshooting and problem-solving skills?
Desire to be organized, highly responsive and committed to quality Requirement: The ideal candidate must possess the following qualifications: The Expertise we?re looking for?
BS/BA Degree or equivalent experience preferred?
Robust critical thinking skills coupled with a desire for growth, to learn and to engage with peers in technical and design discussions?
Demonstrated experience in communicating technical needs and capabilities to non-technical team members, product owners, and partners?
Ability to utilize a long-term mentality to help produce scalable, maintainable solutions?
Passion to provide guidance on standard methodologies and mentoring support to the other Developers within the wider Digital Platforms Technology team?8+ years of experience, with a focus in financial services applicationsThe Skills you bring
Your background in the following will prove vital:?A sense of humor?
Experience collaborating in a team environment to develop, deploy, and support key applications and features?
A demonstrable understanding of the Agile software development methodology?
Extensive experience decomposing sophisticated business problems into creative, efficient, and scalable solutions?
Proficiency with server-side/mid-tier languages, frameworks, libraries, and related technologies: Java EE, Apache Tomcat, Spring MVC/Spring Boot, Logback, SLF4j, Maven?
Client-side language, library, and framework proficiency: Angular, Java
Script, Node, NPM, HTML/CSS, RxJS?
Appreciation for and alignment to standard methodologies regarding object-oriented design, coding standards, RESTful service consumption and integration, common design patterns, secure application development, and test coverage?
Your familiarity with the following will be a plus:oDevOps concepts governing SCM, continuous integration, monitoring, and deployment processeso
Enterprise application architecture patterns and orchestration frameworks such as Apache Camelo
Client-side unit testing frameworks and test runners like Jasmine and Karmao
Docker containerization and AWS cloud deployment and application management via the AWS consoleoAWS certification(s)oThe W3C?s Web Content Accessibility Guidelines and their implementation??