Embedded Firmware Engineer - Ahmedabad, India - Embrill Private Limited

    Embrill Private Limited
    Embrill Private Limited Ahmedabad, India

    1 week ago

    Default job background
    Description

    Job Purpose:
    To design, develop and implement tools and processes that help the team create high-quality, reliable code faster. This might include things like testing frameworks, automated testing scripts, etc that meets business needs.

    Scope:
    Designing, developing, coding, testing and debugging system softwareTo analyse and enhance efficiency, stability and scalability of system resources


    Key AccountabilitiesIdentify the client requirements and provide technical solution/ support to the customers regarding product issuesDesign embedded software for new electronic products ranging from simple microcontroller-based solutions to highly complex embedded processing systems.

    Lead smaller software embedded systems development projects – identifying required development activities and directing other team members in completing those activitiesCollaborate with team members, including hardware designers, to identify software related requirements and develop corresponding software design strategies or architecture that meets those requirements using the best approach based on performance, cost, and resourcesDevelop detailed software specifications based on requirements and implement embedded code in accordance with those defined requirements and/or specifications.

    Initiate to bring-up the new custom embedded processor hardware with support from hardware designersEstablish software verification testing tools and methods and execute software testing activitiesProvide software engineering input to development project quoting activitiesContribute to the improvement of department processes and tools, particularly those related to software developmentQualification and Skills4-year degree or equivalent experience in Computer Engineering, Electrical Engineering, Computer Science or a related engineering disciplineMust have advanced skill in developing original designs with Linux C/C++ in embedded environments including bare-metal, multi-threaded RTOS, and embedded operating systemsIntermediate knowledge of Linux device drivers, Linux Kernel Programming & debugging, Linux Kernel Internals design and developmentGood to have knowledge in Yocto / Buildroot or any other build systemGood to have experience of Board support package (BSP), Device driver and boot loader development/portingAdvanced understanding and experience in software development tools and methodologies used in the context of embedded systems.

    Familiarity with source control via established systems such as GIT, like oscilloscope, protocol analyser, emulator, signal generator, JTAG programmer, GIT, SVN, JIRACommunication Protocols such as SPI, UART, CAN, I2C, WIFI, and BluetoothAdvanced understanding of embedded software design and architectural concepts as well as the integration between firmware and hardware (RTOS application development)Specific experience with common microcontroller and/or embedded processing platforms such as ARMStrong understanding of software development tools and methodologies used in the context of embedded systems.

    Familiarity with source control via established systems such as GitDemonstrated skill in independently using electronics lab equipment to develop/troubleshoot low-level drivers and hardware integration for interfaces such as I2C, SPI, UART, USB, etc.

    Clear understanding of higher-level languages, object-oriented methodologies, user-interface implementation, and PC application programming.

    Experience with Qt framework is a plusStrong understanding of software test and QA tools and methodologiesUnderstanding of hardware schematic, datasheet of hardware component to derive firmware/software specific solutionExperience working with different embedded platform like microcontroller/microprocessor based on Texas Instruments, NXP, Microchip, ST Microelectronics, Espressif, Nordic etc.