


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
Seize an exceptional opportunity at Himachal’s leading R&D Tech company, with over seven years of establishment and recognized as one of the fastest-growing tech firms in the Himachal-Tricity region. As a proud participant in the Make in India initiative and a strong advocate for the 'Vocal for Local' movement, Vihaas is managed by local professionals. We are dedicated to innovation and excellence in technology development, fostering a unique, hierarchy-free environment that promotes creativity and collaboration.
Job Summary
Vihaas Design Technologies is seeking an experienced Embedded Developer with a focus on microcontroller-based systems for telecommunications applications. As part of our team, you will design, develop, and maintain embedded systems that integrate seamlessly with our advanced communication solutions.
Responsibilities
- Develop and optimize embedded firmware for microcontrollers, ensuring efficient performance and low power consumption.
- Write clean and maintainable C/C++ code for low-level microcontroller programming and peripheral interfacing.
- Implement drivers and manage communication between microcontrollers and external devices via I2C, SPI, UART, CAN, and other protocols.
- Develop and optimize Linux user-space applications for telecommunications and embedded systems.
- Integrate microcontrollers with sensors, actuators, and modules, ensuring smooth hardware-software interaction.
- Debug and troubleshoot using tools like oscilloscopes, and logic analyzers, resolving issues in hardware-software integration.
- Collaborate with hardware teams, optimizing firmware for resource and power efficiency in battery-powered devices.
- Work with RTOS or bare-metal systems as needed, ensuring real-time performance in embedded applications.
- Maintain code integrity through Git, manage repositories, and write comprehensive documentation for firmware architecture.
- Provide post-deployment support, including firmware updates and system integration.
Qualifications
- 3-4 years in embedded development focused on microcontroller systems.
- Proficient in C/C++ with experience in low-level programming and peripheral management.
- Solid understanding of microcontroller architectures (e.g., MSC-51, STM ARM Cortex-M, AVR, PIC) and peripheral interfaces (e.g., GPIO, ADC, DAC, PWM, Timers).
- Hands-on with communication protocols like I2C, SPI, UART, CAN, and real-time performance with RTOS or bare-metal systems.
- Strong debugging skills using hardware tools (oscilloscopes and logic analyzers).
- Knowledge of low-power design and firmware optimization for energy-efficient systems.
Note: Candidates should be prepared for an on-site interview upon selection.
Embedded Software - Linux
Job Responsibilities:
Linux development engineer working on microcontroller firmware development, Linux platform drivers and IoT solutions. Should be able to resolve technical roadblocks and deliver project commitments. Looking for someone with 2+ years in the embedded industry and a passion to grow along with the company.
Selected candidates for this role will be reporting to the software tech lead/manager in the organization.
- Embedded software development activities and Linux platform development.
- Work with QA teams to resolve bugs and ensure release readiness
The main responsibilities of this role are:
Technical:
- Strong programming skills (C, C++, assembly)
- Linux development experience (porting & platform drivers)
- Knowledge of embedded microcontroller & microprocessor-based systems
- Prior experience of delivering 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.
- Should be able to work with minimal technical guidance
Leadership:
- This role requires excellent communication skills
- Strong analytical & problem-solving skills
- Prior experience working with overseas clients
- Periodically report progress to manager.
Experience: 2 to 4 years


We are looking networking professionals with the following skill set,
Experience :6+ years of experience in the networking domain
Key skills:
- Must have 6+ years of experience in C/C++ programming language.
- Knowledge of Go programming language and Python programming language is a big plus.
- Strong background in L4-L7 Internet Protocols TCP, HTTP, HTTP2, GRPC and HTTPS/SSL/TLS.
- Background in Internet security related products such as Web Application Firewalls, API Security Gateways, Reverse Proxies and Forward Proxies
- Proven knowledge of Linux kernel internals (process scheduler, memory management, etc.)
- Experience with eBPF is a plus.
- Hands-on experience in cloud architectures (SaaS, PaaS, IaaS, distributed systems) with continuous delivery
- Familiar with containerization solutions like Docker/Kubernetes etc.
- Familiar with server less technologies such as AWS Lambda.
- Exposure to machine learning technologies and distributed systems is a plus

