Lead Scala Engineer

Jack Henry & Associates, Inc·USA

As a Lead Scala Engineer for the Banno Platform at Jack Henry, you’ll get the chance to make a real, positive impact on people’s lives. Our mission is to give people the best possible experience they can have with their finances. We’re doing this by reimagining the online banking ecosystem and building products that empower and delight. The Lead Scala Engineer directs the architecture and design of highly scalable APIs to normalize access to multiple banking systems for use in our mobile banking clients. The Lead Scala Engineer teach and push the boundaries of functional programming while developing and supporting production systems. Emphasizing DevOps and observability, you’ll lead and guide a team deploying and monitoring their own services.

About the Banno platform

We are committed to creativity, thoughtfulness, culture, and openness—the perfect place to make phenomenal products that have a big impact. Our work environment echoes a modern tech startup but we have the security and benefits of a large, publicly traded company. With an engineering team of less than 100, we place high value on continued education and also contribute, and use, open source projects.

Our team is distributed and that means you can live and work wherever you want–as long as your work hours match US business hours. You’ll get the chance to choose your own tools, work with bleeding edge infrastructure technologies across the stack and contribute to products that are used by thousands of people. Travel will be up to 25% to conduct training at Cedar Falls, IA or Des Moines, IA or for professional development conferences and company meetings. If you are interested in this position, please apply on or before August 1, 2018.

This position will be hired to work remote from home.


  • Travel will be up to 25% to conduct training at Cedar Falls, IA or Des Moines, IA or for professional development conferences and company meetings.
  • Must have a minimum of 15 yrs of technical experience in software development .
  • Must have a minimum of 3 years of experience with functional programming projects in production environments with languages such as Scala, Haskell, Clojure or Scheme.
  • Must have a minimum have a minimum of 2 years experience leading an engineering team .


  • Bachelor’s degree in software engineering, or computer science is preferred.


  • Oversees and may direct the timely, effective, and quality delivery of software into production.
  • Defines or refines standards for the design and development of software. Collaborates with developers, QA, operations and management to provide technical direction in requirements analysis, design, development, testing, and deployment.
  • Establishes and reviews business and technical requirements and overall project plans to define or refine standards, ensure adherence to standards and to facilitate the transfer of knowledge throughout the development staff.
  • Performs the most complex product technical design and prototyping, software development, bug verification and resolution.
  • Performs system analysis and programming activities which require extensive research and analysis.
  • Provides technical/engineering support for new and existing applications from code delivery until the retirement of the application.
  • Provides both individual and budget-level task and project effort estimates/costs and project monitoring and oversight. Contributes information for the preparation of annual department budgets.
  • Develops and tests applications based on business requirements and industry best practices.
  • Creates required technical documentation.
  • Adheres to documented departmental and corporate standards. Oversees the definition and documentation of standards. Contributes to defining and improving department processes.
  • Collaboratively works with QA team to ensure timely delivery of high-quality products.
  • Collaboratively works with customer support team to resolve or diagnose defects.
  • Performs release validation testing and beta support for projects.
  • Researches problems and develops solutions to the problems.
  • Conducts unit testing and integration testing for functionality and limits.
  • Assists in training/mentoring less experience peers.
  • Identifies and evaluates new technologies and development environments.
  • Participates in the recruiting process.
  • May contribute to product architecture.
  • May assist less experienced peers.May act as a team lead.