英文口語精通 We are looking for a motivated and experienced Software/Firmware Engineer to join our team. As a Sr. Software/Firmware Engineer, you will be responsible for Managing Team, Grooming and Training Software/Firmware team members, designing and developing Software/Firmware components in close collaboration with engineers to make sure the final product operates seamlessly. You will have dual responsibility as individual contributor as well as managing team (In case of TL is absent) and work with cross functional teams. He and his team members will be responsible for Linux BSP and Android BSP and Application Development. Roles and Responsibilities ? Proficient Development Environment Setup: Proficiency in setting up development environments tailored for both Android and Linux platforms, including configuring Android Studio and Android SDK, establishing cross-compilation toolchains, and configuring debugging utilities to ensure optimal productivity for the development team. ? Advanced NDK Development: Adept at leveraging the Android NDK to craft performance-critical components and native code libraries, enhancing Android applications' functionality and efficiency. ? Kernel-Level Driver Development: Extensive experience in developing and integrating kernel-level device drivers and Hardware Abstraction Layer (HAL) modules, essential for seamless communication with hardware peripherals across Linux and Android environments. ? Power and Boot Timing Optimization: Deep understanding of power consumption optimization and boot time performance enhancements for Linux and Android-based systems, employing sophisticated techniques to streamline system initialization and power management processes. ? Customization of AOSP Source: Skilled in modifying and extending the Android Open Source Project (AOSP) to accommodate specific application requirements and OEM enhancements, ensuring a bespoke user experience. ? Seamless Linux Version Migration: Proficient in navigating the intricacies of migrating software systems between different versions of the Linux kernel, ensuring seamless compatibility and system stability throughout the transition. ? Source Code Management and Design Analysis: Proficient in utilizing Git for source code management, conducting meticulous design gap analyses to identify areas for improvement and drive architectural enhancements within software systems. ? ARM-Based Android Porting: Hands-on experience in porting Android to ARM core processors, optimizing system performance and compatibility across diverse hardware platforms. ? BSP Customization and Build root Expertise: Capable of customizing Board Support Packages (BSPs) and leveraging tools like Buildroot to construct tailored root filesystems for embedded Linux systems, facilitating seamless integration with target hardware. ? Socket Programming and Device Driver Development: Adept in socket programming and device driver development, ensuring seamless communication and hardware integration within software systems, fostering robust connectivity and functionality. ? Embedded OS Porting and Industrial Device Integration: Successfully ported operating systems to specialized devices such as Point of Sale (PoS) terminals, Note Taking Tablets, and Industrial HumanMachine Interfaces (HMIs), catering to diverse industrial and commercial applications. ? Strategic Requirement Analysis and Risk Management: Proficient in requirements analysis and project scoping, adept at drafting comprehensive proposals and providing accurate effort and cost estimations. Additionally, possess a keen eye for risk identification and mitigation, ensuring project success and adherence to timelines. ? Exceptional Debugging and Problem-Solving Aptitude: Armed with strong analytical skills, excel in troubleshooting complex software issues and devising effective solutions, contributing to the seamless operation and reliability of software systems. ? Security Hardening: Proficient in implementing security measures and best practices to harden the security posture of Android and Linux systems, including encryption, secure boot, access controls, and vulnerability management. ? Real-Time System Development: Experience in developing real-time systems and applications on Linux platforms, ensuring timely and deterministic response to critical events and tasks. ? Continuous Integration/Continuous Deployment (CI/CD): Familiarity with CI/CD pipelines and automation tools for seamless integration, testing, and deployment of software updates and releases. ? Performance Profiling and Optimization: Skilled in profiling and optimizing the performance of software systems on Android and Linux platforms, utilizing tools like Perf, Systrace, and custom performance monitoring utilities. ? Cross-Platform Development: Ability to develop cross-platform applications and libraries that run seamlessly on both Android and Linux environments, leveraging common codebases and shared libraries. ? Internationalization and Localization: Experience in internationalizing and localizing Android applications for global markets, ensuring compatibility with diverse languages, cultures, and regional preferences. ? Documentation and Technical Writing: Proficient in creating comprehensive technical documentation, including design documents, API specifications, user manuals, and release notes, to facilitate collaboration and knowledge sharing within development teams. ? Compliance and Regulatory Standards: Knowledgeable about industry-specific compliance requirements and regulatory standards applicable to Android and Linux-based systems, such as GDPR, HIPAA, and industry-specific certifications. ? Embedded Linux Distributions: Familiarity with various embedded Linux distributions (e.g., Yocto, OpenWrt) and their customization for specific hardware platforms and use cases. ? Open-Source Contribution and Community Engagement: Active participation in open-source communities and contribution to relevant projects, fostering collaboration and knowledge exchange within the broader developer community. ? Remote Debugging and Troubleshooting: Proficient in remote debugging and troubleshooting techniques, including remote debugging over SSH or ADB, to diagnose and resolve issues in distributed or remote deployments. ? User Interface (UI) Design and User Experience (UX) Optimization: Understanding of UI design principles and UX optimization techniques for creating intuitive and user-friendly interfaces in Android applications and embedded systems Required Skills Absolutely! Many of the skills and knowledge areas mentioned are applicable to POS (Point of Sale) system design as well. Here's how they relate: 1. Technical Skills: ? Programming Languages: Proficiency in programming languages like Java, Kotlin, or C/C++ can be beneficial for developing POS applications, depending on the platform and technology stack chosen. ? Android Development: If the POS system includes mobile or tablet-based terminals, knowledge of Android development would be relevant for building POS applications for these devices. ? Linux Development: For POS systems running on Linux-based terminals or servers, proficiency in Linux development would be valuable for developing software components, drivers, or customizations. ? Networking: Understanding network protocols and configurations is crucial for POS systems to communicate with backend servers, payment gateways, and other devices on the network. ? Scripting Languages: Knowledge of scripting languages can be useful for automating system tasks, configuration management, or customizing POS software. ? Security: Knowledge of security principles and practices is essential for securing POS systems, protecting sensitive data, and complying with industry regulations (such as PCI DSS for payment card security). 2. Soft Skills: ? Communication: Effective communication skills are important for collaborating with stakeholders, understanding requirements, and ensuring alignment between technical and business objectives. ? Teamwork: POS system development often involves cross-functional teams comprising developers, designers, QA engineers, and business analysts, requiring strong teamwork and collaboration skills. ? Problem-Solving: POS systems may encounter various technical challenges, such as integration with different hardware peripherals, compatibility issues, or performance optimization, requiring adept problem-solving skills. ? Time Management: Meeting project deadlines, prioritizing tasks, and managing project timelines are essential for successful POS system delivery. ? Adaptability: POS system requirements may evolve over time due to changing business needs, technology advancements, or regulatory requirements, requiring adaptability and flexibility from the development team. 3. Domain-Specific Knowledge: ? Payment Processing: Understanding of payment processing workflows, transaction handling, EMV standards, and compliance requirements for secure payment processing in POS systems. ? Retail or Hospitality Industry: Knowledge of industry-specific requirements, workflows, and best practices in retail or hospitality sectors, where POS systems are commonly used. ? POS Hardware Integration: Familiarity with integrating POS software with various hardware peripherals such as barcode scanners, receipt printers, cash drawers, and card readers. ? User Experience (UX) Design: Designing intuitive and user-friendly interfaces for POS applications to enhance user experience and efficiency at the point of sale. Qualification and Experience 1. Bachelor in Electronics or Electronics & Communication, Masters in with good academic’s results 2. 5+ Years ‘experience in top corporate