Job Title: Embedded C++ developer
Experience: 4-6 Years
Notice period: Immediate to 15 days
Location: Hyderabad
JD:
Responsibilities:
· Design
and develop embedded software solutions using C++ for real-time systems, IoT
devices, and embedded platforms.
· Collaborate
with hardware engineers, system architects, and software teams to define
software requirements, specifications, and system architecture.
· Implement
software designs, algorithms, and data structures for embedded applications,
focusing on performance, reliability, and efficiency.
· Write
clean, efficient, and maintainable code following coding standards, best
practices, and industry guidelines for embedded software development.
· Perform
unit testing, integration testing, and system testing of embedded software
components to ensure functionality, performance, and compliance with
requirements.
· Debug
and troubleshoot software issues, memory leaks, performance bottlenecks, and
system crashes in embedded systems.
· Optimize
software for memory usage, CPU utilization, power consumption, and real-time
responsiveness in resource-constrained embedded environments.
· Collaborate
with cross-functional teams on software/hardware integration, driver
development, communication protocols, and device drivers.
· Participate
in code reviews, design reviews, and technical discussions to share knowledge,
identify improvements, and ensure code quality.
· Document
software designs, specifications, test plans, and technical documentation for
embedded software projects.
Qualifications:
· Bachelor's
degree in Computer Science, Electrical Engineering, or related field.
· 4-6
years of hands-on experience in embedded software development using C++ for
real-time systems, embedded devices, or IoT applications.
· Strong
programming skills in C/C++ with knowledge of object-oriented programming (OOP)
principles, data structures, and algorithms.
· Experience
with embedded development tools, cross-compilers, build systems, version
control systems (e.g., Git), and debugging tools (e.g., GDB, JTAG).
· Knowledge
of embedded operating systems (e.g., FreeRTOS, Embedded Linux), RTOS concepts,
and bare-metal programming for microcontrollers and microprocessors.
· Familiarity
with communication protocols (e.g., UART, SPI, I2C, Ethernet, CAN), wireless
technologies (e.g., Bluetooth, Wi-Fi), and IoT protocols (e.g., MQTT, CoAP).
· Experience
with hardware interfaces, device drivers, sensor integration, and low-level
programming for embedded systems.
· Strong
problem-solving skills, analytical thinking, and ability to work independently
or in a team environment.
· Excellent
communication skills with the ability to collaborate effectively with
cross-functional teams, stakeholders, and project managers.
· Knowledge
of software development lifecycle (SDLC), agile methodologies, and embedded
software design patterns is a plus.