At SoundExchange, we have re-architected and rebuilt our core enterprise software platform to support our rapidly growing and evolving business. Our new software platform is a set of cloud-native, federated systems that are highly scalable, accurate, and modular, leveraging both custom-built and 3rd party components. We are seeking an individual to become a member of our growing Engineering team to help lead SoundExchange’s software strategy. This person will be an experienced Senior Software Engineer that excels in a dynamic, fast-moving, agile, full-stack, and DevOps environment and is passionate about developing high quality, scalable software.
Person will be responsible for being a senior contributor to the full lifecycle of software development for our Rights Management application. Person will be hands-on, performing software development for the Rights Management application. Person will be responsible for developing new features, modifying and refactoring existing design and integrating custom and 3rd party systems. Person should be Full Stack, have a deep knowledge of object-oriented software engineering, the Java platform, enterprise software engineering concepts, patterns, models, practices, and processes.
Assists in the direction of the Engineering function in developing, releasing, integrating, maintaining, and supporting software applications and systems according to business needs and technology principles and standards. Familiar with a variety of enterprise software engineering concepts, models, practices, and processes. Relies on considerable experience and judgment to plan and accomplish goals. A wide degree of creativity and latitude is expected. Reports to Lead Software Engineer.
- Demonstrate responsibility, accountability, and dedication to Engineering team success.
- Establish and promote use of technologies and processes that lower risk and increase efficiency.
- Support and improve established software development standards and best practices.
- Mentor more junior team members in software design and development best practices.
- Ensure applications achieve a high level of security, quality, and maintainability.
- Actively manage and address software “technical debt”.
- Leverage and enhance continuous build and deployment tools.
- Leverage and follow Agile software development practices and techniques.
- Interface with key stakeholders in Project Management, Business and Technology Operations to ensure high quality delivery of software project.
- Responsible for solving highly technical and complex problems.
Required Skills and Qualifications:
- Requires a bachelor’s degree in computer science or equivalent technical field.
- At least 6 years of experience in software engineering/development.
- At least 4 years of experience in a Senior Engineer or Architect role.
- Experience building financially focused systems, with sophisticated UIs, business rules, domain models, and data models.
- Experience with integration of other systems via REST web services.
- Experience developing highly available, highly scalable software for transaction-oriented systems.
- Proven solid analytical and problem solving skills.
- Ability to develop and maintain strong relationships.
- Proficient at designing and developing enterprise software.
- Proficient at designing and developing software using most of the following: Angular, Java, Spring, Hibernate, Postgres, SQL, AWS.
- Proficient at designing relational data models and working with relational databases.
- Proficient in Agile software development methodology, processes, and practices.
- Experience evaluating and leveraging 3rd party commercial and open source software.