C++ Embedded Developer
at AI First, New-age Technology Company for the Digital
Location:Bangalore / Chennai
Type: Permanent
Company Type: AI / Digital Product Design Service based
Job Description
* Experience in C/C++ and have strong experience embedded application development and integration in Linux
* Good in creating unit tests, performing code reviews, optimizing performance and ensuring standards for maintainability
* Debugging, profiling, and performance optimization skills
* Have experience working in a fast paced Agile/Scrum environmentSimilar jobs
We are seeking a highly skilled Embedded Systems Engineer to join our dynamic team focused on electric vehicle (EV) development. In this role, you will play a crucial part in the design, development, and optimization of embedded systems that power the next generation of electric vehicles. You will collaborate closely with cross-functional teams including hardware engineers, software developers, and vehicle integration specialists to deliver innovative solutions that meet the highest standards of performance, efficiency, and reliability.
Responsibilities:
- Design and build embedded systems, including embedded system firmware.
- Test and debug the firmware.
- Improve system efficiency and stability after development.
- Design models for embedded systems. 5. Design software flow for embedded systems.
- Design State Machines for robust system design.
- Simulating control algorithms.
- Generate Hardware requirements for Hardware design team.
Requirements:
- Fundamental understanding of Digital, Embedded and Control systems (Linear and Non-linear).
- Proficiency in working with communication protocols like SPI, I2C, CAN etc.
- Significant programming experience in embedded C.
- Have hands on experience in different integrated development environment (IDE) for TI,NXP, STM controllers.
- Have worked with the likes of TI, STM32 and NXP S32K series of Microcontrollers.
- Have experience in implementation of embedded OS viz. Micro-Linux, RTOS/FreeRTOS.
- Have worked on 4G/2G based IOT systems, Bluetooth connectivity etc.
- Basic understanding of MATLAB/Simulink for System modelling.
- Understanding of implementation of embedded APIs, to be accessed by third party systems.
- Have understanding of working of arm-gcc type compilers.
- k) Have working knowledge of git tool chain for code documentation and code version control.
Education Level: B.Tech in Electronics and Electrical Engineering / Computer Science Engineering or any other engineering field with relevant experience of project work.
Responsibilities of IoT Engineer
- To research, build, test, and document state-of-the-art IoT solutions with integrated electronics and firmware development.
- To develop local IoT device software that includes monitoring, execution, and self-healing processes.
- To design innovative IoT services that communicate with server-side technologies and develop MEAN stack solutions wherever necessary.
- To learn the functionings of and implement new state-of-the-art tools/techniques to showcase experience in quick prototyping methods and structured implementation.
- To design and develop platform solutions for cloud-to-edge IoT applications with customizable configuration abilities for deployment to different clients with different needs.
- To work with dynamic IoT, Computer Vision, and MEAN technology stack to find solutions to complex real-world problems.
- To plan and build efficient tools to optimize support QA, deployment, and support services.
Skills required to become an IoT Engineer
To become an IoT Developer, you must have the following skills:
- You should have hands-on experience in coding in multiple programming languages, including Embedded-C, Embedded C++, and Python.
- It would help if you had an in-depth understanding of Linux OS and its process management, device management, and connectivity features.
- You should be well-versed in embedded software architecture – prior experience in working with UML use-case diagram, class-diagram, and sequence diagram to accurately depict system architecture is highly valued.
- You should possess in-depth technical knowledge in working with 32-bit ARM cortex M3/M4 controllers.
- You should have prior experience in working with wireless stacks like Zigbee or Thread or BLE-Mesh.
- You should have expert knowledge and be proficient in writing business logic on embedded environments using test-driven methodology on RTOS and non-RTOS platforms.
- You should be proficient in communication protocols including I2C, SPI, 1-wire, UART, MODBUS, DALI.
- You must have excellent communication, problem-solving, and analytical thinking abilities.
Technical Lead (Embedded Software - Linux)
Job Responsibilities:
Lead a team of software/Linux development engineers working on microcontroller firmware development, Linux platform drivers and IOT solutions. Should be able to guide team members, resolve technical roadblocks and deliver project commitments. Will be the go-to person and first-level escalation point for all technical issues faced by the team. Looking for someone with 6+ years in the embedded industry and a passion to build a core team in a growing company. Team size will vary from 6 to 12 people, mainly firmware and Linux engineers.
The selected candidate for this role will be reporting to the software director/manager in the organization.
- Work with firmware and application architects to create a project execution plan
- Review project proposals for execution scope & timelines
- Lead embedded software development activities by the team
- Work with QA teams to resolve bugs and ensure release readiness
- Work with h/w design and PM teams to ensure smooth execution and timely delivery of projects
The main responsibilities of this role are:
Technical:
- Strong programming skills (C, C++, assembly)
- Linux development experience (porting & platform drivers)
- Expert-level knowledge of embedded microcontroller & microprocessor-based systems
- Prior experience in delivering critical modules for microcontroller projects
- Good understanding of commonly used embedded communication protocols
- Good understanding of common embedded peripherals, interfaces & sensors
- Experience working on Real-Time systems (RTOS)
- Should be able to quickly learn new technologies and enable the team on the same
- Should be able to work with minimal technical guidance
Leadership:
- This role requires excellent communication skills
- Strong analytical & problem-solving skills
- Should be able to lead junior engineers by providing technical mentoring
- Owns task division, task allocation and tracking within the team
- Require multi-tasking and time management skills
- Prior experience working with overseas clients
- Periodically report progress to management
Other desirable skills:
Knowledge of Python
Experience: 6 to 10 years
Post: Embedded Developer
SKILLS REQUIRED:
• Proficiency and Hands on Experience on Embedded C, various protocols such as I2C, SPI, RS232 etc.
• Testing and debugging of hardware and firmware
REQUIRED QUALIFICATION
• B.E. E&TC , Electronics
• Certification in Embedded System Development/Application
• Minimum 1 years of Experience in same domain
Domain Skills
Leads a team of Engineers for designing and architecting next generation platform solutions for clusters/Interior monitoring systems
Architecting the design for new features and technologies for Platform.
Expertise in programming using C, C++ and good understanding of OOAD & UML
Capable of analyzing HW schematics to realize the SW requirements.
Support and resolve issue resolutions and clarification for cross-functional teams.
Support team lead and project manager at program level in resolving open issues
Technical Skills
Expertise in memory management (eMMC, NAND)
Design, Develop and test device drivers in Linux/Android/QNX platform.
Multithreaded programming, usage of IPCs, Interrupts & synchronization methods.
Expertise in using the communication protocols (I2C, SPI & UART) in the device driver.
Expertise in handling Device Tree based configurations.
Strong C & C++ programming skills, OOPS concepts
Linux Architecture knowhow
Strong in software development for real-time embedded systems
Experienced in Design/Architecture Tools like EA
Expertise in SCM Tools like GIT/GERRIT
Ability to create and review changes for Gerrit and participate in a continuous integration loop
Ability to create/understand the build infranstructure using CMake for the middleware components
Experience in Unit test tools like cppunit, gtest.
Know-how and experience of SAFe/Agile Development
Knowledge in Automotive Safety Standards and Processes (ASPICE).
Logical, Analytical and Debugging/Problem-Solving skills
Qualifications
B.E/B.Tech in Computer Science with hands on with Embedded software development on RTOS
Benefits of choosing us…
- Growth Opportunites (Our first priority is a team)
- Paid Overtime (125%), Incentive, Bonus & Gift Provision
- Very Flexible & Friendly work environments
- Work-life balance (taking leave, office timing, *working from home)
- Growth Opportunites (Seriously, We believe in WIN-WIN)
- Months last week (Restaurant, Movies, Fun Activities)
OmnixOne is a Research and Development company, our vision is to create a world free of resource scarcity, so people can have more time for innovation/big things instead of fighting daily life problems. Wanna be part of this great journey, Come with us!
Prerequisites
- We are looking for a person who is really interested in & enjoys technology, is Passionate about Innovation, and Can go the extra mile for perfection.
- Behavioral Attitude: Must be a Quick learner / Highly Dedicated / Responsible person
Require Person: 5
Job Type: Full-time
Office Timing: 9:30 to 6:30
Expected Start Date: ASAP
Fresher Salary: 3,000 to 15,000
Experience Salary: 10,000 to 45,000
Location: Must be from Surat, Gujarat
Below are the skills we are looking for in a candidate.
- Strong hands-on C/C++, Embedded System Development
- Hands-on experience on ESP-IDF, STM32CubeMX, Embedded Linux, RTOS
- Good to have Python, Shell/Bash Scripting, Toolchains
- SPI, I2C, UART, RS485, CAN, and hardware subsystems
- Hardware and IoT / IT Communication protocols knowledge
- Problem-solving and analytical skills.
- Familiar with Standards (SOLID Principles, OOPs, Misra C, etc)
- Schematic / PCB Designing verification
- Ability to trace difficult problems using a variety of tools (debugger, JTAG emulator, logic analyzer, oscilloscope).
- Design, develop, code, test, and debug system software.
We are looking for Embedded software developers who will be responsible for designing, developing, optimizing, and implementing the software that is programmed into devices built around a processor/controllers. Candidates need to write code to solve problems and implement systems that make a physical hardware device work through software.
Thanks and Best Regards
Positions are open for PhDs/Master/Bachelors/Diploma candidates.
Solinas Integrity (www.solinas.in) is a leading water & sanitation robotics start-up founded by IIT Madras Alumni & professors to develop cutting edge solutions to solve the problems in water pipelines and sewer lines\septic tanks, thereby improving the lives of millions of people. Our core values start with trust, and respect for everyone and along with strong collaboration and communication. We believe in giving agency to our teammates and strongly pushing them towards developing a growth mindset.
Duties and Responsibilities:
- To develop and improve signal processing algorithms for analysis of acoustic signals with up-to-date knowledge on processing methods.
- Understand key acoustic algorithm functions, develop efficient code, verify performance and functionality.
- Exposure to all phases of software development life cycle (concept, design, implementation, test, and production).
- Propose innovations to improve performance, quality, etc.
- Work with peers to develop excellent, structured code, well-optimized and easily maintainable.
Basic Qualifications:
● Experience programming in either Python, C++, or MATLAB
● MS/PhD degree in Electrical/Electronics Engineering/ Signal processing
● At least 1 year of signal processing or related area
● Good analytical and problem-solving skills
● Good knowledge of signal processing techniques, basic knowledge of ML algorithms and good visualisation skills.