Applications Development Senior Programmer Analyst

Citigroup Inc.
Belfast, United Kingdom
8 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Remote
Belfast, United Kingdom

Tech stack

Java
Spring Security
JIRA
Build Automation
Cloud Computing
Data Structures
Relational Databases
Software Design Patterns
Linux
DevOps
Java Platform Enterprise Edition (J2EE)
Gradle
Java Persistence API
Spring
Maven
Object-Oriented Software Development
Openshift
Rapid Application Development
Software Engineering
SQL Databases
Web Applications
Working Model 2D
Multithreading
Spring-mvc
Spring-boot
GIT
Information Technology
Low Latency
Build Tools
REST
Docker
Artifactory
Go
Microservices

Job description

Developer Engineering & Engineering Excellence Tech is a function within CTO, responsible for measuring and supporting Engineers across Citi. Our mission is to make it easy and enjoyable for software engineering teams to go from a business idea to delivering an innovative product solution. The main goals are to improve and upgrade our tools, streamline our processes, automate and strengthen our controls, and help development teams adopt modern working methods.

We are an expert team to transform the working environment of the 60,000 people who make up the Citi engineering community and help them dramatically change their approach to developing software across the many different technologies we support. The Developer Engineering group has a challenging remit, but with the scale and variety comes a unique opportunity to be agents of cultural and technical change who significantly impact the bank.

About the Team

The Measurement, Optimisation, Recognition, and Engagement team is responsible for measuring Technical Achievement and DevOps Outcomes across Citi Technology and helping to foster a collaborative, open culture amongst our developer communities.

The team identifies, develops, and maintains automated measurement of Productivity Metrics, DevOps Capabilities, and Technical Recognition items which application teams can use to recognise their peers, discover and adopt new methods and contribute solutions for use by the wider organisation.

The team is also responsible for working with the other Developer Engineering streams to ensure capabilities are implemented within infrastructure, taught in training courses and advertised and discussed across the developer community.

About the Role

The Engineering Excellence Platform team has three broad goals: to measure the progress of the organisation towards its outcomes; to establish meaningful measures that development teams leverage; and finally, to reinforce positive behaviours via the influence of measurement. The team requires skilled Engineers, who intimately understand the development process and can also contribute to the wider initiative's cultural goals.

This role is a senior developer responsible for accomplishing results modern software engineering practices and DevOps/Agile delivery.

Requirements

  • Bachelor's degree with a relevant major (Computer Science, Information Technology, Mathematics, Engineering, or similar).
  • 5+ years of experience in the design and development of high-performance, low-latency, multi-threaded applications.
  • Extensive hands-on development experience in Java/Go.
  • Demonstrated ability to learn new business concepts and technologies.
  • Ability to work under pressure and manage deadlines or unexpected changes in expectations or requirements., * Solid understanding of software development fundamentals, including data structures, design patterns, and object-oriented programming.
  • Proficiency in core Java (5+ years of experience) with demonstrable success in developing multi-threaded applications and expert-level knowledge in data structures, algorithms, collections, and error handling.
  • Spring Framework (and Spring Boot): This is almost non-negotiable for enterprise Java development. Expertise in Spring Boot for rapid application development, Spring MVC for web applications, Spring Data JPA for persistence, and Spring Security for authentication/authorization.
  • Microservices Architecture: Understanding how to design, develop, and deploy independent, loosely coupled services, which is a common pattern for applications running on ECS.
  • RESTful APIs: Designing, developing, and consuming RESTful web services using Java and Spring Boot.
  • Build Tools: Maven or Gradle for project management and build automation.
  • Proven ability to develop clean, testable code.
  • Understanding of relational database concepts and knowledge of SQL.
  • Experience with Jira, Git, Gradle, and CI/CD tools.
  • Experience with Linux/Unix.
  • Knowledge of cloud technologies, e.g., Artifactory, Docker, and OpenShift.
  • Eager to learn and apply Go language in future projects.

Benefits & conditions

By joining Citi, you will not only be part of a business casual workplace with a hybrid working model (up to 2 days working at home per week), but also receive a competitive base salary (which is annually reviewed), and enjoy a whole host of additional benefits such as:

  • 27 days annual leave (plus bank holidays)
  • A discretional annual performance related bonus
  • Private Medical Care & Life Insurance
  • Employee Assistance Program
  • Pension Plan
  • Paid Parental Leave
  • Special discounts for employees, family, and friends
  • Access to an array of learning and development resources

About the company

Working at Citi is far more than just a job. A career with us means joining a team of more than 230,000 dedicated people from around the globe. At Citi, you'll have the opportunity to grow your career, give back to your community and make a real impact.

Apply for this position