Directory
Welcome to the Team! π
This onboarding doc should hopefully get you up to speed and able to start contributing, communicating, and coding as soon as possible.
Prerequisites
If you haven’t yet, please go through the general Banno Onboarding page. This should help answer a majority of your questions related to being an engineer here at Banno.
Make sure your Scala Development Environment is setup and ready to roll as a majority of our services are written in Scala.
As of recently we’ve been dipping our toes into writing new services using Go, so we recommend setting up a Go Development Environment as well.
What We Do π
Overview
Curry is a Data Services team that writes, maintains, and continually develops services for the Banno Platform.
The Platform features that we are involved in include but are not limited to:
- Content
- Marketing
- Monitor
- Settings
A full listing of the services and their associated github repositories can be found in our team-curry repository.
Feel free to browse through these repositories and skim their README’s to get a general understanding of what each service does.
Individual Responsibilities
Individual contributors on Curry can be working on any number of things at once, such as:
- Implementing New Features
- Engineers work with Product, Design, and UX teams to implement β¨sparklyβ¨ new features and tools for the Banno Platform.
- Tackling Technical Debt
- Updating services to the newest possible version of libraries, languages, build-tools, etc.
- Triage Support Tickets and Slack Channels a.k.a Firefighting. π§βπ
- Engineering teams work with Implementation and Support to resolve customer issues related to their services. An overview of how this process works can be found in our FF Guide
Tooling π οΈ
The Banno Onboarding page lists out some of the more general tools and applications you’ll interact with being part of the organization so there will be some overlap with the listings below.
Slack
Slack is our team and a majority of Banno’s preferred method of asynchronous communication. Follow these instructions located here to get an account setup that’s tied to your @jackhenry.com email address.
Next you’ll want to join some Curry rooms so you can stay in the loop on what’s going on with the team.
#team-curry (This is a private channel where all our in-team communication happens)
#org-curry (General topics/questions related to our services)
#prod-content (All topics/questions related to the Banno-CMS)
#prod-marketing (All topics/questions related to Marketing)
#prod-monitor (All topics/questions related to Monitor)
#auto-curry (Feed of automated alerts and updates from Jenkins and our environment-specific Alert Managers)
Jira
Banno as a whole uses Jira to track and organize everything from roadmap project plans to one-line bug fixes.
Follow the instructions here to get an account setup.
Once your account is setup you’ll want to star the Curry (CURRY) Software Project. This contains two Kanban boards that we use for organization.
The Team Curry Working Board contains all the individual tasks and bugs that are assigned to or created by our team.
The Team Curry Planning Board contains the Epics that our team is currently working on and scheduled to work on in the future.
General Jira and Agile development terminology can be found here.
Postgres-Connect
This tool is our preferred method for interacting with databases.
Installation instructions can be found here.
A listing of our databases and an example connection request can be found under the postgres section of our team-curry repo.
Jenkins
Jenkins is an open-source automation server that builds and deploys our services to the different environments we use. (Staging, UAT, and Production)
A majority of your interaction with Jenkins will be approving builds and sending out release-notes, all of which can be monitored and interacted with from our #auto-curry slack channel.
Datadog
Datadog is a monitoring platform for cloud applications that provides logging and insights into our applications so we can diagnose and debug issues.
Follow this link to get information on logging into Datadog, as well as some resources explaining common use cases for it.
Grafana
Grafana is an open-source analytics application that we use to visualize a large amount of different statistics related to our services.
You can check out our visualizations here.