Talented C++ Developer who has experience in design, development, debugging of multi-threaded large scale application with good understanding in data structures on Linux packaging, functional testing and deployment automation very good with problem solving.
Key responsibilities :
- Understand fundamental design principles and best practices for developing backend servers and web applications
- Gather requirements, scope functionality, estimate and translate those requirements into solutions
- Implement and integrate software features as per requirements
- Deliver across the entire app life cycle
- Work in a product creation project and/or technology project with implementation or integration responsibilities
- Improve an existing code base, if required, and ability to read source code to understand data flow and origin
- Design effective data storage for the task at hand and know how to optimize query performance along the way
- Follow an agile methodology of development and delivery
- Strictly adhere to coding standards and internal practices; must be able to conduct review code
- Mentor and possibly lead junior developers
- Contribute towards innovation
- Performance optimization of apps
- Explain technologies and solutions to technical and non-technical stakeholders
- Diagnose bugs and other issues in products
- Continuously discover, evaluate, and implement new technologies to maximize development efficiency
Must have / Good to have:
- 5-7years' experience with C++ development and relevant 3+yrs in modern version 11/14/17 would be a plus.
- Design and implementation of high-availability, and performance applications on Linux environment
- Advanced knowledge of C/C++, Object Oriented Design, STL
- Good with multithreading and data structures
- Develop back-end components to improve responsiveness and overall performance
- Familiarity with database design, integration with applications and python packaging.
- Familiarity with front-end technologies (like JavaScript and HTML5), REST API, security considerations
- Familiarity with functional testing and deployment automation frameworks
- Experience in development for 3-4 production ready application using C++ as programming language
- Experience in writing unit test cases including positive and negative test cases
- Experience of CI/CD pipeline code deployment (Git, SVN, Jenkins or Teamcity)
- Experience with Agile and DevOps methodology
- Very good problem-solving skills
- Experience with Web technologies is a plus.
Read less

