Software Engineer, Data Infrastructure (Java)
- San Francisco, CA
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.
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:
End-to-end ownership of our internal structured application event logging system, which powers analytics and machine learning.
End-to-end ownership of database change data capture system.
Full-stack ownership of core systems such as Kafka and Zookeeper.
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 is very much a software engineering role: if you love to code, and want to try your hand at putting those skills into a new domain, come talk to us! To whet your appetite, here are just some of the challenges you’ll help solve:
What does a modern data ecosystem look like?
How to build data pipelines that are automated, robust, self-service, transparent, and still performant and efficient in the face of ever-increasing data volumes?
How to incorporate modern cloud technologies to solve existing use cases and empower new ones?
Write performant, clean, modern applications, services, and pipelines 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.
5+ years industry experience developing backend services in Java.
Bachelor’s degree in computer science or equivalent practical experience.
Bonus: Practical experience developing with standard Java technologies like Guice and JDBC.
Bonus: Ruby development experience.
Bonus: Experience with the Snowflake data warehouse.
Bonus: Distributed systems experience developing against Kafka or Zookeeper.
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.