内容・必要条件
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.
The software is developed using the latest agile methodologies, and new features are introduced using Minimal Viable Product scope definitions in which each feature is based on Minimal Marketable Feature definitions. Based on feedback from real users as they use the systems or are provided with the outcomes of the services, priorities for new features and functionalities are determined.
The candidate will work with a team of senior software engineers that have a vested interest in delivering high quality software at a high velocity. Software delivery is based on the latest Continuous Integration Continuous Delivery principles using Gitlab CI as the underlying technology.
Software architecture is based on serverless computing as well as containerized long running tasks, leveraging the latest Amazon AWS services.
Both SAMS and ACME are developed as polyglot solutions. The software engineers are responsible for determining the tools, technologies, and programming languages to be used. Based on Principled Entrepreneurship, it is the prerogative of the development team to research which technologies are most effective to deliver maximum value at the lowest cost. Using the concept of evolving software architecture, the software architecture adapts to changing circumstances. It is the principle of Stewardship and Compliance, one of the key principles at Infor, that motivates the team to maintain a consistent focus on high quality software that meets all Infor policies.
Key technologies used for SAMS and ACME are: Python, Golang, OpenAPI, Cucumber/Gherkin, Gitlab CI, git, Visual Studio Code, IntelliJ, OpenAPI 3, Amazon Lambda, AWS DynamoDB, Sumologic log management, AWS ECS-Fargate.
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.
4 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.
4 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.
4 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.
4 Maintain a commitment to providing the best experience possible for all users of the SAMS and ACME systems.
4 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.
4 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.
4 Strong analytic problem-solving skills with attention to detail. Is quality focused, but does not let perfection stand in the way of progress.
4 Is familiar with agile practices and incremental software delivery practices.
4 Fluent in one or more of the following programming languages: Python, Golang, Java, Cucumber/Gherkin
4 Proficient in one or more of the following programming languages: Python, Golang, Java, Cucumber/Gherkin
4 Good verbal and written communication skills
4 Comfortable with modern development concepts: CI/CD, BDD, TDD, API-First, Microservice architectures, Containerized applications
4 Bachelor’s degree in computer science or equivalent experience
4 Takes ownership of assigned tasks and sees them through until completed.
Preferred Qualifications:
4 Terraform knowledge and experience
4 Agile Development Experience
4 Experience in presenting solutions to a predominantly technical audience, both through demo's, presentations, or written through a wiki.
4 Familiar with cloud development concepts: multi-tenancy, microservices, elasticity (scaling up/down), high availability, automation