
C++ Sr. Software Engineer
at Our Client company is into Telecommunications. (SY1)


Must have Skilled and Should Currently have Hand-on experience:
- Programming Language: C, C++
- Operating System: Linux
- Debugging Tools: Valgrind / GDB - required
- Version Control: (Stash- nice to have) & (Git – Required)
- Build and Deployment: Bamboo – nice to have
- Operating System: Linux
- Experience: 5 to 8 years (Min. 4 years)
Email protocols: IMAP, pop, SMTP, etc
You can discuss the below job profile with the candidate before filtering them to the first round.
Role:
- Would be working on Development and Production Support of Email Mx Product which uses email protocols (POP, IMAP, and SMTP) developed on C, C++ technology on Linux Platform.
- Technologies they get to learn: C, C++, GDB, Valgrind, python (python to a certain extent).
- Protocols they get to learn: POP, IMAP, and SMTP and also any and every communication happening in Email Platform
- Source Control: Git, Stash
- Build and Deployment: Bamboo
- Operating System: Linux
- Debugging a Multicomponent – Multi-Threaded – Multi-Server Environment of a Live Product Deployed to Tier – 1 Customer.
- Opportunity for Improving CPU of exiting product.
- Opportunity for Memory optimization along with some good

Similar jobs

Job Description :
Position Name: Network Software Developer
Experience: 4 to 8 Years
Work Mode: Work from Bangalore office (near Bellandur) all 5 days.
Mandatory:
- 4+ years of work experience in Networking domain.
- Highly proficient in C and Linux environment.
- Experience in working on Linux based large code base.
- Hands-on experience in working OpenWrt based router firmware.
- Hands on experience with IP and lower layer networking protocols.
Great to Have:
- Experience in working on Qualcomm and MediaTek chipsets.
- Experience in Linux device drivers and device trees.
- Experience in creating and applying Linux kernel patches.


Job Summary
We are seeking a highly skilled and motivated Linux Device Driver Engineer with strong C/C++ programming skills and hands-on experience in Linux driver development. The ideal candidate will have a proven track record of working with kernel modules and hardware interfaces, and be comfortable debugging and optimizing low-level system software.
Key Responsibilities
- Porting existing Linux device drivers to new platforms, SoCs, and kernel versions.
- New driver development for custom hardware components and peripherals.
- Debugging kernel and driver-level issues using industry-standard tools.
- Integration & bring-up of hardware with Linux-based systems.
- Collaborate with hardware teams to interpret specifications and enable device functionality.
- Optimize drivers for performance, reliability, and resource efficiency.
- Write clear technical documentation for driver APIs, design, and integration steps.
Required Skills & Qualifications
- Bachelor’s/Master’s in Computer Science, Electronics, or related field.
- 4 to 8 years of professional experience in software development.
- Strong proficiency in C/C++ programming and memory management.
- Hands-on experience with any Linux device driver (character, block, network, USB, PCIe, I2C, SPI, etc.).
- Good understanding of Linux kernel architecture, module programming, and build systems.
- Knowledge of interrupt handling, DMA, and device tree configuration.
- Familiarity with cross-compilation and embedded Linux toolchains.
- Experience with debugging tools (GDB, ftrace, perf, printk, etc.).
- Version control experience (Git).
Preferred Skills
- Exposure to multiple driver types (networking, storage, multimedia, etc.).
- Experience with Yocto, Buildroot, or similar embedded Linux environments.
- Knowledge of real-time Linux and RT patches.
- Scripting knowledge (Python, Bash) for testing and automation.
Soft Skills
- Strong analytical and debugging skills.
- Good communication and collaboration abilities.
- Ability to work independently and take ownership of deliverables.

