Android Engineer

Full-Time Westlake, OH

Designing, implementing, and maintaining Android applications

Assurant Labs has cultivated a fast-paced, Agile development environment where creativity and teamwork are paramount.

You are someone who prefers to communicate through code. You love to create and have a strong desire to learn. You have strong opinions but that are weakly held; you are humble yet confident. In fact, you’re the first to pass along the latest headache busting library from Square to your colleagues just minutes after sending a link to a mind clarifying blog post from Romain Guy. Two engineers discussing their ideas

You can speak to language best practices and are not afraid of anonymous inner-classes. You never overlook the saved instance state and have contemplated the tradeoffs between activities, fragments and views. You have knowledge of how a RESTful web service works, what makes it RESTful and how it can be accessed from Android. You are also diligent about meeting allocated budgets and can work within time constraints, but you will never sacrifice quality.

We are looking for you to join our growing team as an Android Engineer. You have exceptional communication skills, the ability to manage multiple tasks efficiently, excellent judgment, and the ability to be productive on a cross-functional product team.

Responsibilities
  • Engaging in product development and architecting solutions
  • Conducting design and code reviews
  • Interacting with other engineers to learn and spread best practices
  • Designing, implementing, and maintaining applications
  • Ensuring availability, performance, and correctness of applications
  • Unit-testing code for robustness, including edge cases, usability and general reliability
  • Refactoring and improving maintainability of existing code base
  • Rapidly fixing bugs and solving problems
  • Making disciplined use of source control and bug tracking systems
  • Participating in resolving customer support issues as needed
Requirements
  • BS in Computer Science, Computer Engineering or related fields preferred; equivalent professional experience will be considered
  • 2+ years of Java development experience on the Android platform
  • An experienced command of Android UX/UI guidelines and best practices
  • A solid understanding of computer science principles
  • Experience with continuous integration and delivery tools (Jenkins, TeamCity, or GitLab)
  • Ability to write clean, testable, quality code
  • Experience consuming data from RESTful APIs, preferably with JSON
  • Understanding of security coding best practices
  • Experience practicing Agile development methodologies
  • Ability to manage and prioritize many tasks at a time
  • Ability to push the envelope for performance and reliability
  • A disciplined approach to development, testing, and quality assurance
  • Ability to communicate thoughts, designs, ideas and specs in an unambiguous manner and adjust for the audience and context
  • The initiative to look for answers instead of waiting for them
  • Flexibility with changing job requirements as the company and team grows
Hopes
  • Already started obtaining an understanding of Kotlin
  • Practical experience with mobile application automation testing frameworks
  • Experience with various programming languages (e.g., Objective-C, Swift, Ruby, Javascript, C/C++)
  • At least one non-trivial Android app available for download
  • Experience with Git for version control
  • Multithreaded Application experience
  • Knowledge and experience with Object Oriented Design and implementation
  • Strong Object Oriented Programming knowledge
  • Proven ability to carry a feature from start to finish; including prototypes, design specifications, constructive coding, unit testing, and bug fixing
  • Ability to quickly and accurately perform troubleshooting and repair of existing applications

This position has been filled.