Position: Software Engineer – Mobile (Android and iOS) Developer
Location: Longmont, Colorado
Minimum experience: 3+ years relevant work experience
Education: Bachelor’s degree required in Computer Science or Software Engineering
Left Hand Robotics designs and assembles robots that tackle difficult, outdoor tasks. Our first offering is an autonomous snow clearing and de-icing robot that is meant to clear walkways and other pathways that are normally only reachable by shovel or small, manually controlled snow removal equipment. But this is only the beginning.
We look to employ a diverse and highly talented team. We are looking for innovators and risk takers – as a startup we need employees that are driven, self-motivated, and technically well rounded. We are small and growing fast, so everything you do will have a real impact on the company. We believe we have an array of interesting and challenging projects ready for those who want to challenge themselves. If you are excited about robots and to work with other creative, fun, and passionate people, talk to us.
Our robots are unique: they autonomously operate outside in harsh conditions (snow, cold, wind, and dark). Yet they must reliably perform their snow clearing job otherwise people won’t be able to walk or ride where they need to go. When it comes to snow clearing, failure is not an option.
Our robots follow pre-computed paths and rely on GPS and dead reckoning to ensure they stay on the path. The robots deploy a number of sensors to ensure that obstacles are avoided. In addition, our robots are constantly connected to our Robot Operations Center in the cloud where real-time status information is conveyed and stored so that our customers can monitor their robots in the field.
About the Job
The iOS and Android applications are the primary interface into controlling robots in the field. These applications work as dashboards first and foremost, showing the robot status and mapping their positions on a map. But their more important role is to act as a remote interface for robots, allowing users to load programs into the robots, drive them around, and monitor live sensor feeds from the machines in realtime and for historical purposes. The featureset of each application is complex and the applications take a central role in the pantheon of software that makes autonomous snow clearing possible.
In this position you will be taking up the implementation of our native Android and iOS applications, which are written in Kotlin and Swift, respectively. Development on these applications must happen concurrently, as we try to maintain as much feature parity between them as possible. The ideal candidate has the technical skills to be self-sufficient and highly productive on both platforms as well as the project management skills to juggle continued development of both platforms. While considerably more experience on one platform is an advantage, the ideal candidate is not much slower on one platform than the other, since that would make it harder to keep up with development on both. Above all, resourcefulness and self-direction is required to manage the development of both applications without external support.
Experience with other languages, platforms, and programming domains is a considerable advantage, as we have a wide range of other projects that compete for attention.
Required Skills and Experience:
- 3+ years Android programming experience
- 3+ years iOS programming experience
- Strong verbal and written communication skills
- Experience collaborating with others: express new ideas and happily listen to others
- Designing and implementing complex interfaces from scratch
- Experience with websockets and streaming protocols
- Casual understanding of distributed systems topics such as reliability, availability, and replication of data
- Familiarity with asynchronous programming styles: callback-oriented, promise/deferred/future, or streaming reactive (Rx)
- Led development of 5+ iOS and Android applications from scratch
- Mastery of Kotlin and Swift, or a very fast learner
- Experience with RxJava
- Experience with RxSwift
- Released multiple iOS and Android applications to store
- Strong appreciation for UI/UX and competent at design
Left Hand Robotics (LHR) is committed to supporting a culture of diversity across the organization. LHR provides equal employment opportunities (EEO) to all employees and applicants for employment without regard to race, color, religion, sex, national origin, age, ancestry, disability, marital status, veteran status, gender identity, sexual orientation, or genetics. In addition to federal law requirements, LHR complies with applicable state and local laws governing nondiscrimination in employment in every location in which the company has facilities. This policy applies to all terms and conditions of employment, including recruiting, hiring, placement, promotion, termination, layoff, recall, transfer, leaves of absence, compensation and training.
Left Hand Robotics expressly prohibits any form of workplace harassment based on race, color, religion, gender, sexual orientation, gender identity or expression, national origin, age, ancestry, marital status, genetic information, disability, or veteran status. Improper interference with the ability of LHR’s employees to perform their job duties may result in discipline up to and including discharge.