POSITION SCOPE
The primary responsibility of the Software Engineer II is to design, develop, test, assess, and troubleshoot software in support of the business requirements. This includes researching, developing, maintaining, and documenting software throughout the product life cycle. This position will be focused on building custom software applications and integrations from the ground up, as well as maintaining the current suite of solutions and integrating with various third-party solutions.
The Software Engineer II is responsible for writing and implementing maintainable code across multiple code bases, staying current on the latest development trends and techniques, and providing back-end support for AMU’s suite of products. They will be expected to work collaboratively on a cross-functional team. The Software Engineer II can work on problems of diverse scope; demonstrates good judgment in selecting methods and techniques for obtaining solutions.
ESSENTIAL RESPONSIBILITIES
- Provides technical expertise to design and develop RESTful APIs, microservices, and other software components that support business needs.
- Works closely with the QA, UX, and other related teams to ensure consistent understanding of requirements and approach.
- Provides technical support and troubleshooting for current systems or added features.
- Uses tools, languages, coding standards, and best practices to develop new product features and maintain year-over-year product functionality and enhancements. Creates and executes unit & automated tests and addresses defects.
- Ensures development work meets business goals while being architecturally sound, built for the long term, and designed to support ease of maintenance – ensuring consistent application of coding standards.
- Quickly understands existing code and contributes in a way consistent with prior coding conventions.
- Participates in code reviews, provides constructive feedback, and shares knowledge.
- Creates and maintains documentation on internal architecture of the system.
ESSENTIAL SKILLS
- Must work well as part of a team while being highly self-motivated and directed.
- Actively demonstrates passion for technology by proactively seeking opportunities to apply knowledge to new and existing products.
- Excellent written and verbal communication skills, with a strong attention to detail and problem-solving abilities.
- Industriousness, conscientiousness, and dedication to delivering solutions under tight schedules.
MINIMUM QUALIFICATIONS
- Bachelor’s degree in a related field or work experience.
- 3+ years of experience designing and developing back-end services and APIs in the following areas:
- C#
- .NET Core
- Node.js
- Relational databases (SQL Server, MySQL, etc.)
- Experience with deployment, provisioning, and automation tools.
- Fluent in modern software development practices (GitHub, pull requests, Jira).
- Experience with cloud development (Azure, AWS) is a plus.
- Containerization experience with Docker and Kubernetes is a plus.