Android Engineer

Lviv
,
Ukraine

Veev is a smart house automation provider that operates in California, US. We are building a cloud-based smart home system that controls light and ventilation in the house. The system collects data from motion, vibration, light, UV, temperature and humidity sensors to learn people’s behavior and automate some flows to make the living experience better. The system provides a smart wall control panel by Android, Alexa voice assistant, Android, and iOS apps. 

You will face challenging tasks like debugging and maintaining application, on the devices that are built in house and are isolated from the direct network connection. The control panel is able to do only local networking with the built in-home server, which restricts it from using default analytics, crash reporting, logging, and other solutions. Or how to update such a device with new application versions, hot to make the app installation process easy and minimize problems rate? 

In addition to the control panel app you will be involved in User application development, that allows remote control of the house, is full of interesting UI animations and transitions, that must look nice, be smooth and overall provide the best user experience possible.

 

Technology stack:

  • Android, Java, Kotlin
  • RXJava, Apollo, Dagger
  • REST API, GraphQL, MQTT

Interview stages

  • 1st stage - interview with our recruiter
  • 2nd stage - interview with our technical expert
  • 3rd stage - the client interview

Responsibilities

  • New feature development
  • Developing of new android home control panel application
  • Developing of new android user application that allows remote control of the house
  • Supporting existing android applications
  • Integration with the 3rd party SDKs to connect to the hardware
  • Custom MQTT-based protocol design and implementation 
  • Cover code with unit and integrations tests

Requirements

  • 5 years+ in software engineering with any technology stack
  • 3 years+ experience in Android development
  • Android Studio latest stable versions
  • Ability to follow strict Designs documentation and code styling, accuracy in code
  • Good knowledge Android framework, material design and support libraries, services
  • Good knowledge of automated test Espresso, Instrumentation test
  • Knowledge of REST and third party libraries (similar to Retrofit, Volley)
  • Experience with concurrency and multi-threaded programming
  • English — intermediate or higher
  • Great communicative skills

As a Plus

  • Knowledge of design patterns used in Java (MVP, MVC, MVVM, MVI and other)
  • Knowledge of RxJava
  • Experience using Crashlytics, JIRA, Git
  • Experience with serverless design patterns
  • Multithreaded programming, memory management best practices
  • Knowledge of GraphQL
  • Experience in system administration
  • Knowledge of server-side development/integrations
  • Experience in AWS services 

Application Form

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.