Senior/Lead Robotics Software Engineer - Linux/Kernel Development
at SigTuple

About SigTuple
About
Company video


Connect with the team
Similar jobs
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.
● Write Effective Codes In C++, Develop Software For Embedded Systems Based On STM32, NRF
● Support And Improve Existing Software
● Prepare Documentation For The Created Software. Qualifications
● Confident Knowledge Of C++ 17, Object-Oriented Programming, Embedded Software Development
● Proficiency With Microcontrollers Of The STM32 And / Or NRF Series
● Experience With RTOS
● Familiarity With Git, Linux
● Technical English
● Knowledge Of Python As An Advantage
● Any Experience With UAS \ UAV \ Drones is much appreciated
- Experience 4 - 8 years
- Key Skills for Software Developer C++, Linux :
- - Looking only for candidates who can join immediately or max 10 day
- - should be able to work independently with no handholding
- - the ability to work with C/C++ code on Windows/Linux platforms
- - Database knowledge of MSSQL, Oracle, MySQL/MariaDB, ideally other ones too: Saphana, Teradata, Postgres.
- - Ability to work on their own fixing defects
- - should be able to understand secure coding practices
- - should have the Ability to work independently and with the team across different time zones
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)
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.
- Maintain UNIX/Linux Operating System
- Create and maintain environment for running batch jobs associated with daily batch cycle and batch reporting subsystem
- Work with LAN/Network personnel to ensure compatibility with LAN applications and peripheral hardware to provide end users with reliable and stable working environment
- Support and maintain other vendor database software installed on the LAN servers
- Perform User Access Management.
- Experience supporting day-today administration functions including user account management and script creation
- Apply Patches and Upgrades as necessary. Perform tasks for Backup and Recovery Management including High Availability
- Install and configure storage arrays and allocate SAN and NAS storage to different OS platforms and/or administer ZFS storage pools, file system, snapshots, and clones.
- Experience in Linux hypervisors KVM, XEN.
- Good knowledge on open stack administration and service operations.
- Good experience on veritas net backup software.
- Strong experience in public clouds AWS, AZURE, GCP.
- Solid knowledge of protocols such as DNS, HTTP, LDAP, SMTP and SNM
- Good understanding on AWS outposts hybrid environment.
- Good experience in the windows server and OS side.
- Experience in Monitoring platforms like Zabbix, ELK, Grafana.
- Troubleshoot Hardware Issues, Installation, and testing of computer peripherals
- Perform/Implement Security Monitoring and audit to identify any possible security intrusions or breaches.
- Collaborate with other teams and team members to develop automation strategies and deployment processes
Qualifications:
- Degree in Computer Science, Computer Engineer, or other related courses
- Minimum of 10 years’ experience
- In-depth knowledge of Linux: RedHat, CentOS, Debian, etc.
- In-depth knowledge in Linux virtualization
- good knowledge of UNIX and LINUX Operating systems, file systems, storage environments, and networking protocols
- Knowledgeable in Unix, Linux, Unix, Linux shell scripting. Practical scripting skills in Shell, PERL, Batch, Python
- good DBA skills MySQL, MariaDB, PostgreSQL, Timescale, MongoDB
- Basic Messaging and Collaboration concepts and tools, Server Virtualization
- Practical understanding of Networking - routing, subnets, UDP, TCP, IP, and VLANs
- Backup and Storage Management (Netback up mandatory).
- Familiar and can identify or interpret crash dump files and core dump files and monitor System Logs
Primary Skill: System Software Development
Skill sets req:
- Linux porting/development; Linux kernel concepts
- Expertise in Linux BSP device driver development
- Customizing kernel + Porting + Developing Applications Linux Device Driver Development (Character devices) Good Concepts of Network Drivers File Systems Concepts
- Expertise in porting, network stack; optimization, network programming
- Bootloader/Uboot porting
- Camera driver development (Good to have)
RESPONSIBILITIES AND QUALIFICATIONS
Responsibilities
+ Design, build and maintain low latency, high-performance electronic trading platform components, with a focus on market data, exchange and client connectivity and risk controls.
+ Deliver continuous optimization for latency, scale and resiliency improvements.
+ Participate in system builds for various markets globally, have curiosity and interest in understanding market microstructure details, work closely with engineering, sales and product teams globally for successful delivery of projects.
+ Basic Qualifications
+ Bachelors or Masters degree in computer science or engineering or equivalent experience
+ 5+ years of professional experience developing deterministic high performance, low latency systems in python/C++ (counted in single digit microseconds)
+ Prior experience with FIX and binary exchange connectivity and market data protocols preferred
+ Strong knowledge of object oriented programming, data structures, algorithms and design patterns
+ Critical path analysis, performance optimization and hardware acceleration.
+ Linux systems programming experience including memory management, concurrent programming infrastructure, and the networking stack
+ Experience developing distributed architecture systems and messaging protocols
+ Strong analytical and problem solving skills
+ Comfortable in a fast-paced environment, self-motivated, results driven and commercially focused
Preferred Qualifications
+ Software development in python/C++ in the context of high performance (low- latency, high-throughput) real-time computing.
+ Familiarity with STL and C++11 language extensions, Boost
+ Network programming (sockets, TCP/UDP/Multicast protocols)
+ Multi-threading, concurrent programming
+ Intimate knowledge of compilers, flow of data at hardware level (memory/ caches, buses) + Some experience with FPGA or other hardware acceleration technologies
+ Experience processing large static datasets as well as high volume ticking data sources
+ Over 3 years' experience in Financial industry (Plus)









