Software Engineer
Job Details
Scope

Andrews McMeel Universal is seeking a Software Engineer II or Software Engineer III to join our Digital Technology team. Both title and compensation will commensurate with experience. The primary responsibility of the Software Engineer III is to architect, 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 III 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 III can work on problems of moderate scope where analysis of situations or data requires a review of a variety of factors. They will research, document and present recommendations for new methods and approaches including new third-party software

Responsibilities & Qualifications

ESSENTIAL RESPONSIBILITIES

  • Provides technical expertise to design and develop RESTful APIs, microservices and other software components that support business needs.
  • Provides expert application design guidance on solution system designs, redesigns for platform, performance and integration of new technical features and capabilities, etc.
  • 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.
  • Promote teamwork and contribute to improvements in department best practices and workflow processes including agile and hybrid methodologies.
  • Participate in code reviews, provide constructive feedback, share knowledge, and promote software development best practices.
  • Creates and maintains documentation on internal architecture of the system.
  • Provides direction in architectural changes in the system.
  • Proposes product design features to support scalability, usability, and better performance.

ESSENTIAL SKILLS

  • 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.  
  • Understanding of relational database structures, principles, and practices.
  • 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.

MINIMUM QUALIFICATIONS

  • Bachelor’s degree in a related field or work experience.
  • 3+ years of experience designing and developing back-end services and API’s in the following areas:
    • C#
    • .net Core
    • Node js
    • Ruby
    • 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 preferred.
Apply