Job Description – Android AOSP Developer
Job Title: (Senior) Software Developer
Location: Remote
Job Summary:
TechGrit India is seeking a highly skilled Android AOSP Developer with 5-8 years of experience to join our team. This is an immediate requirement. The successful candidate will be responsible for designing, developing, and maintaining high-quality software products that meet the needs of our customers. This role will work closely with other members of the development team to ensure that software solutions are delivered on time and within budget.
Key Responsibilities:
- Develop software applications using C++ and other programming languages as needed
- Write clean, efficient, and maintainable code that meets the requirements of our customers
- Design, develop, and maintain software systems, components, and libraries
- Collaborate with other members of the development team to ensure that software solutions are delivered on time and within budget
- Participate in the testing and debugging of software applications, and provide support to the quality assurance team as needed
Requirements
- Bachelor's degree in Computer Science, Engineering, or a related field
- 5+ years of experience in software development using C++ in a Linux/Ubuntu environment
- Experience working with Android AOSP code base.
- Strong understanding of object-oriented programming concepts and design patterns
- Strong analytical and problem-solving skills, with the ability to identify and solve complex technical problems
- Strong communication skills and the ability to collaborate effectively within a team.
- Bachelor's degree in Computer Science, Information Technology, or related field (preferred, but not mandatory).
Developers with these skills will excel in this role:
- C++ in a Linux/Ubuntu environment
- TCP/IP networking and protocols
- Multi-process Multi-threaded environment
- High performance, High Availability server software
- Video H.264 encoder/decoder
- Android, iOS, Linux client-side app development ( C++)
About TechGrit:
TechGrit is a custom software development services company dedicated to accelerating business growth through high-performing Agile teams. We specialize in delivering diversified and unique solutions across various industries, including ConstructionTech, HealthTech, FinTech, and HighTech. Our team of champion developers works closely with clients to design and develop custom software solutions that meet their business needs.
Our Mission:
To deliver high-quality and cost-effective software solutions that help companies and entrepreneurs achieve their goals and stay ahead of the competition.
Our Vision:
To be the most trusted technology partner for our customers, accelerating their business growth through innovation, reliability, and excellence by best-in-class people.
Our Core Values:
- Customer Obsession
- Excellence
- Innovation
- Teamwork
- Integrity
- Empathy
Join TechGrit and be part of a team that values innovation, excellence, and teamwork. We are committed to creating an inclusive environment where all employees feel valued and respected. If you are passionate and want to contribute to our mission and vision, we would love to hear from you.


Developer Software (Embedded)
Location: Udaipur
Qualification: BE in (Electrical/Electronic Engineering)
Technical
· Experience in design and development with structured Software Development Life Cycle for embedded applications
· Proficiency in C language or assembly programming, Microcontroller, Micro Processor.
· Preferably experience in working and understanding the metering domain
· Proficiency in development processes, tools/IDE (KEIL, IAR, Eclipse) & test automation
· Unit testing skill
· Interface RS485, RS232, SPI, I2C, USB, LCD, Keypad, Flash, EEPROM
· Coding Standards and MISRA rules are preferable
· Knowledge of ARM / MIPS / Coldfire / MSP430 / dsPIC / 8051 and other popular processor
· Experience in working on communication products based on GPRS, ZIGBEE, ZWAVE, Ethernet, Power line communication, DLMS, MODBUS
Job Description
· Understand improvement requirements and develop improvement solutions & package, according to technical specifications / high-level solution design
· Responsible to carry out effective and timely unit testing, in order to, deliver first time right solutions
· Development of automation framework/compiler / emulators to speed up business delivery cycle in NPI programs
· Keep track of new trends, continuously learn and self-develop skills by ensuring effective knowledge sharing through group meetings and training. Impart training to new joiners as and when assigned
· Proficiency in developing embedded software design with high reusability using relevant tools and BSM or flow diagram

