As an Engineering Manager on a services team for the Banno Platform at Jack Henry, you’ll get the chance to make a positive impact on people’s lives. We believe that the world is a better place with community banks and credit unions. Our mission is to build the technology that gives community banks and credit unions the tools they need to compete against the big banks.
Service teams create highly scalable public APIs used by millions of customers to normalize access to multiple banking systems for use in our mobile and online banking clients. You’ll work on a team deploying and monitoring their own services. Our platform is primarily functional Scala, followed by a few services written in Haskell, Node.js and Rust.
Ideal candidates are self-motivated, technically competent servant leaders with experience building, mentoring and growing their team. The first six months will be spent as an individual contributor engineer on the team, learning the domain and building trust with team members.
We are committed to creativity, thoughtfulness, and openness. Our team is highly distributed, meaning you will work with kind, talented engineers from across the United States. Occasional travel may be required for professional development conferences or company meetings.
This is a remote position with the ability to collocate at several JHA locations nationwide if desired.
- Minimum 7 years of experience with server-side programming languages.
- Minimum 1 year of team lead, supervisory or management experience.
- Minimum 1 year developing, maintain, and supporting public facing API in production.
- Knowledge of or experience with microservice architecture in a production environment.
- Understanding of the functional programming paradigm.
- Experience with Scala or Haskell in a production environment.
- Experience with the cats, fs2, http4s, and doobie libraries.
- Experience with tools like Kafka, Kinesis, AWS Lambda, Azure Functions.
- Experience with Kubernetes.
- Oversees the daily operation of one or more engineering teams.
- Assists team in the development and implementation of policies, procedures and programs.
- Mentors, coaches and assists in the career development of team members and participates in frequent one-on-ones.
- Completes product technical design and prototyping, software development, bug verification and resolution.
- Performs system analysis and programming activities which may require research.
- Provides technical/engineering support for new and existing applications from code delivery until the retirement of the application.
- Provides reasonable task and project effort estimates.
- Ensures timely, effective, and quality delivery of software into production.
- Develops and tests applications based on business requirements and industry best practices.
- Creates required technical documentation.
- Periodically troubleshoots during off hours for system failures.
- Participates in an on-call rotation supporting team owned services.
- Collaboratively works across teams to ensure timely delivery of high-quality products.
- Collaboratively works with customer support team to resolve or diagnose defects.