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
Similar jobs
Skills Required:
- Good experience with programming language Python
- Strong experience in Docker.
- Good knowledge with any of the Cloud Platform like Azure.
- Must be comfortable working in a Linux environment.
- Must have exposure into IOT domain and its protocols ((Zigbee & BLE ,LoRa,Modbus)
- Must be a good team player.
- Strong Communication Skills
- Have BE/MTech/MCA Degree in Computer science/ECE/Mechatronics or related field
- Expert in Linux kernel programming, Device drivers development experience and developing Board support Packages (BSP)
- Expert in C Programming
- Good knowledge on debugging the kernel issues and have good Hardware Diagnostics and Low level firmware experience is required along with writing assembly have you worked on C and CPP application development on linux?.
- Worked on UEFI BIOS programming and BIOS configuration
- Good to have Experience on ASPEED 2xxx SoCs and Networking SoCs experience such as BRCM / Marvell
Embedded c
C
Iso26262
Skills You'll Need
- At least 3 years of C++ programming experience in a Linux environment.
- Strong understanding of computer systems e.g. operating systems, networks, performance optimization, etc
- Experience in Object-Oriented design and multi threaded programming
- Experience in creating/supporting cross-platform multi threaded applications
- Strong analytical and problem solving skills
- Ideally some experience in developing low latency systems
- Experience with trading or execution systems preferred
- Bachelor's degree in Computer Science or Computer Engineering or related field
- Reliable and predictable availability
Ideally in Mumbai Metro Area but open to anywhere for the right candidate.
- C++, Unix/Linux, Oops Concept,
- Docker, Gtest
- database topics like Database DML/DDL, Joins
- Unix Commands, Shell Scripting, Make files, GDB debugger
- Agile/Scrum framework
- 6 to 8 years relevant experience on C++.
- C++ OOPS concepts (Inheritance, Polymorphism, Templates, Pre Processor directives, Exception Handling etc.…)
- Sound knowledge of Design patterns like Singleton, Visitor and Decorators.
- Knowledge of STL, String Operations and Boost libraries.
- Thorough understanding of containers like Arrays, List, Vector, Maps, Stacks and queues.
- Concepts related to Streaming, String functions, Type castings, Pointer references, virtual functions.
- Proficient in working with Docker, Gtest
- Should have good handson for database topics like Database DML/DDL, Joins,
- Database Advance –Procedure, Index, cursors, SP etc.
- Should have ability to work on Unix Commands, Shell Scripting, Make files, GDB debugger etc.
- Should be experienced with Scrum framework