QT Developer at crossware.io · Remote, Bengaluru (Bangalore), Pune, Hyderabad · 4 - 8 years · ₹5L - ₹15L / yr · Remote friendly · Posted 15 Nov 2021

Build new features, enhance existing functionality and fix issues in the Windows Desktop application.
Help develop and maintain UI component library (Windows, dialogs , complex widgets)
Advise and assist the other developers in the Desktop.
Skills required
- Very strong programming skills in UI development using Qt/C++
- A strong ability to think about components and modules as they relate to other components as part of a larger system.
- QML knowledge is a plus
- Cross platform application development knowledge is a plus, not mandatory
- A very strong attention to detail and the willingness to deliver pixel perfect UI according to the designs.
- Must have: Very strong in ModelView architecture
- Must have : In-depth C++, STL, and data structures knowledge
Desirable : Familiar with unit test frameworks like QtTest or Gtest
Desirable : Experienced with Agile methodology
Desirable : Knowledge in GIT or any other config management tool
Good understanding of object oriented techniques methodologies.
Good hands-on experience of C++ system programming and design.
Key Skills
C/C++, Qt, STL, Design, QML
Experience In product development is good to have

Similar jobs (10)
Key Responsibilities
1. Kernel Lifecycle & Maintenance
Upstream Alignment: Lead the strategy for upgrading enterprise kernels (e.g., migrating from LTS 5.15 to 6.6) while maintaining binary compatibility where required.
Patch Porting: Expertly port functional and performance patches between disparate kernel versions, resolving complex code conflicts and API changes.
CVE Mitigation: Monitor the Linux Kernel Mailing List (LKML) and security advisories to identify and backport CVE patches from upstream to production environments.
2. Deep-Dive Debugging & Stability
Panic Analysis: Act as the final escalation point for Kernel Panics and "Oops" messages. Utilize kdump, crash, and gdb to perform post-mortem analysis of vmcores.
Boot-Time Resolution: Debug critical failures during the early boot process (UEFI handoff, initramfs, and early kernel init) where standard logging is unavailable.
Performance Tuning: Use ebpf, ftrace, and perf to identify bottlenecks in memory management, scheduler latency, or I/O throughput.
3. Driver Development & Hardware Integration
Driver Ownership: Design, develop, or maintain at least one Open Source or Proprietary Device Driver (Network, Storage, GPU, or Character devices).
Hardware Abstraction: Interface directly with hardware registers, managing DMA mappings, and optimizing interrupt handling (MSI-X, Threaded IRQs).
Out-of-Tree Management: Maintain driver compatibility across kernel updates using DKMS or similar frameworks.
4. Infrastructure & Automation
Registry Management: Oversee the distribution of custom kernel builds and modules via GitLab Container/Package Registries.
CI/CD for Kernel: Build automated testing pipelines (Hardware-in-the-loop) to validate kernel stability before enterprise-wide deployment.
Required Technical Skills:
Languages: Mastery of C/C++ Programming (C is preferred)
Kernel Internals: Deep understanding of VFS, Memory Management (MMU/Paging), Process Scheduling, and Networking Stacks.
Debugging Tools: Expert-level use of kprobes, trace-cmd, valgrind, and hardware-level debuggers (JTAG/Serial Console).
Build Systems: Proficiency with Kbuild, Makefiles, and building RPM/Debian packages for kernel distribution.
Security: Hands-on experience with SELinux/AppArmor policy development and kernel hardening (FIPS, KSPP).

