Job #: 1659
Title: Development Architect: Java/Scala
The Finance Technology Architecture team develops core components to build various applications to service Global Product, Regulatory and company controllers. These applications include a feature-rich Windows UI, highly flexible and scalable services, large scale online analytical processing of large datasets and warehouse reporting.The TeamThe Finance Technology team is distributed globally across London, New York, Budapest, Montreal and Mumbai. The team deals with finance business services such as query engine, signoff workflow and adjustment framework. The team is mostly co-located with Finance end users, and has daily interactions with them.TechnologyMost of the services are built in Scala and Java, with most applications/services either written from the ground up in Scala with some Akka. We make use of other technologies such as Spark, Hazelcast, and Lucene. We do behavior and test driven development, and follow agile practices.On the UI side our main application (CWB) is written in C# and our developer tooling is a combination of CLI and AngularJS applications.Job DescriptionHighly motivated and experienced software architect to contribute to the development of core components of Strategic Technical Architecture. The team is working on front-to-back initiatives to consolidate accounting information flow and provide major control functions. It will create and maintain a detailed data store, which will addresses regulatory and audit findings thematically, providing an efficient framework for better control and reporting over time. The technology team practices agile development and uses multiple JVM languages including Scala, Java and Groovy. ResponsibilitiesYou will be expected to work in a matrix organization, influencing developers in the chapters for respective components. The focus is to provide scalable and performant services to cover rules management, adjustment processing and control framework. You will be responsible for defining the architectural vision and working with delivery squads to get the features implemented. You will also be responsible for understanding new use cases and defining how to evolve the components. Expertise in any one of the following business domain would be preferable: Accounting, Finance and Control Functions.We are looking for talented and motivated individuals with relevant experience in industry. The successful candidate should have a strong understanding of object oriented design and implementation methodologies, plus strong communication skills as there will be frequent interaction with technology and finance colleagues across the firm. The candidate must be able to run independently and as part of a team on system analysis, architecture improvement, testing and stakeholder management.
– Bachelors or Master’s Degree in Computer Science or related field
– 15+ years software development experience in Java or Scala
– Application development experience of robust, real-time systems
– Experience providing APIs or services
– Strong understanding of software performance
– Experience with caching technologies
– Experience with Microservices based architecture
– Messaging Experience with two or more of MQ/Kafka/JSON/XML/Protocol Buffers
– Experience engaging with business users and capturing requirements?Database experience
– Good knowledge of UNIX/Linux
– Experience working in an agile team with focus on continues integration and automated testing
– Demonstrates exceptional analytical and problem-solving skills.
– Strong communication, organizational, and collaboration skills.
– Experience working on large and medium scale projects in an agile environment.
– Experience with a functional programming language, e.g. Scala
– Experience working with mixture of new and legacy systems.
– Experience building high volume and resilient systems
– Experience with multithreaded and/or reactive programming in Akka