Job Description
An esteemed company in Ireland seeks a talented Senior Software Engineer to join their Innovation and FinTech Lab Development Team.
This role offers a fantastic opportunity to work on cutting-edge software solutions with a specific focus on next-generation payment technologies.
Responsibilities:
* Develop containerized microservices using Java and Spring Boot, integrating them with other internal and cloud-based providers.
* Participate in Agile software development and coordinate with other teams within your group.
* Foster high-quality and secure applications, ensuring extensive automated build and testing across all development lifecycle phases.
* Collaborate and assist in building DevOps pipelines to automate the build, security scanning, and deployment of your applications.
* Identify and differentiate between services specific to your area of interest and those that could benefit wider areas of investigation (shared services).
* Provide valuable input to design sessions to ensure that solutions are clean, secure, robust, consistent, and adhere to the lab's standards.
* Think strategically and explore future capabilities while fostering innovation within your team and across the organization.
* Assist in troubleshooting and problem-solving, both at the design level and for deployed applications.
* Provide support and documentation for handover to downstream development teams for further development of lab products.
* Guide and mentor junior-level team members to ensure high-quality and consistent delivery.
Education & Skills:
* Bachelor's Degree or higher in a software development-related discipline, information technology, computer science/engineering, etc.
* 10+ years of software development experience, with at least 5 years working with Java and Spring Boot.
* Demonstrable history of software design and implementation using design and architectural patterns (GoF) and commitment to SOLID principles.
* Proficiency in test frameworks such as JUnit, Mockito, Surefire, and Postman, with an emphasis on code quality and test automation.
* Understanding of common patterns of enterprise software development, including RESTful web services, SOA, Microservices, and Message and Queue services.
* Strong understanding of authentication and authorization concepts, including IdP, SAML, OAuth/OpenID, JWT, and SSO.
* Experience with containerizing applications using technologies like Docker, Docker Compose/Swarm, Kubernetes, and Helm.
* Proficiency in version control systems like git and knowledge of implementing CI/CD pipelines as code.
* Familiarity with requirements and usage of vulnerability scanning tools for code and dependencies.
* Developed secure software for cloud infrastructures, ideally in Azure, with transferrable knowledge from AWS/GCP considered.
* Database design experience (Relational/NoSQL) and good working knowledge of security and performance of transactional data sources.
* Some experience with NodeJS, Angular, and/or React frameworks would be beneficial.