Mobile Engineer

  • Atlanta, GA, USA
  • Full-time
  • Current Square Employee?: Apply via go/jobs

Company Description

We believe the economy is better when everyone has access. When everyone has room to grow. No one should be left out because the cost is too great or the technology too complex. We started with a little white credit card reader but haven’t stopped there. We’re empowering the independent electrician to send invoices, setting up the favorite food truck with a delivery option, helping the ice cream shop pay its employees, and giving the burgeoning coffee chain capital for a second, third, and fourth location. We’re here to help sellers of all sizes start, run, and grow their business—and helping them grow their business is good business for everyone.

We believe the economy is better when everyone has access. When everyone has room to grow. No one should be left out because the cost is too great or the technology too complex. We started with a little white credit card reader but haven’t stopped there. We’re empowering the independent electrician to send invoices, setting up the favorite food truck with a delivery option, helping the ice cream shop pay its employees, and giving the burgeoning coffee chain capital for a second, third, and fourth location. We’re here to help sellers of all sizes start, run, and grow their business—and helping them grow their business is good business for everyone.

Job Description

Payments

  • The Payment Acceptance team owns the core of Square’s online payments stack and operates it at a massive scale.  

  • We provide APIs for first and third parties to access our platform.

  • We move money between customers, credit card processors, and banks quickly, reliably, and securely – and our ambition is to make this easy.

  • We tackle several technical challenges: Security and privacy, monitoring, re-architecting for the future, scalability, supporting payment methods such as cryptocurrency, 3DS, ACH, and support Square's expansion to support new payment types in international markets.

We are a backend service team, and use Java on Square's Linux servers and cloud platforms along with technologies like Guice, Guava, Protocol Buffers, jOOQ, MySQL, Kafka, AWS and GCP.

Catalog

  • The Catalog team builds the platform and product features that allow Square merchants to manage the items and inventory they sell. We support all types of merchants from food trucks with just a few menu items to retail chains with hundreds of thousands of SKUs for sale across many locations.

  • The team is involved in the technical details of building highly available and reliable services, while also working with product teams to enable Square to rapidly build new capabilities for our merchants and buyers all over the world.

  • We partner with external developers to build public APIs that allow Square to expand it’s ecosystem.

  • We use Go, Java, MySQL, and Elasticsearch. We use ML to improve the product experience.

Prices

  • The Prices team is responsible for tools that help Square merchants set prices, manage taxes, and provide discounts to their customers.

  • We are a full stack team, delivering features via Mobile, Web, and API across nearly all of Square’s products.

  • We are reinventing Square’s models for pricing and taxes, building flexible primitives to manage complex needs.

  • We also own Square’s subscription platform, managing internal and external subscriptions, usage, and billing.

  • We use Java / Kotlin on Android, Objective-C / Swift on iOS, Javascript and Ember on the web, and Java and Ruby on the server.  

Identities

  • The Identities team maintains the account system for Square sellers.

  • We curate the merchant data model for that account system and provide highly available services for both of those that answer thousands of queries per second.

  • We support millions of Square customers through elegant interfaces on the web (Java,  JavaScript and Ember.js), Android, and iOS.

Auth

  • The Auth team provides authentication services including login, two factor verification, access control and session management for access to all Square services.

  • We protect customer accounts through smart, targeted rate limiting and machine-learning signals detection.

  • Support millions of Square customers through elegant interfaces on the web (Java, Go, Javascript and Ember.js) Android, and iOS.

Orders

  • We are a team that ties together many software components across Square, including Payments, Prices and Catalog, allowing developers to quickly combine new and existing components to innovate new features on top of Square’s platform.

  • Our Order Platform APIs are designed for use by first (internal) and third party (external) developers.

  • We design and implement high-volume, low-latency, distributed transaction processing systems, making thoughtful tradeoffs between consistency and availability when both are not possible.

  • Our work spans client and server environments and leverage Java, Go, Javascript and Ember.JS.

Qualifications

You will...

  • Enjoy working on mobile apps at all levels – from networking up to user interfaces and whatever’s in between.

  • Build high availability and highly resilient systems which can accept and accurately report payments no matter the network or device conditions.

  • Collaborate with iOS, Android, and Server engineers to ship features.

  • Work with product managers and designers to iterate on and define product scope and design.

Languages and technologies we use (and teach)...

  • Java, Swift, and Kotlin for development.

  • Espresso for UI testing.

  • Protocol buffers for network transport.

  • Gradle + OkBuck for our build environment.

  • Also leverage Flow, LeakCanary, Dagger, Mortar, and okhttp for day to day development.

Additional Information

At Square, we value diversity and always treat all employees and job applicants based on merit, qualifications, competence, and talent. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status. We will consider for employment qualified applicants with criminal histories in a manner consistent with the requirements of the San Francisco Fair Chance Ordinance.