About the job
Designs and develops embedded software programs for new ASICs. Trouble shoots and debugs for hardware and software issues. Develops software in real-time operating systems, security, network utilities, IoT and Internet-related tools. Determines hardware compatibility and/or influences hardware design. Applies advanced subject matter knowledge to solve complex business issues and is regarded as a subject matter expert. Frequently contributes to the development of new ideas and methods. Works on complex problems where analysis of situations or data requires an in-depth evaluation of multiple factors. Leads and/or provides expertise to functional project teams and may participate in cross-functional initiatives. Acts as an expert providing direction and guidance to process improvements and establishing policies. Frequently represents the organization to external customers/clients. Exercises significant independent judgment within broadly defined policies and practices to determine best method for accomplishing work and achieving objectives. May provide mentoring and guidance to junior-level employees.
Responsibilities
Leads multiple project teams of other software systems engineers and responsible for all stages of design and development for complex products and platforms, including solution design, analysis, coding, testing, and integration.
Manages and expands relationships with internal and outsourced development partners on software systems design and development.
Reviews and evaluates designs and project activities for compliance with systems design and development guidelines and standards; provides tangible feedback to improve product quality and mitigate failure risk.
Provides domain-specific expertise and overall software systems leadership and perspective to cross-organization projects, programs, and activities.
Drives innovation and integration of new technologies into projects and activities in the software systems design organization.
Provides guidance and mentoring to less-experienced staff members.
Designs and implements AI-driven enhancements within systems software to improve performance, diagnostics, and automation. Leverages machine learning models and data analytics to optimize system behavior, detect anomalies, and support intelligent decision-making across platforms and subsystems.
Qualifications
Minimum
Bachelor's or Master's Degree in Computer Engineering, or equivalent.
Minimum of 6 years’ experience.
Extensive experience with multiple software systems design tools and languages: Real-time embedded OS, C, and Python.
Experience to read the ASIC designs and understand them in detail.
Experience working with Simulator environments.
Excellent analytical and problem-solving skills – think outside the box.
Experience in overall architecture of software systems: Linux kernel drivers, Embedded Systems, Multi-threading.
Evaluating forms and processes for software systems testing and methodology, including writing and execution of test plans, debugging, and testing scripts and tools.
Excellent written and verbal communication skills; mastery in English and local language. Ability to effectively communicate product architectures, design proposals and negotiate options at senior management levels.
Preferred
Extensive experience with multiple software systems design tools and languages: Rust, Go
Experience working with Emulator environments.
Designing and integrating software systems running on multiple platform types into overall architecture.
Familiarity with core AI principles such as supervised and unsupervised learning, model training and evaluation, and algorithm selection. Experience applying AI to solve practical problems. Ability to integrate AI components into software systems and collaborate to deploy models in production environments.