JCV’s Development team is responsible for the quick development of solutions or products to resolve our customers’ problems with AI/Computer Vision technology. The team’s central mission is to help customers implement innovative AI facial recognition solutions and solve technical problems — including both IoT hardware and software.
As a member of the team, you will participate in the design and the development of innovative solutions to continuously more ambitious engineering challenges. You will be building frameworks, tools, and tests to cover the full depth and breadth of JCV’s Android client-side functionality.
JCV wants a super technical, hands-on, and mission-driven Android Engineer to help us build out the solutions and prototypes to the next level. As a critical member of the Development team, you will have significant leadership and impact on the evolution of JCV’s crucial products and solutions.
What You’ll Do
- Designing, developing, and deploying new highly available AI products or solutions, and also integrating them into our CI/CD pipeline to meet the needs of our fast growing and evolving AI/Computer Vision platform.
- Scrutinizing and reasoning clearly on technology and architecture choices, identifying tradeoffs and challenges, and getting buy-in from the rest of the team.
- Supporting team members through code review and architecture decisions.
- Collaborating with the Program Management team to understand product requirements and incorporate them into new solutions.
- Writing code to improve the most important services and applications which power our IoT devices and SaaS cloud platform.
Your Must Haves
- You have 3+ years of Android development experience. Required skills:
- You have Native Android application development experience.
- You are proficient with Kotlin / Java. You are familiar with Android SDK and can write clean code in MVVM / Clean Architecture.
- You are familiar with the Dependency Injection pattern and have experience using Dagger Hilt or Koin.
- You are familiar with the Repository pattern and have experience using local Cache/DB.
- You have experience on Android Architecture Components, Android Navigation Components, and Camera.
- You have experience handling background service and multi-threading.
- You have experience on Kotlin Coroutine and Kotlin Flow.
- You are familiar with REST API and have experience using the Network clients like Retrofit or Ktor.
- You can review and provide feedback for other teammates’ designs and code.
- You can work in small, highly collaborative, agile teams to build out our technology solution.
- You know how to successfully build, deploy and operate web applications from scratch.
- You have a knack for helping groups understand application architectures and integration approaches, and the consultative and leadership skills to successfully launch a project.
- You design/think first before implementing/action.
- You are familiar with security best practices for applications, servers, and networks.
- You can strike a balance between development speed and quality of features to create durable technology.
- You follow a test-driven development methodology and thrive on building scalable systems that are robust, failure-resistant and easy to maintain.
- You’re a team player who has strong communication skills and the ability to work well cross-functionally with a can-do attitude.
- You thrive in ambiguous environments and get excited about figuring out solutions to complex problems, and then executing them with your team.
- You’re a first principles thinker who works with others to come up with pragmatic solutions.
- You can think on your feet and context switch at a moment’s notice.
- You keep up with the industry trends and continuously identify new technologies to leverage to solve technical problems.
Your Nice to Haves
- You have strong open-source leadership or contributions.
- You can speak business level Chinese.
- You can make hard tradeoffs between important goals to get the right things built quickly without breaking things.
- You have been a tech lead or hands-on manager at a growing startup and seen what could happen next.
- You have direct experience on a growth team.
- You have JNI and NDK experience.
- You have cross-platform experience like Flutter, ReactNative, or Kotlin Multiplatform.
- You have experience on Web frontend or Backend technologies.