
Job Description
As an experienced Software Development Manager you will help drive the expansion of our applications and services for our members. This role includes leadership responsibilities, managing our high performing software development team. You will act as the technical lead for software development code work, providing guidance and review of all code produced to assure quality work is implemented and in accordance with architecture. As the Software Development Manager you will take pride in setting the standard for engineering excellence, using hands-on approach, for pragmatic problem solving that easily balances trade-offs between competing interests. You will thrive in a fast-moving team environment where you are able to juggle complex dependencies and requirements while producing optimal solutions. Ambiguity and creativity are both expected and the norm in this position.
Responsibilities
· Deliver complex solutions and oversee production implementation of these solutions for our systems. Guides developers and writes code in support of the software development efforts.
· Guide UX designers as part of the development process.
· Keep the development team on track on projects while managing stress and keeping them happy.
· Make sure the team is communicating using the right communication channels at all times.
· Ensure sufficient processes and tools are in place to meet the business requirements.
· Prioritizing and project planning with Business Analysts / Project Managers.
· Collaborate with Quality Assurance Team (QA) for regression and integration testing of releases.
· Resolve conflicts and dependency management across projects.
· Ensure that every member of the team is working to a reasonable level.
· Attend regular meetings including daily huddles, RAID log meetings, project retrospectives, and sprint planning.
· Work with Director of Innovations and Architect to ensure proper architecture and design remains in place and quality code is being shipped to QA.
· Produce and maintain drawings, blueprints and overall documentation for applications developed in-house.
· Lead the technical design work for the Innovations team across all software development efforts and act as the technical expert for software design and development.
· Coach and mentor developers and researchers, providing support and guidance as needed for good architecture decisions in code development
· Conduct regular code reviews of all developers work to assure quality code is being created with detection and correction of issues and security gaps through feedback and support.
· Balance technical limitations while ensuring a optimal user experience.
· Oversee UX designers as they conduct user research, user interviews, and usability sessions.
· Participate in weekly meetings with the IT team to discuss progress, current and upcoming development projects, and issues that need to be resolved.
Qualifications
A qualified candidate will have a bachelor's degree in Computer Science, Computer Engineering or related technical discipline. 2+ years of experience managing people and/or technical programs. A passion for people management and mentoring. Experience leading highly skilled software engineering teams. Software development work experience required writing code to create production level software with recent coding experience in two or more of the following languages:
· Java
· Groovy
· Apex
· JavaScript
· Python
· C/C++
· C#
· and/or Swift
Additional experience in:
· SQL
· JSON/XML
· HTML5
· REST APIs
· AngularJS/VueJS/ReactJS
· and/or NodeJS
Working knowledge of or exposure to:
· Agile software development
· CI/CD pipelines
· Software Design
· IT Security
· Container and serverless technologies
· Swagger API toolkit
· Postman
Experience managing large-scale customer-facing software systems is a plus. Experience developing and executing a software roadmap. Deep hands-on technical expertise; prior experience as a software developer or software development manager. Excellent written and verbal communication skills with the ability to present complex technical information in a clear and concise manner to a variety of audiences. Ability to handle multiple, competing priorities in a fast-paced environment. Ability to navigate ambiguity and delivery incrementally to the right direction. A deep understanding of the software development life cycle, and a track record of shipping software on time. Experience designing software for scalability, reliability and performance.