Senior Software Engineer, Data Infrastructure (Java)

  • San Francisco, CA
  • Full-time

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.

Job Description

At Square we recognize that good decision-making is only possible when you have all the data you need at hand, along with the right tools and systems to process and analyze that data. The Data Infrastructure team plays a pivotal role in driving the Square data ecosystem through the products we offer:

  • Data warehouse ownership, used by analysts, developers, and PMs throughout Square.

  • Ownership of core data pipelines connecting multiple, disparate sources and sinks: the data warehouse, cloud storage, application databases, and mobile clients.

  • Utility services that enable orchestration of data pipelines, data documentation, data discovery, and more.

As a shared infrastructure team, our customers span the gamut from application teams to data analysts to data scientists; if you need data, Data Infrastructure has a hand in making it available to you!

This role is for an experienced Java software engineer, with a heavy emphasis on backend services development: if you love to code, and want to put those skills towards building next generation data solutions, come talk to us!

Your focus will be on working with the team to build and improve scalable, high-volume, low-latency data pipelines. You will:

  • Write performant, clean, modern applications and services in Java.

  • Participate in the full development process, from design and design docs to implementation and testing to code reviews to deployment and scaling.

  • Propose, research, prototype, and test new ideas, from libraries to systems to new technologies.

  • Mentor fellow teammates on algorithms, data structures, design patterns, and best practices.

  • Identify and document feature gaps, and design and implement solutions to them.

Qualifications

  • 5+ years industry experience developing backend services in Java. Bonus: 8+ years.

  • Bachelors degree in computer science or equivalent practical experience.

  • Bonus: Practical experience developing with Java technologies like Guice and JDBC.

  • Bonus: Practical experience using Kafka, either as an administrator or as a developer.

  • Bonus: Ruby development experience.

Additional Information

At Square, our purpose is to empower – within and outside of our walls. In order to build the best tools for the businesses and customers we support all over the world, we have to start at home with a workforce as diverse and empowered as our sellers. To this end, we take great care to evaluate all employees and job applicants equally, based on merit, competence, and qualifications. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, disability status, or any other characteristic protected by law. We encourage candidates from all backgrounds to apply and always consider qualified applicants with arrest and conviction records, in accordance with the San Francisco Fair Chance Ordinance. Applicants in need of special assistance or accommodation during the interview process or in accessing our website may contact us by sending an email to assistance(at)squareup.com. We will treat your request as confidentially as possible. In your email, please include your name and preferred method of contact, and we will respond as soon as possible.