Senior Software Engineer Job at Interswitch

Interswitch is an Africa-focused integrated digital payments and commerce company that facilitates the electronic circulation of money as well as the exchange of value between individuals and organisations on a timely and consistent basis. We started operations in 2002 as a transaction switching and electronic payments processing, and have progressively evolved into an integrated payment services company, building and managing payment infrastructure as well as delivering innovative payment products and transactional services throughout the African continent. At Interswitch, we offer unique career opportunities for individuals capable of playing key roles and adding value in an innovative and fun environment.

We are recruiting to fill the position below:


Job Position: Senior Software Engineer

Job Location: Lagos, Nigeria
Department: Technology
Employment type: Permanent

Job Description

  • The Senior Software Engineer will be responsible for building and managing software tools that facilitate the day-to-day operations of the business.
  • S/He will also manage a team of software developers, providing guidance and support to ensure that projects are completed on time and meet their requirements.
  • This individual will be required to work collaboratively with other departments such as Operations, Technology and Finance to understand the needs of the business and create solutions that meet those needs.

Responsibilities
Software design:

  • Undertakes complete design of moderately complex software applications or components applying agreed standards, patterns and tools
  • Assists as part of a team on design of components of larger software systems
  • Specifies user/system interfaces
  • Programming/software development
  • Designs, codes, verifies, tests, documents, amends and refactors complex programs/scripts and integration software services
  • Contributes to selection of the software development approach for projects, selecting appropriately from plan¬ driven/predictive approaches or more adaptive (iterative and agile) approaches
  • Creates multiple design views to address the concerns of the various stakeholders of the design and to handle separately functional and nonfunctional requirements
  • Assists in the evaluation of options and trade-offs
  • Collaborates in reviews of work with others as appropriate
  • Applies agreed standards and tools, to achieve a well-engineered result
  • Participates in reviews of own work and leads reviews of colleagues' work

Testing:

  • Reviews requirements and specifications, and defines test conditions
  • Designs test cases and test scripts under own direction, mapping back to pre-determined criteria, recording and reporting outcomes
  • Analyses and reports test activities and results
  • Identifies and reports issues and risks associated with own work

Problem management

  • Investigates problems in systems, processes and services
  • Assists with the implementation of agreed remedies and preventative measures
  • Systems integration and build
  • Identifies and reports issues and risks
  • Data modelling and design
  • Produces software builds from software source code
  • Conducts tests as defined in an integration test specification, records the details of any failures
  • Analyses and reports on integration test activities and results
  • Applies data analysis, design, and modelling techniques to establish, modify or maintain a data structure and its associated components (entity descriptions, relationship descriptions, attribute definitions)

Requirements
Formal Education & Certification:

  • University Degree in the field of Computer Science or “STEM” major (Science, Technology, Engineering and Math) or related field

Knowledge & Experience:

  • Excellent understanding of Algorithms and Data Structures
  • 4+ years of experience with Spring Boot framework
  • 5+ years of experience in software development using Java Programming Language
  • Strong leadership skills, with a proven track record of managing teams of software developers
  • Experience with project management methodologies such as Agile, Scrum, or Kanban
  • Knowledge of the settlement and arbitration process in the financial services industry desired
  • Strong problem-solving skills and ability to work collaboratively with other departments
  • Excellent communication skills, both verbal and written
  • Ability to adapt to new technologies and learn quickly
  • Experience with cloud-based technologies such as AWS or Azure
  • Experience with database technologies such as SQL, MongoDB etc
  • Experience with Testing Frameworks like Mockito, WireMock etc
  • Personal Attributes
  • Proven leadership ability
  • Ability to set and manage priorities judiciously
  • Excellent written and oral communication skills
  • Excellent interpersonal skills
  • Strong tactical skills
  • Ability to articulate ideas to both technical and non-technical addressees
  • Exceptionally self-motivated and directed
  • Keen attention to detail
  • Superior analytical, evaluative, and problem-solving abilities
  • Exceptional service orientation
  • Ability to motivate in a team-oriented, collaborative environment