Job Description
Company & department description:
(for external publication only) SWIFT is a member-owned cooperative that provides the communications platform, products and services to connect more than 10,800 banking organisations, securities institutions and corporate customers in over 200 countries and territories. SWIFT enables its users to exchange automated, standardised financial information securely and reliably, thereby lowering costs, reducing operational risk and eliminating operational inefficiencies. SWIFT also brings the financial community together to work collaboratively to shape market practice, define standards and debate issues of mutual interest. SWIFT is headquartered in Belgium and has over 24 offices worldwide.
(for external and internal publication)
Job summary
The IT Matching Applications segment is looking for highly skilled and motivated Java Developer/System engineer to be part of its delivery team, in charge of the design and development of the evolution of the SWIFT messaging cloud platform.
As a Software Developer, you will be part of a dynamic team of professionals using up-to-date technologies and applying professional software development and testing practices. Your profound Java skills will be essential for achieving a successful delivery. Under the guidance of a local team leader, you will be building and/or evolving software components of medium to high complexity. Given the mission critical nature of our business, strong emphasis is placed on quality, security, availability, resiliency, scalability, performance, and system resources consumption. It is expected that suitable candidates adhere to a structured development approach and will show a constant strive to achieve highest quality standards.
The output of the development team is a software package that is made available for acceptance testing before being delivered to the SWIFT internal operations group for deployment and activation, enabling customers testing and live usage.
Responsibilities:
Your responsibilities will be to
Participate in the implementation of software components covering development, unit testing and integration testing activities.
Maintain program libraries and their technical documentation.
Discuss designs and possible solutions with team members.
Contribute in the preparation of system specifications.
Evaluate and recommend technical feasibility and estimates of the proposed solutions.
Provide technical assistance to colleagues and assist in resolving problems reported by other team members.
Develop and maintain technical documentation. Prepare and give presentations for internal purposes. Where appropriate, write system documentation and operating procedures.
Qualifications:
Education - University degree in Information Technology or equivalent work experience Experience - 2 to 5 years of experience in systems development for the Junior Developer profile Professional knowledge and expertise The candidate should have had relevant exposure to the development of highly scalable, resilient and secure software.
Knowledge of the following components is essential:
- OO programming techniques and related design patterns.
- Java development skills (up to Java 8).
- Unit and integration testing of applications.
- Exposure to various OS platforms: Windows, Linux (Redhat), UNIX (Oracle Solaris, IBM AIX, HPUX).
?
Other Technical skills (knowledge in the following domains is an asset; training program will be provided to complement the candidate expertise when needed)
Distributed application frameworks: Apache Kafka, Apache Zookeeper
Dependency injection frameworks: Google Guice
Web service frameworks: CXF, Jersey (REST)
Serialization frameworks: Jackson, AVRO, XML (DOM, SAX, XSD, XSLT)
Network protocols: TCP/IP, HTTP/S, TLS
Relational Databases: Oracle, H2 (unit tests), SQL, JDBC
Persistency frameworks: JPA 2.1 (Eclipselink)
Software development environments and tools
Continuous integration: Jenkins, FindBugs, CheckStyle, Jacoco
Configuration Management: ClearCase / GIT (BitBucket)
Integrated Development Environment: Eclipse
Change Management: JIRA
Build tools: Maven, Ant
Container technologies: Docker
Log Management: Elastic Search, LogStash, Kibana, Splunk
Unit tests: JUnit, Mockito
JVM performance tuning on various OS platforms: Windows, UNIX (Oracle Solaris, IBM AIX, HPUX), Linux (RedHat)
Experience with Robot Framework or Selenium for integration test automation
?
Soft skills
Fluent in English
Adaptability & responsiveness to change
Take accountability for delivering results
Strong communication skills (both written and oral)
Team player
Proactive and autonomous
Planning & organization
Open communication