描述和要求
The role is senior in nature and practice, where the engineer will be required to work independently and collaboratively. Seniority is defined as being self-proficient, applying critical-thinking, and being value-driven.
Opening for a Senior Software Engineers working alongside the Service Reliability Architecture team on Infor’s strategic log management support systems called SAMS and ACME. The engineer will deliver enhancements, extensions and improvements for these systems which are cloud native API-only services. Both systems are developed using Behavior Driven Development (BDD) and Test Driven Development (TDD) concepts. SAMS is developed as an API-Only application and is native cloud. ACME is developed as a microservice architecture serverless application.
Essential Duties
The engineer will be required to deliver high quality software that follows the TDD (Test Driven Development) and BDD (Behavior Driven Development) paradigms. The software developed must be demonstrably according to specifications and design through automated testing and CICD practices. The software engineering team is responsible for developing the required software products, including automated tests, CICD pipelines, compliance reports, and deployment automation and is therefore end-to-end responsible for the quality of the features and services developed.
It is expected from the software engineer, as she or he is senior, to not only develop the software, but to ensure that other members of the development team are appraised of the solutions chosen and on regular basis present and/or demonstrate the value of the delivered products. The software engineer will be required to present delivered software to a multi-disciplinary audience.
· Work as part of a team that researches, develops, and maintains Infor internally developed systems called SAMS and ACME. Both systems are supporting Infor’s strategic log management platform, which is provided through 3rd party Sumologic.
· Software development and testing using BDD and TDD practices. The software engineers are responsible for the quality of the software and will therefore not only develop the features of the products, but also the automated tests for the features.
· Exercise judgment within generally defined procedures, practices, and policies in selecting methods and techniques for obtaining solutions for application defects. The software engineering team is responsible for collaboratively designing the software solutions based on the defined requirements.
· Maintain a commitment to providing the best experience possible for all users of the SAMS and ACME systems.
· Have a ‘continuously learning’ attitude and expresses a desire to learn and adapt to the latest technologies, as well as share gained knowledge and experience with the rest of the team.
· Review and contribute to requirements, applying critical thinking and will provide constructive feedback on proposed enhancements.
Basic Qualifications:
Great communication skills and aptitude for critical thinking. The role requires a team player that can also work independent on features. We require members in our team that want to learn new things, want to contribute value and seek out opportunities that result in a win-win situation. The engineer must believe that winning is a team sport.
· Strong analytic problem-solving skills with attention to detail. Is quality focused, but does not let perfection stand in the way of progress.
· Is familiar with agile practices and incremental software delivery practices.
· Fluent in one or more of the following programming languages: Python, Golang, Java, Cucumber/Gherkin
· Proficient in one or more of the following programming languages: Python, Golang, Java, Cucumber/Gherkin
· Good verbal and written communication skills
· Comfortable with modern development concepts: CI/CD, BDD, TDD, API-First, Microservice architectures, Containerized applications
· Bachelor’s degree in computer science or equivalent experience
· Takes ownership of assigned tasks and sees them through until completed.
Preferred Qualifications:
· Terraform knowledge and experience
· Agile Development Experience
· Experience in presenting solutions to a predominantly technical audience, both through demo's, presentations, or written through a wiki.
· Familiar with cloud development concepts: multi-tenancy, microservices, elasticity (scaling up/down), high availability, automation