Title: Sr. Software Engineer (Go Language) (100% Remote)
Description & Requirements
We are redefining the relationship between forward-thinking financial institutions and their customers. We leverage progressive and 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 surrounded by 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. We value 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
As a Senior Engineer, your team is at the heart of the effort to build our next generation of services that power a set of critical domains. These services ultimately power our Open API and our online and mobile banking products. Our APIs are first-class-citizens and are consumed by both internal teams and exterior organizations.
Your 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 teams to build tools and processes that help scale our rapidly growing platform.About The Team
We are committed to creativity, thoughtfulness, culture, and openness-the perfect place to make phenomenal products that have a big impact. Having grown beyond being a startup we have retained all the best parts of our startup roots while maturing and offering 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 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 progressive and modern technologies across the stack, and contribute to products that are used by thousands of people.
This position will be hired Remotely.
- Minimum 6 years of back-end programming experience.
- Minimum 2 years of programming experience with Go.
- Must have experience deploying and supporting back-end Go services in production.
- Bachelor's degree.
- Experience with Continuous Integration Systems.
- Experience with Docker and Kubernetes (PaaS/Container Orchestration Platform).
- Experience with utilizing net/http and/or common libraries to serve http at scale.
- Experience at tracing a request through the network stack.
- Experience with reading, writing, and designing relational databases.
- Experience instrumenting applications for the purposes of performance and error monitoring.
- Deep understanding of the Golang standard library and it's most common interfaces.
- 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.