We have an incredible team that is on a mission to make commerce easy for all types of businesses. Square Invoices focuses on helping our merchants create professional looking invoices so that they can get paid quickly from anywhere, at anytime. As a software engineer on the Invoices Team, you will be responsible for designing, building, and owning the applications and infrastructure required to make our merchants successful. We encourage our engineers to lead and influence roadmaps, driving large features across multiple platforms.
Why this position is important:
Square is growing beyond in person Point of Sale payments. We work to enable merchants to take payments remotely and manage their business from anywhere.
Invoices is one of the fastest growing products at Square.
We are primed for growth and want to aggressively expand our addressable market this year by leveraging integrations with Square Payments, POS, Hardware and Capital to deliver a highly differentiated solution unlike any other on the market.
Envision and build a best-in-class invoicing solution used by millions of merchants around the world.
Hold your yourself, and your teammates, accountable to a high standard of engineering that enables Square to move billions of dollars in payments and safely manage our customers’ sensitive data.
Design and implement high-volume, low-latency, distributed systems, making thoughtful tradeoffs between consistency and availability.
Own and drive the architecture of our backend systems.
Be responsible for the entirety of your features; including API design, implementation, and automated testing.
Great engineering skills, strong CS fundamentals, and elegance in your work.
Experience building great products and a proven track record of solving problems creatively.
A strong sense of ownership in your work and a conviction in doing things the right way.
A strong appreciation for the connection between the software you build and the experience it delivers to customers.
Versatile in a team environment and battle-tested building products at scale.
Proficiency in at least one language and an enthusiasm to learn others. Our engineers have all kinds of backgrounds and are encouraged to move freely across our technology stack.
4+ years professional experience.
Languages and technologies we use and teach:
Java, Ruby, Swift, ES6, Android, iOS
Guice, Guava, Protocol Buffers, jOOQ, Rails, ReactiveX Framework
MySQL, Redis, Kafka, Hadoop, Hive, Elasticsearch