Title: Senior Software Engineer
Location: San Francisco, CA
Type: FTE (Permanent)
Incredible teams doing exceptional work, every day
In Technology, our client supports their employees and clients through the acquisition, integration and management of the company’s information technology systems and services. They drive innovation and explore emerging technologies so their people can be productive and focus on what matters most – providing extraordinary service.
Duties and Responsibilities
Our client is in the midst of a digital transformation. That means building a domain-driven model of banking behind coherent, composable, modern APIs. Those APIs are a mix of versioned REST APIs and event sourcing. If you're interested in object-functional programming; functional reactive programming; and other similar architectural and implementation patterns, you're going to feel at home here. After all, what is banking but a series of events over time?
Deposits, payments, treasury, and Customer onboarding - the field is wide open.
As part of the job duties, the Senior Software Engineer will partner with stakeholders to understand current pain-points, gaps, business drivers, and common needs and come up with target architecture, design and execution path from current state to target state. The Solution Architect will also be responsible for creating detailed design and overseeing delivery including code reviews, hands-on coding as needed.
Required People Skills
- Patience with how the environment is, with an eye towards refactoring the environment into what it should be
- An ability to win friends and influence people on both the technology and business sides
- Clear and concise communication skills
- Bias towards action, an ability to work autonomously while navigating uncertainty with good humor
- Empathy for our clients and stakeholders on both the technology and business side
- Track record of delivery in highly-functional tech environment, preferably in a cloud-first environment
- Familiarity with cloud architectural patterns
- Design and implement strategy to move from on-prem to cloud infrastructure
- Cloud adoption/migration – Snowflake/AWS
- Microservices, message queues, container orchestration, etc.
- A strong preference for infrastructure-as-code
- Deep familiarity with one or more mainstream programming languages
- Experience with both SQL and NoSQL as well as their relevant data modeling patterns
- Establish guidelines, best practices, processes, and governance
- Prior experience at the intersection of InfoSec and feature delivery would be a huge plus
- Experience creating software in highly-regulated environments is also a big plus
Our platform / stack
The Deposits Technology organization is at an interstice where much of our environment is on-prem, consisting of point-to-point integrations between vendor-supplied systems. Our intent is to move into a cloud-first future, where vendor-supplied systems of record are hidden behind APIs designed and controlled by our in-house software development teams.
Because of this, our stack is disparate.
Today we have:
- Appian, JBoss, Apache
- Oracle, SQL Server, MySQL.
Tomorrow that stack will look something like:
- Data layer: Kafka, DynamoDB, MongoDB, various RDS flavors, SQL Server, Postgres, MySQL
- Application layer: Node, Core, Java apps deployed in Docker containers running in OpenShift on Linux
- Infrastructure: All of our cloud infrastructure is expressed in code via Terraform. In general, applications are deployed in Docker containers running on OpenShift behind Apigee
- Code: Node (both TS and JS), Java, languages supported by lambda are also a plus
- Infrastructure: Terraform, Docker, OpenShift, bread-and-butter AWS technologies (RDS, S3, etc.)
What you'll be doing as Senior Software Engineer:
- Drive the architectural patterns and practices used by other people and groups at the bank.
- You are expected to be a thought partner when it comes to balancing maintaining the old while delivering the new. Work with stakeholders/user groups to understand current pain-points, gaps, business drivers, and common needs
- Conceptualize, design and develop common framework/utilities leveraging new advancements in technology with an emphasis on performance and scalability
- Evaluate new tools and technologies required
- Design, hands-on coding, code reviews and oversee implementation
You could be a great fit if you have:
- 7-10 years of software engineering experience working in strategic initiatives
- 2+ years of building and administering distributed applications using a cloud platform
- Work experience at the intersection one or more cloud platforms and feature delivery of complex systems
- Strong problem-solving skills, including trouble shooting systems under time pressure
- Focus on designing reusable and scalable solutions
- Ability to quickly learn and adopt new technologies
- Drive to innovate with latest tools and strategies
- Knowledge of industry best practices, proven design patterns
- Must be able to review and analyze data reports and manuals; must be computer proficient.
- Must be able to communicate effectively via telephone and in person.
Own your work and your career - apply now