Job Title: C++ Buffer Developer
Location: Pune, India
Experience: 2-3 years
Salary: 8 LPA
Notice Period: 0-15 days
Job Description:
We are seeking a skilled and passionate C++ Buffer Developer to join our team in Pune. As a C++ Buffer Developer, you will be responsible for designing, developing, and maintaining high-performance buffer systems for our software applications. You will collaborate with cross-functional teams to analyze requirements, implement solutions, and ensure the overall quality of the software.
Responsibilities:
- Design, develop, and maintain C++ buffer systems to meet the requirements of our software applications.
- Collaborate with cross-functional teams, including software engineers, designers, and product managers, to understand project requirements and deliver high-quality solutions.
- Write clean, efficient, and maintainable code following best practices and coding standards.
- Conduct thorough testing and debugging to ensure the stability and performance of the buffer systems.
- Optimize and enhance existing code to improve overall system efficiency and performance.
- Participate in code reviews to provide and receive constructive feedback for continuous improvement.
- Stay up-to-date with the latest industry trends and technologies related to C++ programming and buffer systems.
- Document the design, implementation, and maintenance of the buffer systems for future reference.
Requirements:
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- 2-3 years of hands-on experience in C++ programming, specifically in designing and developing buffer systems.
- Strong knowledge of data structures, algorithms, and object-oriented programming principles.
- Proficiency in using C++11 or higher versions.
- Experience with memory management techniques and performance optimization.
- Familiarity with Linux/Unix environments and development tools.
- Good understanding of software development lifecycle and agile methodologies.
- Excellent problem-solving and analytical skills.
- Strong communication and collaboration abilities.
- Ability to work independently and handle multiple tasks simultaneously.
- Knowledge of network protocols and socket programming is a plus.
- Experience with version control systems (e.g., Git) is preferred.
If you are a talented C++ developer with a passion for buffer systems and want to contribute to the success of our software applications, we would love to hear from you. Apply now and join our dynamic team in Pune!
Note: The salary mentioned is as per the budget and may be subject to negotiation based on the candidate's skills and experience.
Skill Required
Technical
-
● The suitable candidate shall have most of the following knowledge /skills/experience:
-
● Clear fundamentals of Analog and Digital Electronics. Knowledge of Full Hardware
-
Design Life Cycle.
-
● Knowledge of Circuit Simulation (PSPICE, NI Multisim, etc).
-
● Hand- On experience with HW designing rules, PCB Layout in Cadsoft Eagle/Altium Designer etc.
-
● Should have knowledge & experience with designing & developing 8/16 bit Microcontroller based close loop control systems and Arduino Platform.
-
● Circuit building and Circuit Analysis Skills.
-
● Component Data Sheet analysis skills.
-
● Project Requirement Analysis Protocols/Ethernet, Wi-Fi, USB, Serial interfaces(SPI, I2C, RS485, RS422, RS232).
-
● Hands-on experience in utilizing test equipment like DMM, Oscilloscopes, Logic Analyzers, Function/Signal generator/Solder Station (SMD/DIP).
-
● Knowledge about Board Bring Up process.
-
● Testing (Integration testing, protocol/Driver testing, etc.).
-
● Experience in Embedded C programming and embedded system integration and can develop test cases for the same.
-
● Knowledge of IoT Open Source Programming / Development.
-
● Candidate will be responsible for research & development of M2M/IoT products.
-
● Candidate will be responsible for end-to-end embedded system integration.
-
Others
Abilities on the following shall be of added advantage:
-
● Component Procurement
-
● Vendor Interaction
-
● Tools Management
-
● Costing and resource estimation
-
● Team management, Good Communication Skills, Pleasant Personality, Positive Attitude & Highly Creative
-
-
Decision level
Contributory: Makes major contribution to decision or policy judgment on Technical matters of IoT/ M2M Projects, Vending MachinesDemonstrate (Key competencies)
Healthy knowledge of most of the following:
-
● Embedded C
-
● 8/16 bit Microcontrollers
-
● Atmel Studio/ Arduino IDE
-
● Schematic / PCB layout design in Cadsoft Eagle / Altium Designer (SMD/DIP)
-
● Hands-on experience on Test equipment and solder stations (SMD/DIP)
-
● M2M / IoT based development



Knowledge of Embedded system architecture such as memory hierarchies,vector
Processing.
Experience in resource /load sharing and synchronisation techniques for multi - core
processing.
knowledge of embedded processor internals.
Automotive domain Experience.



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.
- Bachelor’s degree in Electrical or Electronics Engineering with 1-3 years of relevant experience.
- Highly experienced in Embedded C, C++ coding as per MISRA standards
- Experience in firmware programming for 8 bit, 16 bit and 32 bit controllers.
- Knowledgeable in Linker Scripts, Make files & firmware debugging using JTAG or on the UART console.
- Experienced in Communication peripherals like SPI, UART, I2C, CAN, etc.
- Ideation, designing, prototyping, and developing as per product requirements.
- Expertise in system architecture and design for Embedded software systems.
- Develop modular Embedded Code to port into different projects.
- Experience on Real Time Systems and Scheduling mechanisms
- Development experience in "middleware" / “application” / Low layer.
- Experience with developing embedded code for networking technologies like TCP/IP and UDP would be a plus.
- Document state machine diagrams, flow charts to understand the system architecture
- Working closely with Design teams to understand Hardware Implementation.
- Develop Test methods, in some cases automated test cases to test the firmware code and support hardware engineers.
- Use Debuggers, oscilloscopes, power supplies, and other necessary electrical tools to debug the code for problem-solving.
- Excellent reading skills for complete understanding of technical documents such as Processor Architecture Specifications and MCU hardware manuals, schematics etc.
- Ability to generate ideas in response to complex issues and execute on solutions.
- Python programming is a big plus.

