
ROLES AND RESPONSIBILITIES:
• Articulate complex problems, communicate viable architecture and design approach in a clear and concise manner.
• Thrive in a collaborative team environment and work with ambiguous product requirements.
• Evaluate opensource technologies, development stack and strive for new learning, continued growth by applying industry best practices and processes.
• Provide thought leadership in cloud based VoIP(Voice/WebRTC) services and bring your passion for technology to motivate and inspire on a day to day basis.
SKILLS REQUIRED
• 4+ years experience in building highly available, fault tolerant and scalable real-time communications(Voice and WebRTC) systems in the cloud (AWS preferred).
• Demonstrated history of building complex, high-performance applications in C/C++.
• Proven expertise in network and system performance optimizations(including kernel, containers and virtualization technologies).
• Proficiency in telecom protocols (SIP, SDP and RTP/RTCP) and internet protocols(IPv4/IPv6, TCP and UDP) is desirable.
• Deep understanding of all aspects of WebRTC from audio codecs, to networking (ICE, STUN, TURN) up to server side components needed to deploy the technology at scale (SFU, MCU, Relays) and network security(TLS, SRTP).Strong analytical, problem solving and troubleshooting skills.
• Programming experience with Python, Golang and Lua will be a plus.
• Prior experience working with Asterisk, FreeSWITCH, RTPEngine, Kamailio, or OpenSIPs will be a plus.

