Software Engineer "Android"
*Must be legally authorized to work in the country of employment without sponsorship for employment visa status*
At Envysion we help companies deliver on their brand promise. Successful brands know their formula: the experience they want their customers to have, the processes they want their employees to follow, and the economics they expect to achieve. Envysion gives them the ability to understand whether they are delivering on this formula. We provide what they need to test, measure, and make needed changes that impact their customers, their operations and their profitability.
Our video intelligence platform gives visibility into every store, every location, every day, from anywhere. We provide the insight into the most important events so real-time changes can be made. ENVYSION INSIGHTS brings operational, financial and employee metrics together with video and sophisticated analytics to transform them into actionable insights delivered to decision makers across the organization - no matter where they are - via an Android app, iOS app and a web platform.
In order to continuously innovate and deliver our world-class Android app we seek to add an innovative experienced Android Engineer who is excited by the prospect of upgrading and coding the entire android app of our product.
You will work loosely with a small, agile team developing highly scalable applications. You will be responsible for the Android development and will be able to work closely with the engineers working on the web platform as well as the APIs. This is an opportunity to work with real-time, event driven video players in an Android app.
Our engineers are actively delivering high quality code, while continuously improving the development practice, product, and team. We don’t take ourselves too seriously and we are able to admit when there’s a better way to do something.
If this sounds like the right role for you, we’d love to hear from you!
Responsibilities and challenges you can expect in this role:
- Actively participate in a fluid and collaborative environment with the ability to influence and change the direction of the product
- Employ your skills in Android technologies to create compelling software
- Support cross-functional feature teams with UI and API architecture expertise
- Provide technical and professional leadership as a Senior Engineer
- Leverage a variety of technologies to deliver live and recorded video to customers in the Android app
- Integrate reports and analytics that help our customers get the information they need at a glance
- Build analytics into the app that will help us deliver a better product
- Participate in the end-to-end delivery of software; from design, implementation to deployment automation and maintenance.
- 5+ years experience developing commercial software applications
- Excellent Java development skills and experience
- 3+ years experience delivering complex Android applications
- 3+ years experience interacting with restful APIs
- Good understanding of how different Android versions affect the app and the ability to account for these in the code
- Ability to create compelling and functional user experiences in an app
- Ability to understand REST backend services in NodeJS/Express/MySQL and integrate them into the app
- Ability to write high quality functional tests that verify the soundness and performance of your code
- Solid understanding of the full mobile development life cycle
- Ability to integrate sound software security principles into the app
- Experience with offline storage, threading, and performance tuning
- Strong grasp of Agile principles and software best practices
- Agility and comfort with changing requirements and frequent customer feedback
Nice to have:
- Experience with Kotlin and the ability to integrate that into an app
- Experience working with web-based video, including HTTP Live Streaming (HLS)
- Familiarity with backend streaming video protocols (RTSP)
- Strong SQL skills with ability to diagnose and address performance issues in MySQL
- Experience in iOS development and the ability to assist with iOS features
Soft skills that will help you be successful in the role
- You are a self-starter who enjoys tackling new problems and delivering innovative solutions
- You like working closely with your team members in a fluid agile environment
- You know when to work independently and when to collaborate with team members
- You love app development
- You are energized by understanding the customer and delivering solutions
- You understand the concepts of REST and resource-oriented architectures
- You’re comfortable using and modifying relational databases (e.g. MySQL)
- You can fluently translate designs into app screens
- You aren't necessarily a designer, but you have an eye for detail, you can see when pixels are off, and you have a sense for usability
- You know the ins and outs of cross version development
- You feel a sense of pride in getting a story over the line
- You like to jump in and feel comfortable in working on the whole stack
- You can talk the talk of HTTP interfaces/APIs with service developers