Senior Software Engineer (Server), Invoices
- San Francisco, CA
Square Invoices is the easiest way for merchants to close sales and collect payments remotely. Our customers rely on our products because they are well designed, easy to use, and integrated with their business. We are a full-stack product oriented team, spanning across engineering, design, product, and marketing. You'll have a seat at the table in roadmap and strategy decisions and will play a critical role in helping the team accomplish our industry leading growth goals.
Our team is focused, fast-moving, and rapidly growing with an abundance of growth and impact opportunities. We focus on building the best tools to help our merchants close sales and get paid quickly, anywhere, at any time. At the same time, we are doing this in an efficient and scalable way, making smart choices about how to automate critical functions for our merchants.
The ideal candidate is a product-minded, server engineer who can take an idea from prototype to a cornerstone of our merchants' business operations.
Work closely with other engineers, designers, and product managers to design and build world-class product experiences.
Be responsible for the entirety of your features; including API design, implementation, automated testing, and rollout.
Own and drive the architecture of our backend systems.
Hold yourself, and your teammates accountable to the standards of engineering and ethics that enables Square to safely move billions of dollars in payments and allow our customers to trust us with their sensitive data.
Help empower a team of engineers by mentoring individuals, cultivating pragmatic engineering decision-making, and leveraging your technical expertise to constantly raise the quality of design decisions and implementation by holding the team to a high standard.
6+ years professional experience in software engineering.
Strong execution skills, with a pragmatic focus on ROI, to deliver remarkable solutions to our merchants.
The ability to adapt to the different stages of product development. This can mean building intentionally scrappy code to iterate quickly, or building a sustainable system that will support our product for years to come.
An appreciation for the connection between the software you build and the experience it delivers to customers.
Demonstrated, first hand experience building products at scale.
Proficiency in at least one server-side language and an enthusiasm to learn others. Our engineers have all kinds of backgrounds and are encouraged to move freely across our technology stack.
The ability to provide technical mentorship and guidance to engineers of varying experience levels.
Languages and technologies we use and teach:
Languages: Ruby, Java
Frameworks: Rails, RSpec, Sidekiq, gRPC, Guice
Infrastructure: MySQL, Redis, Elasticsearch, Kafka