About K12 Techno Services
About
K12 Techno Services Pvt. Ltd was incorporated in the year 2010 and with its registered office in Bangalore is a leading education service provider in India, offering a dynamic suite of academic support, services and solutions to schools. The upgraded teaching methodologies, blended with effective use of technology has been the main idea behind the organization i.e. to pave the way for a global approach towards education. With its band of services, facilitate schools to leverage on its strength.
Planning academics and its execution with teachers and resource management are some of the key features of our academic support and services. We provide a combination of digital media supports, including multimedia teaching aids in the form of text, images, audio-visual mode to facilitate a multi-sensory approach to knowledge sharing. We also train and support the teachers throughout the academic year, for effective classroom management practices.
Our range of offerings:
- Orchids The International Schools
- Sparkle Box - Education Kits (Preschool – 10th Grade)
- AOL Online Schools
- Plufo - Online Tuitions (Preschool – 8th Grade)
- Eduvate (ERP – School Management)
Company video
Connect with the team
Similar jobs
Position: Computer Vision Engineer
Experience: 2–3 Years
Location: Bengaluru, Karnataka
Employment Type: Full-time
About the Role
We are seeking a highly motivated Computer Vision Engineer to join our autonomy and avionics team. The role involves developing, implementing, and validating computer vision models and algorithms and pipelines for UAVs operating in both GNSS-available and GNSS-denied environments.
The ideal candidate should have a strong foundation in theory of deep learning and machine learning, strong understanding of electromagnetic spectrum, imaging fundamentals, camera principles, and mathematical concepts with hands-on experience in implementing these algorithms on embedded or real-time systems.
Key Responsibilities
- Design, develop, and optimise AI Models
- Make custom CNNs/ modify existing CNNs to suit specific problems at hand
- Handle end-to-end training flow
- Implement end to end inference pipelines on standard PCs as well as on embedded systems
- Understand performance benchmarks and assess the accuracy and inference times
- Implement traditional image processing algorithms
- Factor the code to leverage underlying hardware architecture
- Prune the networks for efficiency
- Integrate the system within the application framework using C++
- Work closely with perception, controls, embedded software, and systems engineering teams.
Required Qualifications
- B.E./B.Tech/M.E./M.Tech in Computer Science and Engineering, Electronics, ECE, Mechatronics, or a related discipline.
- 2–3 years of experience in relevant area
- Strong understanding of: Linear Algebra, Probability and Statistics, AI-ML-DL fundamentals, Image processing, Camera Functioning
- Strong programming skills in C++ and Python.
- Experience with MATLAB for algorithm development and validation.
- Familiarity with Linux development environments.
- Experience with Git version control.
Preferred Skills
- Experience with Camera, IMU Calibration and Synchronisation
- Experience with multi-sensor fusion.
- Experience working with NVIDIA devices
- Experience on FPGA will be an added advantage
- Full understanding of Git functionality
- Exposure to airborne software development processes and coding standards (e.g., MISRA C++).
Personal Attributes
- Strong analytical and problem-solving skills.
- Ability to work independently on challenging technical problems.
- Good communication and documentation skills.
- Passion for solving challenging problems
- Willingness to participate in field trials and flight testing.
- Team playwe
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.
Mandatory Skills:-
C Programming and data structures.
Linux Internals ( System calls, IPC, Network Programming, POSIX Multi-thread programming)
Desirable Skills :-
C++ and OOPs knowledge
Linux system start-up sysvinit, systemd,
Bootloaders : uBoot
Message bus protocols like dbus
Basic Linux Device driver knowledge
Linux Build framework – Yocto-Bitbake, Makefiles
Python scripting
Debug using tools such as GDB
Version control - GIT and SVN
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)
You would be part of:
- Designing/Improvement of new/existing architectures of distributed computing with subcomponents of Unmanned Aerial Systems (UAS).
- Working/Researching with industrial state of the art sensor systems and modules, and developing drivers (HAL or wrapper) and applications around their usage.
- Design and implementation of communication protocols between different subcomponents of UAS for distributed computing.
- Writing Applications and Drivers from the scratch for (embedded)linux based systems.
- Scripting and automations around work flows of UAS usage.
- Working with existing sophisticated software stacks of subcomponents of UASs.
- Working closely with electronics, design and systems teams for architecture development and deployment.
- Working closely with Flight Controller engineers to do collaborative development of UAVs.
We expect you to be:
- Experienced in hands-on development of complex embedded systems involving multiple microcontrollers or SoCs.
- Very good in analytical abilities to be able to do core research and development activities.
- Able to write low level drivers (wrapper or core) from the scratch.
- Very comfortable reading and understanding datasheets and reference manuals of microcontrollers, peripherals, sensors etc.
- Able to understand existing complex embedded software stack written in C/C++.
- Solid in C.
- Good in C++.
- Comfortable with using hardware debuggers.
- Having Hands-On experience with RTOS concepts like scheduling, threads synchronicity , race conditions etc.
- Having Solid understanding of interrupt mechanisms.
- Experienced in working with different hardware protocols like SPI, I2C, UART, PWM, CAN, USB etc.
- Having Solid understanding of interrupts architecture of ARM based microcontrollers like STM32, LPC etc.
- Having Good understanding of the concept of bootloaders.
- Able to multitask.
- A self-motivated and motivating personality who can work well independently as well as part of a team
- Having good interpersonal and soft skills who can adapt to the work environment while manifesting a good positive attitude
You are awesome if you are:
- Experienced in Linux Device Driver development.
- Having good exposure of working on and understanding of any sensor modules like GPS, LIDAR etc.
- Experienced in data filtering techniques (Example: Kalman filter)
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
Embedded System Engineer
Working on Embedded programming on the microcontroller, Linux/Android OS development
Working on component sourcing, PCB Design and fabrication
Working on assembly and testing
Working on field deployment and Testing
Skills:
Embedded Systems
C Programming
Must be exceptionally good in Embedded Systems C programming, testing/ debugging and in advanced C concepts
Capable of working in Embedded Systems based projects based on 8 and 32 bit microcontrollers (STM32)
Experience with communication protocols and peripherals like UART, SPI, RTC, Ethernet
Hands on experience in IDE like Keil, AVR Studio, MPLAB
Strong documentation and writing skills
Work Experience
1-3 years preferable, fresher with good embedded system knowledge can also apply
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







