Posted about 1 year ago
We are hiring a senior-level UI Engineer to work on our product team. This engineer will work closely with our mobile engineers to make decisions about when to build native interfaces vs. using web views (we currently use Turbolinks).
Ideally, this person would also guide ongoing development of our budding design system.
It’s not the years, it’s the mileage.
Ideal candidates will have worked on consumer-facing applications serving thousands of users, and for long enough to have encountered meaningful successes and failures. Whether that’s happened over 12 years or 12 months, it’s the mileage that matters.
For the most part, Zaarly engineers are generalists – ready and able to solve problems up and down our tech stack. While a Senior UI Engineer will focus on front end code, they should also be able to commit production-level code to any part of our app.
Working with a small team of very talented engineers, designers and operators, you’ll play an important role building an incredibly unique, local marketplace. We’re a small company and a tight-knit team working on problems no other business has solved – everyone on the team is mission-critical.
We’re looking for an expert UI engineer with deep experience working with libraries and frameworks like React Native and Turbolinks. Candidate’s varying strengths in iOS and/or Android development, design, backend development, and management will also be weighed.
- Able to use modern tools, preprocessors, and frameworks to build rich, beautiful user experiences.
- Able to implement UI that responds to different devices, layouts, and feature sets.
- Experienced in gradual refactoring of existing code bases for modularity and extendability.
Back End Development
- Knows how to create data models for applications that are maintainable and perform well under load.
- Deep experience building native experiences for either iOS or Android.
- Able to build native-like experiences in web views.
- Understands which approach (native, web, or a mix) is best suited for various circumstances and is able to execute the selected approach.
- Draws on direct experience in complex systems to inform design in new systems.
- Designs and architecture reflect a deep understanding of networks, databases, file systems, and algorithms when creating production applications.
- Designs reflect values of fast feedback, waste reductions, and experimentation when building prototype/validation applications.
- Seeks constructive design criticism from others.
- Uses test driven development for design discovery in addition to ensuring correctness.
- Demonstrates an appropriate amount of testing in all code written.
- Uses continuous integration testing a continuous delivery practices.
- Recognizes the difference between a healthy and unhealthy process.
- Verifies that user stories are well specified.
- Works professionally to continuously improve team function.
- Pragmatically balances leading the team to better ways of working with constraints that exist within the organization.
- Able to use established patterns to produce innovative solutions for web, mobile web, and native apps.
- Able (maybe even eager?) to create simple animations.
- Can work effectively at an application level.
Bonus: Ability to work at a system/ecosystem level (e.g., creating integrated/consistent interactions at a brand-level or across a suite of applications)
- Able to break a single complex project into phases and/or iterations.
- Proactively communicates project updates to stakeholders.
- Conversant regarding design and/or business issues