Senior Android Engineer, App Platform
- Full-time
Company Description
Job Description
Square’s mobile applications continue to rapidly scale and diversify as each new opportunity is tackled by teams of passionate engineers. App Platform endeavors to amplify the efficiency of developing, building, testing, and releasing high quality mobile apps.
Our team’s mission includes building services and frameworks for connecting mobile applications to Square’s core services. Together we’ll focus on designing scalable solutions for push notifications, A/B testing, feature flags, synchronizing configuration, mobile networking, performance, and reliability.
We are seeking individuals with prior mobile development experience to deliver full-stack, end-to-end solutions which solve complex challenges faced by multiple teams at Square. You will ship open source libraries, mobile frameworks, micro-services, and data pipelines while working amongst team members possessing a diverse set of skills and experience.
Are you interested in helping us grow in Toronto? You will collaborate with us to expand our existing team, based out of San Francisco and Toronto, and grow Square’s engineering presence in the city.
Qualifications
You will:
Foster a strong culture with team members in both Toronto and San Francisco.
Collaborate with colleagues across engineering, product, design and operations to deliver end-to-end solutions.
Design high availability, resilient systems which can operate no matter the network or device conditions.
Capture and analyze metrics to drive informed decisions.
Contribute to the direction of the team and selection of projects on our roadmap.
You have:
At least 5 years of relevant industry experience developing Android applications.
Interest in working full-stack, from mobile application libraries to backend web services.
Excellent software engineering aptitude and the ability to provide technical mentorship and guidance.
An eagerness to share your ideas, and openness to those of others.
BA/BS degree or equivalent working experience.
Technologies we use and teach:
Java and Kotlin for mobile development.
Workflow, Dagger, RxJava, Mortar, Flow, Retrofit, and OkHttp mobile libraries.
JSON and Protocol Buffers for network transport.
Bazel for many of our build environments.
Java, Guice, Envoy, gRPC, Jersey, and OkHttp for server development.
SQLite, MySQL, and Redis for data persistence.