About the role : Alkami is hiring a Software Engineering Manager, a cross-functional and autonomous position involved in coordinating tasks between various teams and departments (Engineering, Quality Engineering, SRE, Release Management, Product, Architecture, TPMs) to ensure the high-quality delivery of software. This person has a strong technical aptitude, a hands-on software development background, strong problem-solving skills, and functions as the grease to keep a complex system with a host of moving parts operating smoothly. This innovative leader coaches and mentors their direct reports to achieve personal and professional growth. They cultivate a collaborative, engaging, fast-paced, and result-oriented environment. This person is hands-on and engaged with their teams and responsible for evaluating individual and team performance metrics to maximize team efficiency. They can drive technical discussion/triage/research and help determine root cause analysis
Roles and Responsibilities
- Working with Product Engineering teams to deliver functional requirements and ensure features are built to specifications
- Lead, mentor, and inspire a team of software engineers, providing guidance, support, and feedback to foster their professional growth and development.
- Build architecture design, ensure the quality of architecture and design of systems, influence product roadmap, introduce new technologies and take ownership and responsibility over new projects.
- Participate in the entire application lifecycle, focusing on coding, debugging, testing, release and maintenance.
- Improve and maintain the team's Say/Do ratio by managing resource allocation, workload distribution, and project priorities to ensure timely delivery of high-quality software solutions.
- Maintain a deep understanding of software development technologies, trends, and best practices and provide technical guidance and expertise to the team.
- Oversee and manage on-call incidents, including troubleshooting and resolving critical disruptions to ensure minimal downtime around the functionality of your team.
- Drive the adoption of modern development practices, tools, and frameworks to improve productivity and product quality.
- Promote a culture of collaboration, accountability, and continuous learning within the team.
- Champion innovation and experimentation, encouraging team members to explore new technologies and approaches to solving complex problems.
- Working with Product Management to collaborate through creative brainstorming sessions and assist in writing requirements for technical debt
- Reporting accomplishments, goals, issues, and deliverable statuses to effectively manage stakeholder expectations
- Establishment of performance goals for all direct reports
- Continuing education with regards to management philosophies, knowledge of the banking industry, as well as applications that will be specific to segments of our client base
Required
- 12+ years of experience in software development or similar engineering fields with 4+Years in managing the team.
- Strong hands-on experience in several of the following (or equivalent): .NET, Java, C#, Linux Container Development,k8s, MVC, SaaS, SOA, PostgreSQL, MS SQL Server, Modern Javascript Frameworks, Entity Framework, microservices
- Proven experience in building and delivering SaaS-based software with modern system architecture, such as microservice-based architecture and cloud native applications.
- Experience working with one of the Cloud Service providers (AWS, Azure, Google Cloud Platform)
- Solid understanding of Operational Excellence and able to showcase how to apply in the development life cycle. e.g., Dev/Ops, CI/CD, Automated Testing, Observabilities, etc.
- Experience with Observability tools like Grafana, Newrelic, Haystack etc
- Experience with real-time processing using event-driven architecture and batch processing of high-volume transactions.
- Experience building complex role-based access and entitlement systems.
- Proficiency in making data-driven decisions and evaluating trade-offs to prioritize projects and allocate resources effectively. This involves considering various factors such as technical feasibility, business impact, and resource constraints.
- Experience in building scalable systems that are operationally efficient
- Demonstrated experience in leading and motivating cross-functional teams towards achieving shared objectives. This includes setting clear expectations, providing guidance, and fostering a collaborative and inclusive work culture.
- Ability to build and maintain productive relationships with a diverse array of stakeholders and groups in the organization
- Strong analytical and problem-solving skills to address technical challenges and overcome obstacles. This includes troubleshooting complex issues, identifying root causes, and implementing effective solutions in a timely manner.
- Successful in managing multiple concurrent work streams
- Experience in recruiting, hiring, mentoring/coaching and managing teams of Software Engineers to improve their skills, and make them more effective, product software engineers
- Experience in communicating with users, other technical teams, and senior leadership to collect requirements, describe software product features, technical designs, and product strategy
- Experience managing global team working out of multiple timezones
- Experience in Lean-Agile development methodologies such as Kanban or Scrum