
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

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.
About Monarch:
At Monarch, we’re leading the digital transformation of farming. Monarch Tractor augments both muscle and mind with fully loaded hardware, software, and service machinery that will spur future generations of farming technologies.
With our farmer-first mentality, we are building a smart tractor that will enhance (not replace) the existing farm ecosystem, alleviate labor availability, and cost issues, and provide an avenue for competitive organic and beyond farming by providing mechanical solutions to replace harmful chemical solutions. Despite all the cutting-edge technology we will incorporate, our tractor will still plow, till, and haul better than any other tractor in its class. We have all the necessary ingredients to develop, build and scale the Monarch Tractor and digitally transform farming around the world.
Description:
We are looking for engineers to work on applied research problems related to control in autonomous driving of electric tractors. The team works on path planning and control to deploy on resource constrained hardware.
Technical Skills:
- Necessary Skills: C++, Eigen, Boost, ROS.
- Solid theoretical knowledge in Linear Algebra and Differential Equations, Control systems, Model Predictive Control, Robotics.
- Knowledge of some numerical algorithms or libraries among: IPOPT (cppAD), HPIPM would be a plus.
- Experienced candidates in ROS & C++ projects with no prior control experience willing to apply their knowledge to vision problems are also encouraged to apply.
- Experience in simulation frameworks such as Gazebo would be a plus.
Responsibilities:
- Ability to formulate math for a given problem statement/approach and prototype in C++.
- Work in conjunction with other sub-systems for integration.
- Testing/tuning the controller in simulation and on real-world hardware.
- Communicate and collaborate with team members in India and abroad for the fulfillment of your duties and organizational objectives.
- Thrive in a fast-paced environment and can complete the assigned sub-task.
What you will get:
At Monarch Tractor, you’ll play a key role on a capable, dedicated, high-performing team. Our compensation package includes a competitive salary, excellent health, benefits commensurate with the role you’ll play in our success.
Talented C++ Developer who has experience in design, development, debugging of multi-threaded large scale application with good understanding in data structures on Linux packaging, functional testing and deployment automation very good with problem solving.
Key responsibilities :
- Understand fundamental design principles and best practices for developing backend servers and web applications
- Gather requirements, scope functionality, estimate and translate those requirements into solutions
- Implement and integrate software features as per requirements
- Deliver across the entire app life cycle
- Work in a product creation project and/or technology project with implementation or integration responsibilities
- Improve an existing code base, if required, and ability to read source code to understand data flow and origin
- Design effective data storage for the task at hand and know how to optimize query performance along the way
- Follow an agile methodology of development and delivery
- Strictly adhere to coding standards and internal practices; must be able to conduct review code
- Mentor and possibly lead junior developers
- Contribute towards innovation
- Performance optimization of apps
- Explain technologies and solutions to technical and non-technical stakeholders
- Diagnose bugs and other issues in products
- Continuously discover, evaluate, and implement new technologies to maximize development efficiency
Must have / Good to have:
- 5-7years' experience with C++ development and relevant 3+yrs in modern version 11/14/17 would be a plus.
- Design and implementation of high-availability, and performance applications on Linux environment
- Advanced knowledge of C/C++, Object Oriented Design, STL
- Good with multithreading and data structures
- Develop back-end components to improve responsiveness and overall performance
- Familiarity with database design, integration with applications and python packaging.
- Familiarity with front-end technologies (like JavaScript and HTML5), REST API, security considerations
- Familiarity with functional testing and deployment automation frameworks
- Experience in development for 3-4 production ready application using C++ as programming language
- Experience in writing unit test cases including positive and negative test cases
- Experience of CI/CD pipeline code deployment (Git, SVN, Jenkins or Teamcity)
- Experience with Agile and DevOps methodology
- Very good problem-solving skills
- Experience with Web technologies is a plus.
Read less

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
- 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"
Job Description: Senior Software Engineer- Embedded Systems
Videogram is looking for Software Engineer in Embedded Systems who will be responsible for designing the embedded systems and installing them in machines and tools. You will be playing an important role in our software team who will be responsible to design and develop the software that controls the processor (micro-controllers and digital signal processors) of the machine. You come with a role as a professional Embedded System Software Engineer to execute a complete embedded software development lifecycle.
Responsibilities:
- Design and implement software of embedded devices and systems from requirements to production and commercial deployment. Responsible for the complete embedded software development lifecycle
- Design, develop, code, test, and debug system software
- Coordinate with the engineers from other disciplines to develop the end product of the requisite standards
- Customize the software to suit the needs of the product nature and expected functioning
- Debug the system to remove the anomalies and inconsistencies
Requirements:
- Candidates require a bachelor's degree in computer science, electrical engineering, software development, embedded software, etc.
- The candidate should be an undergraduate in Computer Science or a relevant field
- Hands-on experience in C++11 or later programming languages
- Knowledge of GIT Version control
- Experience in doing bare metal or RTOS development
- Hands-on experience in developing the code in Linux
- They require exceptional programming skills and competence in using software tools.
- Knowledge of operating systems and of the interaction between hardware/software is important for this profile.
- The attributes of problem-solving ability, analytical skills, proactive behavior, and an adaptable approach are important in this position.
- This discipline of engineering provides scope for creative minds and poses challenges to perform quality work.
- Scripting in Python & Bash is an add-on
- Experience in any of the following technologies:
UART | SPI | I2C |MIPI DSI |Display Port | Low-Level Sata
Additional/ Desirable Interests:
- Personal interest in videography/ photography and audio production
- Experience working programmatically with videos/ images/ audio
- Exposure to low-level details of any video/ image codecs
- Exposure to movie container file formats especially QuickTime/mp4
- Working knowledge of exFAT file system







