Nice North America is a subsidiary of Nice S.p.A., an Italian multinational leader in home and building automation. With headquarters in Carlsbad, CA, Nice develops smart home control, security, door and gate automation, access control, and related systems to simplify everyday movements.
Summary
We are seeking an experienced Android UI Developer to design and build user interfaces for next‑generation security and IoT control panels. The role involves working with wireless security devices, audio/video streaming, cellular/WiFi communication, Z‑Wave, and other IoT technologies.
Location: Carlsbad, CA (fully onsite Monday‑Friday)
Salary Range: $120,000 to $135,000 annually, depending on experience.
Primary Responsibilities
- Rapidly and independently develop robust, high‑performance application UI components from wireframes, prototypes, and product specifications.
- Actively participate in software architecture discussions, identifying technical risks, performance bottlenecks, and proposing practical solutions.
- Conduct meticulous code reviews, enforcing clean code standards, architectural consistency, SOLID principles, and best practices.
- Proactively integrate and validate new designs, focusing on early detection of integration issues.
- Develop comprehensive verification and validation testing strategies to ensure a smooth transition to production, emphasizing testability and maintainability.
- Collaborate closely with engineering managers, QA, and cross‑functional teams to diagnose, debug, and resolve product issues swiftly.
- Continuously monitor, profile, and optimize application performance and resource usage, addressing RAM, memory leaks, CPU load, and UI lag.
- Provide clear, structured documentation and diagrams to ensure maintainability and clarity in post‑production support.
- Implement and maintain department policies and standards.
- Understand, support, and execute all work according to established organizational procedures.
- Complete project‑based assignments as requested.
Qualifications
- Bachelor of Science in Computer Science or Computer Engineering.
- Minimum of 4 years Android UI development experience, delivering complex UI solutions independently.
- Minimum of 3 years developing Android apps using Kotlin, with deep expertise in OOP principles, coroutines, and Flow API.
- Minimum of 2 years of production experience with AndroidX Jetpack Compose, including advanced knowledge of Compose internals, optimization techniques, recomposition analysis, and adaptive layout approaches.
Knowledge, Skills, and Abilities
- Deep understanding of performance profiling and optimization strategies (RAM, memory usage, CPU profiling, UI lag analysis).
- Strong experience in Test‑Driven Development (TDD), unit tests, and automated UI tests, ensuring consistently high code coverage.
- Demonstrated proficiency in iterative refactoring, using deprecation annotations and clear migration strategies.
- Expert‑level proficiency in Android Studio tooling and debugging tools, including advanced usage of hotkeys, profiling tools, and memory analyzers.
- Proven practical knowledge and regular application of design patterns and SOLID principles.
- Ability to independently solve problems related to build processes, continuous integration, and release configurations.
- Advanced knowledge of version control systems (Git, GitHub, Bitbucket), including complex branching strategies and integration workflows.
- Familiarity with Agile methodologies, Jira, and Confluence.
- Outstanding clarity and efficiency in communication, documentation writing, and architectural diagramming.
- Strong sense of ownership, urgency, and pride in delivering results quickly and reliably.
- Proven ability to multi‑task, set project priorities, and establish department/discipline goals and objectives for self.
- Computer literacy required; advanced skills in Microsoft applications (Excel, Word, PowerPoint, etc.).
- Strong attention to detail.
- Positive attitude, self‑motivated and eager to succeed.
Preferred Skills
- Experience developing for embedded Android environments with strict performance constraints.
- Familiarity with Android framework internals including NDK, JNI, HAL/HIDL, and Android Binder.
- Knowledge of additional languages or technologies such as C++, Python, JSON, YAML, XML.
- Additional UI/UX tooling experience (Adobe XD, Zeplin).
Physical Requirements
- Sitting, talking, hearing; frequently using hands to grip or feel; occasionally standing, walking, reaching with hands and arms, stooping, kneeling, crouching, or crawling.
- Vision and depth perception suitable for using a computer, printer, phone, and keyboard.
- Manual dexterity suitable for using a computer.
- Sufficient personal mobility and physical reflexes to work in an office setting.
- Ability to walk and/or climb 5% of the time comfortably, with or without reasonable accommodation.
- Ability to sit at a computer for 90% of the time comfortably, with or without reasonable accommodation.
- No travel required.
- Light to moderate lifting.
Working Conditions
- Must be comfortable working in an office environment with moderate noise levels.
- The working area is primarily an open office setting with reasonable lighting and controlled temperatures.
The above statements reflect the general details considered necessary to decide the principal functions of the job identified and shall not be construed as a detailed description of all work requirements that may be inherent in the job. Job incumbents are expected to perform other duties necessary for the effective operation of the position, department, or the business.