Senior Software Engineer

  • Negotiable
  • Manhattan, NY, USA Manhattan NY US
  • Permanent, Full time
  • Barclays - US
  • 15 Sep 18 2018-09-15

Overall purpose of role Develop applications with machine learning components to support Barclay's fraud technology.

About Fraud Technology

Fraud is dishonest behavior with the intent to make a gain, or cause a loss to others, through false representations, abusing positions of trust or failing to disclose information. Fraud often involves organized crime with links to other serious criminal acts including terrorism, drug and people trafficking. In all cases, fraud typically results in financial loss, tarnished reputations and damaged communities, companies and individuals.

The role of the fraud technology team is to assess the risks we face and ensure technologies are put in place to mitigate these risks to protect our business, clients and customers without compromising the accessibility of our products and services. We can never fully stop fraud, but we can deter criminal elements by making the Bank a more resilient place to fraud attempts, which in turn gives our customers greater confidence to entrust their business with us

EEO

It is the policy of Barclays to ensure equal employment opportunity without discrimination or harassment on the basis of race, color, creed, religion, national origin, alienage or citizenship status, age, sex, sexual orientation, gender identity or expression, marital or domestic/civil partnership status, disability, veteran status, genetic information, or any other basis protected by law.

Dynamic working gives everyone at Barclays the opportunity to integrate professional and personal lives, if you have a need for flexibility then please discuss this with the hiring manager.

Key Accountabilities

  • Agile software development in Java and other languages
  • Delivering production-grade code with excellent quality
  • Delivering solutions within a DevOps environment with a relentless focus on automation of testing and deployment
  • Recognising, selecting and applying appropriate design patterns, frameworks according to business benefit, maintainability and delivery priorities and constrains.
  • Maintaining agreed standards applicable to the work undertaken and ensuring that these, and other mandatory standards and architectures, are adhered to.
  • Training and development of the technical and organisational skills of junior programmers.
  • Analysis, estimating and prioritisation of tasks
  • Creating and refactoring programs in accordance with the design, following relevant code management procedures and applying agreed coding standards.
  • Taking part in reviews of own work and leading reviews of colleagues' work.
  • Completing assignment work to budget, time and quality requirements, including a combination of performing operational support tasks to agreed service standards and supporting enhancements or other technical projects.
  • Embodiment of Barclay's core purpose and values (listed below)

Stakeholder Management and Leadership

  • Ability to work with business areas to obtain and clarify detailed technical requirements
  • Ability to "know your audience" and tailor communication accordingly

Decision-making and Problem Solving

  • Ability to document, design and effectively communicate ideas, solutions and strategies
  • Ability to work around obstacles, eliminating blocks and getting things done
  • Documenting all work in accordance with agreed standards and with re-use in mind.
  • Designing, developing and testing of applications through Continuous Integration, Deployment and Delivery.
  • Reacting quickly and as necessary to live software errors and service problems, limiting downtime and resolving problems quickly

Risk and Control Objective

Ensure that all activities and duties are carried out in full compliance with regulatory requirements, Enterprise Wide Risk Management Framework and internal Barclays Policies and Policy Standards.

Person Specification

Basic Qualifications/Skills:

  • Bachelor's degree or equivalent
  • 5+ years of experience developing medium to large Java applications
  • 2+ years of experience working with Git
  • 2+ years of experience working in a CI/CD environment

Preferred Qualifications/Skills:

  • Excellent communication skills - verbal & written
  • Self-motivated, passionate, well organized individual with demonstrated problem solving skills Experience in building distributed Machine Learning systems
  • Familiarity with cloud technologies: OpenShift, AWS
  • Familiarity with build tools: Maven, Gradle
  • Knowledge of DevOps practices, tooling and automation: Chef, Jenkins
  • Experience with Docker/Kubernetes and development of containerized applications
  • 2+ years of experience working in an Agile development methodology
  • Experience with project management tools: Rally, JIRA, Confluence, BitBucket