Software Engineer - Model Based Development
at Information Technology & Services
QUALIFICATIONS: B.E./ B.Tech. (Electronics/ Electrical/ Mechatronics/ Mechanical)
EMPLOYMENT: Permanent / Full Time
LOCATION: Ahmedabad
EXPERIENCE: 1 to 3 years within automotive industry / software development.
ROLES AND RESPONSIBILITIES
- Develop, Debug simulink/stateflow models according to functional, technical requirements, MAAB guidelines.
- Derive software requirements from system level requirements and establish bi-directional traceability within the models and generated code.
- Generate Code from developed models, generate test vectors, automate tests and document code reviews, test results.
- Automate the data exchange flow between MATLAB models, excel sheets, code testing using m-scripts.
SKILLS AND EXPERIENCE
- Experience in model based development and testing using Mathwork Tools such as MATLAB/Simulink, Stateflow, autocode generation tools Embedded coder or TargetLink.
- Good understanding of the Automotive software development cycle and tool chains
- Should possess a good understanding of C coding, m-scripting, with good debugging and software testing skills.
- Experience in developing MATLAB/ Simulink models from scratch for automotive applications.
- Should have experience in requirements management, and be able to write test cases from them.
- Experience in MBD testing such as MIL/ SIL/PIL.
- Good communication skills in English and Hindi Language.
- Experience in MATLAB verification and validation toolbox like Simulink Design Verifier, Simulink Test, Simulink Coverage is advantageous.
- Basic understanding of Control System Design and Electric Vehicles is a plus.

