
Senior Software Engineer
at Its a Level 5 Product and Services Automotive Company

Job Description
-
Able to design and architect product solutions.
- Sound knowledge in OOPS concepts and OOAD
-
Knowledge on C++ 11/14, STL and BOOST libraries usage is added advantage
-
Implementation of automated testing & unit test framework
-
Know how on profiling tools & debugger
-
Developed software with interfaces to low level system and hardware resources
-
Excellent communication skills, written and verbal
-
Team player & high review aspects with CPP Core guidelines
-
Requirements Engineering and Bug Tracking tools
-
Thorough knowledge in Build and Release. Good exposure on GIT, Gerrit, SVN and Jenkins
-
Should be a quick learner and can take on things independently
-
Autosar / Automotive Domain knowledge would be a plus
Qualifications
BE/ BTech. in CS/IT/ENC/EEE
Additional Information
Having 4 to 8 years of experience

Similar jobs


- Strong C/C++ programming hands on experience
- Should have work experience on firmware development with strong Linux internals.
- Very good development, design and debugging experience on embedded firmware.
- Added advantage to have experience on Systems management/Out of Band/BMC domain experience
- Good to have automation experience using Python or shell scripting
- Excellent communication and problem solving skills
- Experience on tools like JIRA, Yocto, Visual studio, etc.

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)


Omnitroncis is on a mission to bring robotics to real-life applications. We build & provide services for smart products. At the heart of each product is the amazing team which integrates software, hardware, sensors, AI, computer vision systems, machine learning models and robotics to orchestrate and automate the entirety of products and operations. As a result, we are able to lead better lives.
About Us:
This is an opportunity to join a growing team of electrical, mechanical and software engineers and make a substantial impact at Omnitronics. We are looking for someone that can learn, adapt and roll with a fast-paced, ever-changing environment and who isn’t afraid of uncertainty. Embedded engineering at Omnitronics involves developing electronics solutions that power a modern smart device. This involves unique industrial control systems, environmental sensor technology, data collection, computer vision systems, and automation. You ll be involved with idea generation, design, prototyping, planning, and the execution of firmware and hardware for our IoT devices.
Prerequisites
- We are looking for a person who is really interested in & enjoys technology, is Passionate about Innovation, and Can go the extra mile for perfection.
- Behavioural Attitude: Must be a Quick learner / Highly Dedicated / Responsible person
Require Person: 7
Job Type: Full-time
Office Timing: 10:00 am to 7:00 pm
Expected Start Date: ASAP
Fresher Salary: 3,000 to 15,000
Experience Salary: 10,000 to 45,000
Location: Must be from Surat, Gujarat
Below are the skills we are looking for in a candidate.
- Strong hands-on C/C++, Embedded System Development
- Hands-on experience on ESP-IDF, STM32CubeMX, Embedded Linux, RTOS
- Good to have Python, Shell/Bash Scripting, Toolchains
- SPI, I2C, UART, RS485, CAN, and hardware subsystems
- Hardware and IoT / IT Communication protocols knowledge
- Problem-solving and analytical skills.
- Familiar with Standards (SOLID Principles, OOPs, Misra C, etc)
- Schematic / PCB Designing verification
- Ability to trace difficult problems using a variety of tools (debugger, JTAG emulator, logic analyzer, oscilloscope).
- Design, develop, code, test, and debug system software.
We are looking for Embedded software developers who will be responsible for designing, developing, optimizing, and implementing the software that is programmed into devices built around a processor/controller. Candidates need to write code to solve problems and implement systems that make a physical hardware device work through software.
Thanks and Best Regards

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.

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)

We are looking for passionate, talented and super-smart engineers to join our product development team. If you are someone who innovates, loves solving hard problems, and enjoys end-to-end product development, then this job is for you! You will be working with some of the best developers in the industry in a self-organising, agile environment where talent is valued over job title or years of experience.
Responsibilities:
- You will be involved in end-to-end development of VIMANA technology, adhering to our development practices and expected quality standards.
- You will be building machine/controller specific applications that run on machine tools and stream the machine stats.
- You will be part of a highly collaborative Agile team which passionately follows SAFe Agile practices, including pair-programming, PR reviews, TDD, and Continuous Integration/Delivery (CI/CD).
- You will be part of a DevOps culture where you will get to work with production systems, including operations, deployment, and maintenance.
- You will have an opportunity to continuously grow and build your capabilities, learning new technologies, languages, and platforms.
Requirements:
- Undergraduate degree in Computer Science or a related field, or equivalent practical experience.
- 3+ years of product development experience.
- Proficiency in C, C++, Multi-Thread application development, STL, Boost and TCP/IP programming.
- Optionally should have some basic knowledge on C#, Python and Wireshark.
- Deep knowledge in Data Structures and Algorithms, using various debuggers (Local/Remote).
Additional Skills:
- Experience in working with Agile software methodologies (XP, Scrum, Kanban), TDD and Continuous Integration (CI/CD).
- Experience using no-SQL databases like MongoDB or Elasticsearch.
- Prior experience with container orchestrators like Kubernetes is a plus.
We build products and platforms for the Industrial Internet of Things. Our technology is being used around the world in mission-critical applications - from improving the performance of manufacturing plants, to making electric vehicles safer and more efficient, to making industrial equipment smarter.
Please visit https://govimana.com/ to learn more about what we do.
Why Explore a Career at VIMANA
- We recognize that our dedicated team members make us successful and we offer competitive salaries.
- We are a workplace that values work-life balance, provides flexible working hours, and full time remote work options.
- You will be part of a team that is highly motivated to learn and work on cutting edge technologies, tools, and development practices.
- Bon Appetit! Enjoy catered breakfasts, lunches and free snacks!
VIMANA Interview Process
We usually target to complete all the interviews in a week's time and would provide prompt feedback to the candidate. As of now, all the interviews are conducted online due to covid situation.
1.Telephonic screening (30 Min )
A 30 minute telephonic interview to understand and evaluate the candidate's fit with the job role and the company.
Clarify any queries regarding the job/company.
Give an overview about further interview rounds
2. Technical Rounds
This would be deep technical round to evaluate the candidate's technical capability pertaining to the job role.
3. HR Round
Candidate's team and cultural fit will be evaluated during this round
We would proceed with releasing the offer if the candidate clears all the above rounds.
Note: In certain cases, we might schedule additional rounds if needed before releasing the offer.

- 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


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.



