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 Lead 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 Leading the full life cycle of software development for our Rights Management application. Person will be hands-on as well as oversee the full life cycle of software development for the Rights Management application. Person will be responsible for architecture, developing new features, modifying and refactoring existing design and integrating custom and 3rd party systems. Person should have a very deep knowledge of full-stack development, object-oriented software engineering, the Java platform, enterprise software engineering concepts, patterns, models, practices, and DevOps 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. Performs a variety of tasks. Leads and directs the work of others. A wide degree of creativity and latitude is expected. Reports to Engineering Director.
- Lead, develop, and manage a team of 5+ internal and external engineers.
- Oversee the delivery of Engineering initiatives, projects and/or teams.
- Demonstrate responsibility, accountability, and dedication to Engineering team success.
- Assist Senior IT members with company technology strategy and roadmap.
- Establish and promote use of technologies and processes that lower risk and increase efficiency.
- Establish and assure adherence to budgets, schedules, work plans and performance requirements.
- Facilitate and ensure cross-project communication on cross-system feature and technical discussions.
- Support and improve established software development standards and best practices.
- Facilitate Architecture discussions and decision-making with other senior Engineering members.
- Play a hands-on Technical Lead Developer role in software development projects and activities.
- Select and maintain software development tools and frameworks.
- Mentor 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 projects on time and budget.
- Work with management to influence the technology and business direction of the organization.
- 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 8 years of experience in software engineering/development.
- At least 5 years of experience in a Team Lead, Lead Developer and/or Software 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.
- Experience with recruiting, hiring, developing, and retaining software engineers.
- Excellent written and verbal communications and presentation skills.
- Proven solid analytical and problem solving skills.
- Ability to develop and maintain strong relationships at all levels of the organization.
- 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.