Software development for video streaming solutions. The position is for a developer role who will translate functionality building blocks and components into to software code, integrate the functional components in the architectural framework. The position will be responsible for complete software development including requirements analysis, design, implementation, unit test, integration. Expert in C++, C#, Network protocols like TCP/UDP, design patterns and principles. Hands on with network protocols in C#. Understand cloud technology.
Strong debugging skills. Video streaming hands is preferred. Video Management solutions (VMS) hands on is big plus. It requires closely working with SMEs/ domain experts. Responsible for algorithm development, programming, unit testing, implementation, documentation, maintenance and support of systems software’s in adherence with Industry standards, processes and best practices. Develop high quality, secure, scalable software solutions based on technical requirements specifications and design artifacts within expected time and budget. Assist team members in the development of applications, components, system to system interfaces and complete software solutions. Collaborate with cross-functional teams to determine functional and non-functional requirements for new software or applications Collaborate with SMEs, domain experts, quality assurance and end users to produce cutting-edge robust software solutions Develop product specifications with attention to safety criticality, robustness & reliability, extendibility & flexibility Evaluate existing software solutions to identify areas for improvement, modularization Design and documentation of evolving architecture in terms of UML diagrams, architectural diagrams, state-machines, flow-charts etc. Code implementation, debugging and unit testing
Work with project team to meet scheduled due dates, while maintaining the software quality. Assistance in testing activities as per standard V&V practices and Quality Assurance Maintain thorough documentation of software artefacts as per software development guidelines for moderately-complex projects. Actively look for opportunities to enhance standards and improve process efficiency.
Skills
- Minimum 5+ years of proven experience as software engineer.
- Strong in Network protocols, OOPS concepts and data structures.
- Familiarity with application software development as well as embedded software development
- Experience in software development and coding in various languages (C, C++, C#)
- Excellent knowledge of software and application design, architectural styles and design patterns, architecture tradeoff analysis
- Proficient understanding of any one of code versioning tools (Git, SVN, and Mercurial)
- Familiarity with formal change control and support processes (JIRA, BitBucket, Scrum etc.)
- Understanding of V&V approaches and software quality assurance principles
- Experience with service-oriented architecture (SOA), and cloud technologies would be an added advantage
- A technical mindset with great attention to details, innovation
- Good analytical, communication and presentation skills
Key Shared Accountabilities
Customers: Competence to build and effectively manage interpersonal relationships at all levels with different clients and vendors.
Business Team: Work Closely with business team to understand the needs and deliver by maintaining harmonious relationship.
Desired Behavioural Values
- Commitment to common purpose and goals
- Seating respect on the table
- Displaying Integrity and Ethic
- Taking initiative and ownership
- Being passionate about making a difference
- Constant networking with thought leaders, analyst & special interest groups.
- Collaborate with SMEs, domain experts and quality assurance to produce cutting-edge robust software solutions.
- Dreamer, Creative, Passionate & self-motivated & self-starter
- Actively listen to others and demonstrate understanding of other points of view.
- Showcase likeliness to adjust to changing conditions or priorities.
- Take the initiative to identify, work on problems proactively and lead by example.
- Consistently provide ideas, opinions, or information in a professional way.
- Understand IP & trademark policies and actively promote safe practices in projects.

Role & Responsibilities
- Strong proficiency in C++ with minimum 2 years of Development
- Knowledge of the STL, containers, algorithms and data
- Good understanding on Design patterns and memory
- Familiarity with debugging tools, such as Valgrind, winDBG, WireShark is an additional advantage.
Desired Experience
- (2-6 Years) of Experience as C++ Developer


Position Overview:
This position is part of highly skilled fimrware team that do software board bring up of bare silicon for next generation products. In order to write system software for embedded electronic products, this position requires academic background in electronics engineering to understand hardware concepts such as digital logic, schematics, and microprocessor communications to develop effective embedded software.
Candidate should have complete knowledge of Software development cycle from architecture definition to the implementation.
Responsibilities:
- Must wear multiple hats from analyzing field and factory reported issues to software integration.
- Be a liason for troubleshooting and debugging complex systems and identifying the root cause.
- Develop detailed design documents and customer facing application notes for the system and IOT features for Mobile routers.
- Act as a product lead and be part of bigger team in software bring up.
- Ability to work on Low level software such as bootloaders and understanding of low level functional blocks is a must.
- Work on Linux kernel and configuration.
- Write or port device drivers for Ethernet, USB, GPIO, LED, Bluetooth, Accelormeter, LCD and touch screen.
- Debug stability issues in data routing between WAN and LAN interfaces.
- Work with Software QA with test plan and execution.
- Work with Hardware team to identify and root cause stability problems.
Experience/Requirements:
- Demonstrable knowledge of C, C++, Assembly programming skills
- Overall 10+ years of experience in embedded environment preferabily Linux.
- Board bring up proficiency with bootloaders and other low level software, must be very good with debugging techniques.
- Experience in TCP/IP networking is must for trouble shooting throughput and other traffic issues.
- Driver experience with I2C, SPI, UART, LCD, Ethernet, PCIe is a plus.
- Experience with low level debugging using JTAG.
- Experience with Makefiles, and build environments such as PTXDIST, Yocto and Buildroot.
- Experience with version control such as git and svn.
- Good communication skills and team player.
- Ability to work independently and autonomously to meet deadlines, in a fast-changing environment.
Education:
Bachelor in Electronic and Communication or related degree

Xfinito is building a portfolio in new product innovation, product contribution and infrastructure goals while providing individuals and teams the freedom to emphasize specific types of work.
Our work focuses on real –world problems that span the breadth of biomedical engineering, embedded systems, computer science, such as machine and deep learning, data mining, natural language processing, hardware and software performance analysis and much more.
JOB ROLE: EMBEDDED SYSTEMS ENGINEER
ROLES AND RESPONSIBILITIES:
- Work with multi-disciplinary engineering team and customer to identify and recommend hardware needs and requirements for project/product.
- Modify or assist in the development of software architecture and design for new products, prototype, or re-design, including sourcing build environments and writing technical support and control documentation.
- Read Block Diagrams and detail circuit schematics and layout of proposed or existing hardware and assess the software and driver requirements.
- Participates in cross-divisional Edge IoT projects and/or proposals.
- Develop, oversee, and document automated tests for electrical hardware design and products as well as final operating drivers and systems.
- Evaluate and investigate product failures, and recommend repair or design modifications based on specifications, cost, resources, and risks.
REQUIREMENTS:
- Ability to creatively approach challenges and cleverly solve difficult problems.
- Ability to independently identify daily design and customer support tasks, self-start and motivate.
- Ability to manage several projects and prioritize appropriately, with minimal supervision.
- Ability to work in a collaborative team environment as well as independently.
- Ability to learn and work in virtual environments (CAD & Hardware build packages) in-which candidate’s skills are low but persevere and overcome skill gaps autonomously.
- Some experience programming with embedded systems designs and multithreaded real-time operating systems is required.
- Solid programming experience. Preferably in C or C++, .NET, and Java programming languages.
EXPERIENCE:
We as a team are looking for freshers or young professionals with (0-4 years of experience) passion and eagerness to create scalable and optimized software systems and execute complete embedded software development lifecycle.

- Product and Application Development in C.
- Develop and debug Applications and Firmware in/for Embedded Linux Environment
- Design and development of real-time, multi-processor / multi-controller systems.
- Module-level design with proper software design practices
Required Qualifications:
- 4+ years of C development AND Linux experience
- Linux user space and kernel space programming experience
- Linux system programming
- Work experience with 8 / 32-bit microcontroller programming
- Experience with CAN, MODBUS, and high power systems software development.
- Source revision control (git, svn)
- Degree in Computer Science from a reputed institution
- Linux command line and development tools (e.g. shell script, Make, CMake, GDB, and GNU development tools)
Preferred Qualifications:
- Exposure to a full product development cycle.
- Programming experience in an object-oriented language (C++)
- Programming experience in a high-level language (e.g. Python)
- Knowledge of common Linux system calls, kernel interfaces, Linux device drivers, and configuration.
- Exposure to multi-processor product architecture.
- Experience in open source components and libraries (e.g. libxml, glib, qt, dbus, OpenSSL, curl, etc)
- Experience with Level2 AC EV chargers and/or DC fast chargers.
- Experience OR Knowledge with standards ISO 15118-2
- Add "8 bit / 16 bit / 32 bit microcontroller experience, specially ARM"


