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 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 AMUs 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.
- 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.
- Provide 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.
- Ensure 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.
- Participate in code reviews, provide constructive feedback and share knowledge.
- Creates and maintains documentation on internal architecture of the system.
- Must work well as part of a team, while being highly self-motivated and directed.
- Passionate about technology and actively seeks to apply passion and knowledge to new and existing products.
- Excellent written and verbal communication skills, with a strong attention to detail and a head for problem solving.
- Possess strong work ethic and able to deliver solutions under a tight deadline.