Senior Software Engineer (Scala) - remote

Posted 3 years ago
Stack Overflow

The Banno Team with Jack Henry &Associates is redefining the relationship between forward-thinking financial institutions and their customers. Banno leverages modern technology and an industry leading product vision to make user-friendly mobile and web apps. We have a first-class API;the same API our web and mobile apps use is the same API that is open to the community to build on top of and extend.

About You

You are infinitely curious and thrive in an environment where you are constantly learning and growing. You want to be somewhere that you are trusted and set up for success every day. You want to be somewhere that surrounds you with other great engineers that drive you to be better every day. Although you work in a team you are self-motivated and able to work with independence. You want to own the deliverable from working with the product manager to define the scope all the way through supporting your work in production. You care deeply about your work, your team, and the end user. Banno values trust and those with a bias towards action. We have a remote-first culture that challenges you each day and supports your growth. We are confident you will love it here.

What you and your team are working on

The Senior Scala Engineer participates and works with our team to build Banno’s next generation of services that power a set of critical domains. These services ultimately power Banno’s Open API and our online and mobile banking products. All of Banno’s APIs are first-class-citizens and are consumed by both internal teams and organizations outside of Banno. This team is constantly keeping your services up to date with the newest development, deployment and release practices to offer exciting user experiences with highly secured data. Your team also collaborates with other Banno teams to build tools and processes that help scale our rapidly growing platform.

About the Banno team

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 to, 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 web technologies across the stack and contribute to products that are used by thousands of people.

This position will be hired Remotely.

MINIMUM QUALIFICATIONS

  • Minimum 6 years of back-end development experience.
  • Minimum 2 years of experience deploying and supporting services in production.

PREFERRED QUALIFICATIONS

  • Bachelor's degree in Computer Science.
  • Experience programming using Scala highly preferred.
  • Experience with functional programming.
  • Experience using the Typelevel Stack (http4s, doobie, cats, cats-effect).
  • Experience working with Microservices Architecture.
  • Experience with Continuous Integration Pipelines.
  • Experience with observability and monitoring.
  • Experience with Postgresql or other relational databases.
  • Experience with Kafka and event-based systems.
  • Experience with Docker and Kubernetes (PaaS/Container orchestration platform).

ESSENTIAL FUNCTIONS

  • Completes product technical design and prototyping, software development, bug verification and resolution.
  • Performs system analysis and programming activities which may 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 tasks and product effort estimates/costs.
  • Ensures timely, effective, and quality delivery of software into production, both at an individual and team level.
  • Develops and tests applications based on business requirements and industry best practices.
  • Creates required technical documentation.
  • Adheres to documented departmental and corporate standards. Participates in the definition and documentation of standards.
  • 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 and mentoring less experienced peers.
  • May contribute to product architecture.
  • May assist less experienced peers.