Similar jobs
Responsibilities:
- Design and implement embedded software applications for IoT devices using C programming language.
- Develop and maintain firmware for Raspberry Pi-based systems, ensuring optimal performance and compatibility with various IoT sensors and peripherals.
- Collaborate with hardware engineers to define and document system requirements and specifications.
- Conduct thorough testing and debugging of embedded software to identify and resolve any issues or bugs.
- Optimize code and improve system performance to enhance the overall user experience.
- Stay updated with the latest industry trends and technologies in embedded systems and IoT development.
- Work closely with the product management team to translate customer requirements into technical specifications.
- Provide technical support and guidance to the team during the development and deployment phases.
- Participate in code reviews and contribute to the continuous improvement of software development processes.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- Strong proficiency in C programming language with a solid understanding of embedded systems.
- Experience developing software for Raspberry Pi or similar single-board computers.
- Knowledge of IoT protocols and technologies such as MQTT, CoAP, TCP/IP, and wireless communication (Wi-Fi, Bluetooth, etc.).
- Familiarity with various sensors, actuators, and electronic components commonly used in IoT devices.
- Solid understanding of software development methodologies and version control systems (e.g., Git).
- Strong problem-solving skills and the ability to debug complex issues in embedded systems.
- Excellent communication and teamwork skills to collaborate effectively with cross-functional teams.
- Prior experience in developing IoT applications or working on IoT projects is a plus.
At BrainAlive, we develop next-generation BCI technologies that transform how humans use biosignals. We build devices and systems that allow you to develop a crisp, conscious understanding of your physiology, especially relating to your cognitive and emotional abilities. With a mission is to become the innovation leader in the area of Brain-Computer Interface (BCI), we are building our reputation as the industrial powerhouse in BCI applications in the education and healthcare space.
Role - Embedded Firmware Engineer – II (Brain-Computer Interface)
As an Embedded Firmware Engineer at BrainAlive, you will have the opportunity to pioneer, develop and build out our footprint in consumer hardware. You will build and launch smart BCI wearables and other related products in line with BrainAlive's ambitious and visionary objectives. Your primary focus will be to enhance the efficiency, stability and scalability of hardware system resources. We need you to be versatile, display leadership qualities and be enthusiastic to take on new problems as we continue to push technology forward.
- Develop codes for utilising various hardware and capabilities built into a microcontroller, such as ADCs, timers, RTCs, power-saving and sleep modes, etc
- Perform debugging and provide technical support to the service team
- Participate in requirements analysis and collaborate with internal teams to produce firmware design and architecture
- Revise, update, refactor and debug code
- Drive peer reviews and peer testing across different modules developed
- Develop documentation throughout the product development life cycle
- Serve as an expert on applications and provide technical support
Required Qualification
- Bachelor Degree in Electronics / Electrical Engineering or Computer Science or related field
- 3+ years of experience in Microcontroller programming
- Experience in developing codes for the effective functioning of communication protocols such as UART, SPI, I2C, etc.
- Experience with hardware debugging tools and interface like JTAG, SWD
- Experience with BLE and USB protocols
- Highly experienced in developing and debugging in embedded C/C++, RTOS
- Product development experience with 32-Bit STM ARM Microcontroller Architectures
- Familiarity with source control management software (SVN, Git)
Preferred Qualification
- Experience at handling huge codebases and designing of multi-layered architectures
- Experience in optimisation of Microcontroller codes for specific goals like power efficiency, very low response times, memory space optimisations.
- Deep understanding of microcontroller's architecture and its working
- Experience in prototype bring-up and debugging, functional verification and manufacturing support
- Prior Brain-Computer Interface Device development experience
- Excellent troubleshooting and communication skills
FURIOUS FOX is looking for Embedded Developers with strong coding skills in C & C++ as well as experience with Embedded Linux.
Experience : (Minimum 7-10 yrs)
• Experienced in edge processing for connected building / industrial / consumer
appliances / automotive ECU
• Have a good understanding of IoT platforms and architecture
• Deep experience in operating systems eg: Linux, freeRTOS / kernel development/device drivers.
/ sensor drivers
• Have experience with various low-level communication protocols, memory devices, messaging
framework etc.
• Have a deep understanding of design principles, design patterns, container preparations
• Have developed hardware, OS abstraction layers, and sensor handlers services to manage various BSP, os standards
• Have experience with Python edge packages.
• Have a good understanding about IoT databases for edge computing
• Good understanding of connectivity application protocols and connectivity SDK for Wi-Fi and BT / BLE
• Experienced in arm architecture, peripheral devices and hardware board configurations
• Able to set up debuggers, configure build environments, and compilers and optimize code and performance.
Skills / Tools:
• Expert at object-oriented programming
• Modular programming
• C / C++ / JavaScript / Python
• Eclipse framework
• Target deployment techniques
• IoT framework
• Test framework
Highlights :
• Having AI / ML knowledge in applications
• Have worked on wireless protocols
• Ethernet / Wi-Fi / Bluetooth / BLE
• Highly exploratory attitude
• willing to venture in and learn new
technologies.
• Have done passionate projects based on self-interest.
- 32-bit Microcontroller knowledge is essential (ARM Cortex based micro-controllers (STM32).
- Esp32 architecture knowledge is essential.
- Strong experience in C, C++, Free-RTOS
- Strong experience in CUBEMX IDE, MDK Version 5 – Keil, Arduino IDE environment
- Good knowledge in HW and communication protocols like CAN, SPI, UART, I2C, USB
- Good knowledge in TFT Displays and Sensors is added advantage
- Good knowledge of implementation of motor controls as required, pulse width modulation schemes (PWM).
- Good knowledge of power electronics (TRIACs, MOSFETs, IGBTs, gate drivers) and require protections (Over/under voltage/current).
- Document firmware designs, specifications, test plans, revisions and produce test reports
|
Role: Senior Firmware Engineer Experience: 2-6 years Work Mode: Work from Office Location: Hyderabad Notice Period: Immediate to 30 days Mandatory Skills: Embedded C Programming, Debugging, Configuration Management Budget Range: As per Market Standards · The ideal candidate is a self-motivated, multi-tasker, and demonstrated team-player. · You will be an individual contributor responsible for the development of new software products and enhancements to existing products. · You should excel in working with Application (ASW) and Base software (BSW) components and have outstanding communication and leadership skills.
· Understand & Review System Requirements, System Architecture · Participate in CFT Meetings for Requirements Clarity · Develop & Enhance Software Requirements · Develop & Enhance Software Architecture · Understand / Review / Change Software Design Documents · Writing clean, high-quality, high-performance, maintainable code · Participate in Software Code Reviews · Review Test Scenarios developed for SWE4, SWE5 and SWE6 · Perform Investigation and provide Root Cause Analysis for failures · Support test and deployment of new products and features
· Embedded C Programming · Excellent Debugging skills · 16-bit or 32-bit Micro Controllers · Ability to interpret circuit and schematics · Knowledge of CAN and LIN communication protocols and UDS diagnostics · Knowledge of Sensors, Motors, and Closed Loop Control · Knowledge of Memory and Timing Analysis · Experience in Configuration Management (SVN, IBM Rational, JIRA) · Experience in Debugging using CRO, Debuggers, CANalyzer / CANoe · Working knowledge of ISO 26262 Functional Safety requirements · Good exposure to End-to-End product development · Knowledge about Automotive Standards – ASPICE · Perform Safety Analysis and Impact Analysis based on ISO26262 recommendations · Exposure to CAPL, Python and LabView
|
DUTIES & RESPONSIBILITIES
- Own & lead full cycle development: design, implementation, testing & debugging for an automotive product.
- Create conceptual system designs, assess risks, conduct design trade studies, and develop a product that meets feature requirements for integrating sensor, processing and software systems.
- Lead innovative system development projects with responsibility for achievement of cost, schedule, and technical requirements, with an eye toward technology maturation, transition, and follow on work.
- Generate comprehensive engineering documentation.
- Responsible for end-to-end system firmware development to include power management, boot loaders, scheduling, RTOS and /or bare metal implementations.
- Troubleshoot and resolve complex software problems in embedded real-time systems.
- Source code development, review & maintenance (C/C++).
- Dive into & take ownership of critical design issues.
- Analyse & propose solutions for performance bottlenecks.
- Address all aspects of technology readiness, including manufacturability.
- Help build robust methodology and processes to deliver the technology to products.
REQUIRED SKILLS & EXPERIENCE
- Experience in embedded architecture, external interfaces, product constraints, along with ability to develop architectures / features that meet these constraints while providing new value for the platform.
- Experience in system architecture, operating system, device architecture, hardware design.
- Strong background in software methodology & full cycle development (Design, implementation, testing & debugging).
- Expertise in embedded microcontrollers’ architecture.
- Expertise in software designing and programming in C/C++ is a must.
- Algorithm modelling, benchmarking, implementation & digital signal processing.
- Understanding of hardware & software co-verification & emulation platforms
- Experience in understanding hardware, clock-level issues, bridges, delays, interrupts, clock gating, polling etc.
- Experience with lab instrumentation like oscilloscope, logic/ protocol for debugging embedded systems at HW level.
- Bachelors | Masters degree in Computer Science or Electronics & Communication engineering with 2-5 years of relevant experience is a must.











