As a Principal Android HMI Engineer, responsible for developing Android HMI Applications in Infotainment system and the delivery of the software for software Integration
You will analyze specifications, develop high level design, maintain traceability, review unit level code, and document the work on Harman product(s).
You will provide technical coordination in software development by understanding requirements for specific project/programs and will be guiding a team of engineers them on skill building aspects that are related to the project.
What You Will Do:
Responsible from requirement analysis till realization of the functionality in Android HMI domain.
Is responsible for multiple component ownership for Android HMI development
Will integrate features/libraries from other concepts/products.
Participate in design, development, verification, troubleshooting, and delivery of high-quality products.
Analyze existing embedded software to add features, make modifications, fix bugs, and/or port to different platforms.
Study and understand customer and internal specifications, architecture, and design documents for the system.
Develop component design document based on specifications and given SW architecture.
Understand the impact of design change on system functionality and performance.
Lead and participate in technical discussions across engineering and product teams.
Resolve inconsistencies in case of unclear technical requirements in the specification by direct communication with the responsible internal/external stakeholder.
Responsible for dependency identification for assigned features.
Assesses feature reusability between existing and new projects during project execution.
Develop unit tests for all new code.
Ensure pre-integration testing and verification for the functional area and its features.
Provide root cause analysis for issues, fix these issues, and verify effectiveness of given fixes for the software components delivered.
Assist PL/ Engg. Manger in PI & Sprint planning and back log estimations and deliver on commitments for Sprints.
Support in preparing schedule and effort to meet customer milestones
Ensure the process adherence of the work products.
Support in ensuring quality through effective design and code review.
Manage risk identification and risk mitigation strategies associated with the designed architecture.
Mentor team members to build domain knowledge.
Support the project and quality team to achieve automotive certifications like ASPICE.
Interface with customers to handle customer queries, concerns and change management requests
Coordinates software development activities with software team leader.
Develop and offer visibility on risk assessment for critical fixes.
Work with other domains for the resolution of dependencies on features and defects
Be up to date on latest Android features/concepts, automotive industry trends
Work with QA (Test teams) in defining the test-cases & test strategy.
Report status, issues, and progress of the SW development
Basic Qualifications:
Bachelor\'s degree in Computer Engineering, Electrical Engineering or equivalent.
Minimum 6+ years\' experience in Android Application development and integration on embedded platform in Kotlin & Java.
Good knowledge on Android system, components & Android middleware
Strong in native C/C++ programming
Proficient with communication interfaces like JNI, binder/AIDL/HIDL, MQTT, socket communication
Exposure to Multimedia domain: Experience in using multimedia frameworks. Experience with handling varied media sources, media content management and media playback scenarios.
Proficient in multi-threaded programming and middleware solution development on Android environment. Strong in fundamentals of IPC and OS concepts
Exposure to Android application framework
Strong experience in developing responsive applications scalable to different display resolutions
Experienced with Android music player, preferably Exoplayer
Good proficiency in MVVM, MVC, MVP models
Exposure with cloud interfaces including OAuth, REST APIs
Automotive knowledge will be a plus, though not mandatory.
Good debugging skills with android supporting tools e.g., logcat, ADB etc.
Experience in working with third-party libraries, APIs, and Android SDK
Good knowledge of Gradle and android make files. (Good to have)
Experience working in agile development environment.
Knowledge of UML state diagrams, sequence diagrams drawing ability, analysis.
Working knowledge of software development processes and process models such as CMMI or ASPICE.
Good experience working with tools like Gerrit/GIT, Bamboo, Bitbucket, JIRA, etc.
Desired Competencies:
Code Quality orientation, experience with unit, functional and automated regression testing
Experience in creating UI design in tools like Figma
Advantage having knowledge of automotive, audio, e-commerce domains
Resourcefulness in triaging technical problems and coordinating with multiple teams for issue resolution
Ability to work in a structured manner
Work proactive and independent with a positive attitude
Good verbal and written communication skills in English.
Self-driven and Innovative to drive continuous improvements in Design and Development process
Ability to work independently and contribute to project and team.
Excellent problem-solving skills.
Ability to connect the dots between own tasks and project/team deliverables and engage in technical discussions with other functions
Strong team player, ability to handle multiple projects and ability to mentor engineers.
HARMAN is proud to be an Equal Opportunity / Affirmative Action employer. All qualified applicants will receive consideration for employment without regard to race, religion, color, national origin, gender (including pregnancy, childbirth, or related medical conditions), sexual orientation, gender identity, gender expression, age, status as a protected veteran, status as an individual with a disability, or other applicable legally protected characteristics.
\xc2\xa9 2024 HARMAN International. All Rights Reserved. If you are using a screen reader and are having problems using this website, please call (800) 645-7484 for assistance.