Candidate shall be responsible for the overall quality of the module that he/she is responsible
Candidate shall be responsible for requirement elicitation and architecture of the module for instrument cluster in a production program
Candidate shall help the PM/architect in estimation
What You Need :
Expertise in C++ for more than 6 years
Experience in Automotive is preferred
Understanding of CAN/LIN protocol
Experience with unit testing tool (GTest/ LDRA etc.)
Experience in design tools like Rhapsody is desirable
Job Description
Are you passionate about making a difference in people's lives through groundbreaking products and services ? Look no further! Protectol Health is a pioneering pharma-tech company with a holistic approach that spans conventional pharmaceuticals, nutraceuticals, nutrients, and business safety. Our dedication to the value of "Life matters" is not just a slogan – it's ingrained in every facet of our work culture and offerings.
With dedicated divisions in Pharma, Technology, Nutraceuticals, Nutriments, and Business Safety, we drive impactful research and development activities that redefine industries and touch lives. Our operational footprint extends across the GCC countries and India, allowing us to reach and transform communities on a grand scale.
If you're enthusiastic about creating a positive impact and wish to be a part of an organization that values and prioritizes lives, Protectol Health welcomes you. Join us in our mission to shape a healthier present and future. Your expertise and passion will find a meaningful home here.
Roles and Responsibilities
As an Embedded Firmware Engineer, you will be responsible for:
● Leading the firmware development for our product line of safety and medical devices.
● Designing, developing, testing, and maintaining embedded firmware.
● Collaborating with cross-functional teams to define software requirements, specifications, and architectures based on product requirements and industry standards.
● Implementing firmware solutions that comply with ATEX certification, IEC 61508, and Functional Safety (SIL standards) for devices used in hazardous locations.
● Conducting thorough testing and validation of firmware to ensure reliability, accuracy, and compliance with safety standards.
● Optimizing firmware for power efficiency and performance to meet the life of portable and battery-powered devices.
● Implement firmware algorithms for sensor calibration, data processing, and user interface interactions.
● Assisting in hardware-software integration, debugging, and troubleshooting to ensure seamless functionality of the devices.
● Collaborating with Quality Assurance and Product Validation teams to ensure the highest quality of firmware deliverables.
● Participating in code reviews and providing constructive feedback to improve code quality and maintainability.
● Keeping abreast of emerging technologies, industry trends, and advancements in embedded systems for continuous improvement and innovation.
Skills and Qualifications:
● Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, or related field.
● 3+ years of experience in embedded firmware development for portable and wireless gas detectors and docking stations.
● Proficiency in C/C++ programming languages for embedded systems.
● Hands-on experience with a complete product development cycle is an add-on.
● Experience with STM32/STM8/ MSP430 or any other low-power microcontrollers for the development of low-powered devices.
● Experience in reading and optimizing analog data in various types of ADCs.
● Understanding of ATEX certification requirements and compliance.
● Understanding and practical experience with Functional Safety standards (SIL2/3 standards) in the development of safety-critical systems is an add-on.
● Experience with coding standards. (eg: Misra-C) Familiarity with System architectures and communication protocols like I2C, UART, SPI, etc. Knowledge of sleep modes and low-power optimization techniques for battery-operated devices.
● Experience in developing and using custom segment LCDs (TN, STN, etc.) used in battery-powered ultra-low power devices.
● Experience with software development tools, version control systems, and bug-tracking systems. Strong analytical and problem-solving skills with attention to detail.
● Excellent communication and teamwork skills.
● Advantages for individuals who thrive in a startup setting.
Work Culture
At Protectol Health, we prioritize our diverse and talented team. We offer flexible work arrangements and resources for well-being to support our employees' personal and professional growth. By putting people first, we attract and retain top talent and drive innovation toward our mission of improving health and well-being
About us:
Arista Networks was founded to pioneer and deliver software driven cloud networking solutions for large datacenter storage and computing environments. Arista's award-winning platforms, ranging in Ethernet speeds from 10 to 400 gigabits per second, redefine scalability, agility and resilience. Arista has shipped more than 20 million cloud networking ports worldwide with CloudVision and EOS, an advanced network operating system. Committed to open standards, Arista is a founding member of the 25/50GbE consortium. Arista Networks products are available worldwide directly and through partners.
About the job
Arista Networks is looking for world-class software engineers to join our Extensible Operating System (EOS) software development team.As a core member of the EOS team, you will be part of a fast-paced,high caliber team-building features to run the world's largest data center networks.Your software will be a key component of Arista's EOS, Arista's unique, Linux-based network operating system that runs on all of Arista's data center networking products.
The EOS team is responsible for all aspects of the development and delivery of software meant to run on the various Arista switches.You will work with your fellow engineers and members of the marketing team to gather and understand the functional and technical requirements for upcoming projects.You will help write functional specifications, design specifications, test plans, and the code to bring all of these to life.You will also work with customers to triage and fix problems in their networks. Internally, you will develop automated tests for your software, monitor the execution of those tests, and triage and fix problems found by your tests.At Arista, you will own your projects from definition to deployment, and you will be responsible for the quality of everything you deliver.
This role demands strong and broad software engineering fundamentals, and a good understanding of networking including capabilities like L2, L3, and fundamentals of commercial switching HW.Your role will not be limited to a single aspect of EOS at Arista, but cover all aspects of EOS.
Responsibilities:
- Write functional specifications and design specifications for features related to forwarding traffic on the internet and cloud data centers.
- Independently implement solutions to small-sized problems in our EOS software, using the C, C++, and python programming languages.
- Write test plan specifications for small-sized features in EOS, and implement automated test programs to execute the cases described in the test plan.
- Debug problems found by our automated test programs and fix the problems.
- Work on a team implementing, testing, and debugging solutions to larger routing protocol problems.
- Work with Customer Support Engineers to analyze problems in customer networks and provide fixes for those problems when needed in the form of new software releases or software patches.
- Work with the System Test Engineers to analyze problems found in their tests and provide fixes for those problems.
- Mentor new and junior engineers to bring them up to speed in Arista’s software development environment.
- Review and contribute to the specifications and implementations written by other team members.
- Help to create a schedule for the implementation and debugging tasks, update that schedule weekly, and report it to the project lead.
Qualifications:
- BS Computer Science/Electrical Engineering/Computer Engineering 3-10 years experience, or MS Computer Science/Electrical Engineering/Computer Engineering + 5 years experience, Ph.D. in Computer Science/Electrical Engineering/Computer Engineering, or equivalent work experience.
- Knowledge of C, C++, and/or python.
- Knowledge of UNIX or Linux.
- Understanding of L2/L3 networking including at least one of the following areas is desirable:
- IP routing protocols, such as RIP, OSPF, BGP, IS-IS, or PIM.
- Layer 2 features such as 802.1d bridging, the 802.1d Spanning Tree Protocol, the 802.1ax Link Aggregation Control Protocol, the 802.1AB Link Layer Discovery Protocol, or RFC 1812 IP routing.
- Ability to utilize, test, and debug packet forwarding engine and a hardware component’s vendor provided software libraries in your solutions.
- Infrastructure functions related to distributed systems such as messaging, signalling, databases, and command line interface techniques.
- Hands on experience in the design and development of ethernet bridging or routing related software or distributed systems software is desirable.
- Hands on experience with enterprise or service provider class Ethernet switch/router system software development, or significant PhD level research in the area of network routing and packet forwarding.
- Applied understanding of software engineering principles.
- Strong problem solving and software troubleshooting skills.
- Ability to design a solution to a small-sized problem, and implement that solution without outside help.Able to work on a small team solving a medium-sized problem with limited oversight.
Resources:
- Arista's Approach to Software with Ken Duda (CTO): https://youtu.be/TU8yNh5JCyw
- Additional information and resources can be found at https://www.arista.com/en/
We are searching for a talented embedded developer to join our team. You will be working along-side with other engineers and developers working on different layers of the infrastructure. Therefore, commitment to collaborative problem solving, sophisticated design, and creating quality products is essential.
The candidate should be proficient in C and C++ and possess detailed knowledge of microcontroller protocols. The candidate would be responsible for,
-
Design and implement software of embedded devices and systems from requirements to production and commercial deployment.
-
Design, develop, code, test and debug system software
-
Review code and design
-
Analyze and enhance efficiency, stability and scalability of system resources
-
Integrate and validate new product designs
-
Support software QA and optimize I/O performance
Mandatory Skills:
-
Experience in C++ based applications development for embedded system applications
-
Solid understanding of OOPs, SOLID Principles, Design Patterns.
-
Drivers/BSP development on peripherals like ADC, SPI, I2C, UART etc
-
Firmware development experience on ARM Series of microcontrollers
-
Strong knowledge of hardware architecture such as ARM, MIPS, and x86.
-
Familiarity with hardware protocols including USB, UART, I2C, and SPI.
-
Familiarity with OS platforms such as Linux, Unix, and RTOS.
-
Knowledge on different communication protocol like Wi-Fi, Zigbee, Bluetooth and sub–GHz.
-
Basic Hardware knowledge and debugging skills
-
Strong analytical and problem-solving abilities.
-
Strong organizational and project management skills.
-
Strong knowledge of SDLC, test cycle and logical thinking on various complex use case call scenarios.
-
The ability to keep abreast with the latest advancements in technology and techniques.
Desired Skills:
-
Knowledge on IoT based systems
-
Preferably worked on a Linux based project.
-
Ability to lead the team & handle the project and own all technical aspects of design and development of systems from scratch.
-
Meticulous and very organized.
-
You will not hesitate to ask questions and call upon the knowledge of your coworkers to make sure you produce the best possible documentation for our customers.
-
Worked on 3-5 project from starting of project to delivery of project (Depending on experience)
-
Perform analysis, design and implementation of assigned projects using sound engineering principles and adhering to business standards, practices, processes, and product / program requirements
-
Engage with global teams to effectively translate customer requirements to software requirements and identify potential solutions that are optimized to operate with in constraints of the product
-
Troubleshoot variety of complex software problems
-
Provide timely status updates and proactive communications on issues to the stakeholders.
-
Able to interface with internal and external stake holders regarding software issues.
-
Contribute as part of teams put together to meet overall organization initiatives/objectives
-
As a technical lead,
-
Guide team efforts towards successful deliverables.
-
Provide technical leadership to teammates through coaching and mentorship.
-
Able to effectively manage escalations and operate under crisis
-
Have the ability and willingness to acquire in-depth understanding of domain and existing products (beyond software) and apply that knowledge to develop new products and to deliver enhancements/ fixes for customer requirements.
-
Background in Industrial Automation
-
Prior experience in supervisory control systems software
-
Bachelor of Engineering degree in Computer Science/Information Science/Electronics/Electrical/Instrumentation with strong back ground in Industrial automation software
-
Strong C, C+ programming on variety of Windows platforms using Microsoft technologies
-
Sound knowledge of Computer Science fundamentals data structures, algorithms, operating system concepts
-
Excellent analytical skills, methodical problem-solving skills and troubleshooting skills
-
Prior experience of working in global teams and interfacing with multiple stake holders
-
Excellent communication skills (verbal and written) and the ability to interact with extended teams spread across the globe.
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 environmentSummary:
The embedded systems engineer designs, develops, tests, and maintains embedded systems. The engineer will identify and fix issues and work collaboratively with engineers, product managers, and others on various teams.
Responsibilities:
- Design and build embedded systems, including embedded system firmware
- Test and debug the systems
- Monitor and maintain the system after development
- Improve system efficiency and stability after development
- Collaborate with customers to create systems based on their needs
Requirements:
- Minimum of a bachelor's degree in computer science or engineering
- Professional experience in embedded systems
- Significant programming experience in C or C++
- Experience in trouble-shooting embedded systems and microcontroller peripherals
- Experience in working in real-time operating systems
- Experience in interfaces, IP protocols, and hardware subsystems
- Proficiency in working with common embedded systems communication protocols
- Strong interpersonal and writing skills
- Ability to work as part of a team
- Exceptional analytical and problem-solving skills
- Self-motivated and passionate about your work and embedded systems
- Always eager to learn and improve
- Develop embedded Linux Applications
- Work with a worldwide team to integrate the product to meet the requirement
Required Qualifications:
- Degree in Computer Science from a top-tier institution
- Relevant full-time work experience of 4+years
- Strong foundation in computer science, Object-Oriented software, unit testing & test automation with scripts
- Ability to self-teach.
Mandatory Technical Skills:
- Expert level programming in C/C++
- Linux systems programming, data structures & algorithms
- Networked applications
Desirable Technical Skills:
- Linux Board Bring up, device drivers would be an advantage











