Software Developer
at US Based comany,develops electronic autonomous tractors.
Software Developer (B.Tech, Linux+CPP+ROS)
Job Description:
- Design, implement and deliver custom solutions using the current robotics framework.
- Bug fixing and improving of current application framework.
- Design and implement tools to facilitate application development and testing.
- Work with team members in deployment and field testing.
Requirements:
- Bachelor Degree / Masters in Engineering (ECE and CSE preferred)
- Work experience of 3 to 10 years in software programming.
- Full understanding of software engineering.
- Proficiency in C/C++ and Python programming for Linux based systems.
- Basic Knowledge of Robot Operating System(ROS) is mandatory.
- Good understanding of the algorithms and control loops.
- Able to use tools to manage source code, preferably Git / GitHub.
- Knowledge of video streaming from edge devices is a plus.
Perks and Benefits for the employees
- Paid Leaves (12CL+12SL+12 public holidays )
- career development
- Health insurance
- Work life balance
- Employee recognition and reward programs
- Flexible work hours
- Five working days.
- Remote job for now
Similar jobs
- 8+Years of Exp in C++ Developement
Software: C++, Jenkins, Visual Studio, Linux, CheckMarx, GitHub, Google test framework.
Application Architecture: Scalable, Resilient, Cloud deployable, high performance based.
DB: Oracle
Libraries: CPLEX (knowledge of CPLEX is a plus)
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
What You'll Do
● Develop embedded system architecture that is efficient and scalable
● Develop multi-device system design, envision customer interaction, and corner cases to build issue-free design
● Develop firmware code for Interrupt driven system which interacts with Android and cloud
● Implement function safety, protection and security in the embedded system
● Implement predictive hardware failure features
Who You Are?
● Passionate individual who loves to work on embedded systems. a person who likes to drive things actively rather than waiting for tasks to get assigned.
● Strong programming capabilities
● Understanding of electronics and hardware
● Clear thought process, believe in simplifying rather than complicating
● Argue and fight over the opinions. Believe in delivering the best for the users
You Should Have
● 3+ year experience in embedded system design
● Mastery in C/C++ for embedded systems. Strong fundamentals of Microcontrollers and their common peripherals.
● Strong basics of C/C++, memory map, compiler functionality
● Done multiple projects during graduation/post-graduation. Participated and performed in tech competitions.
● Experience working with actuators like motors (DC/brushless), LED/LCD and HMI interfaces, speakers, sensors etc
● Experience working with motor control algorithms and PID controllers
- Proficiency with Linux OS and basic bash scripting
Pace Robotics is a construction robotics startup incubated by SINE IIT-Bombay and backed by Pidilite Ventures, MARL 5G Accelerator and Kochi Holdings. We are making the construction process faster, smarter and efficient through robots that can do advanced construction tasks and digitize execution data in real time. We are currently piloting our first product, a modular robot for plastering, painting and putty of building interiors, at construction sites.
To support our next stage of growth and to take the product from prototype to manufacturing ready design, we are looking for an embedded software engineer who will support the design and implementation of the software for embedded devices and systems end to end from requirements gathering to commercial deployment.
What will you do
- Develop embedded code which enables simultaneous exchange of data between various modules and sensors to facilitate fast/robust decision making for the robot.
- Selection of Communication Protocols, actuation sequencing and deep involvement with embedded software and control strategy.
- Develop and maintain various engineering tools used to debug, analyze, and test embedded products.
- Support the Embedded Systems Lead in working as the common link between the hardware, robot autonomy, and software teams, converting inputs from each team along with overall product/customer needs into electronic circuits, software and hardware.
- Assist in conceptualizing, designing, fabricating, integrating and testing overall embedded architecture, embedded boards, software and circuitry for Pace Robotics’ fleet of AGV based robots.
- Assist in selection and integration of all active, passive components, micro-controller, processor w/peripherals and power components.
- Work on improving the efficiency of the power distribution and consumption.
- Work on designing the wiring scheme of the whole autonomous system.
Qualifications
- Masters or Bachelors (with 2-5 yrs exp) in Electronics & Communication / Electronics & Instrumentation/Electrical & Electronics/Embedded Systems with relevant experience in industrial R&D Projects.
You have the following technical skill sets:
- Expertise with microcontroller/microprocessors (non - Arduino), C programming, digital electronics, different communication protocols such as SPI, I2C, rs232, ethernet, rs485, CAN etc
- Good Understanding of Electronics Circuits and Schematics.
- Deep expertise of RTOS / LINUX programming concepts.
- Excellent understanding of Signal Processing methods, (Good To have)
- Experienced in PCB and wiring harness Design, (Good to Have)
- Proficient with Matlab, Simulink, DAQ software. (Good To have)
You have the following personal attributes:
- You are highly organized and methodical in everything you do
- You love solving problems and look at them as an opportunity to grow
- You get excited about thinking, talking and building technology and exploring its endless possibilities
What's in it for you:
Globally, Construction provides a 1.6 Trillion Dollar opportunity, just by making the work more efficient. This is the market we are after. You will be an integral part of the core team of an early stage startup on a mission change the way we build our world and disrupt one of the oldest and the largest industries. You will be designing products that can change the landscape of construction, become ubiquitous in project sites and be synonymous with construction of the future (Think of JCB and Tower Cranes of today)
We promise you an environment that promotes unhindered innovation and one that can provide exciting opportunities for accelerated growth. You will be working with a stellar engineering team having diverse experience in developing robots for automotive, agriculture and construction industries. You will have immense learning opportunity as you will be working on ‘never-seen-before’ products for an industry that’s ripe for technological disruptions.
The compensation includes company stocks through ESOP’s and Other Perks like Health insurance and Personal Accident Insurance for Self.
Please note that we don’t necessarily expect to find a candidate that has done everything listed or possesses all the required skill sets but you should be able to make a credible case that you have done most of it and are keen on learning new things on the job.
- 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
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 environmentMandatory 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
Flux Auto builds autonomous vehicle technology for commercial and industrial applications.
Responsibilities:
- Work on Embedded Software for deployment on the self-driving vehicle.
- Investigate, develop different system design and architecture for ADAS system.
- ROS version of Firmware package for multiple sensors with different communication protocols.
- Work on Serial communication (GMSL/CAN/LIN/FlexRay/Ethernet/UDP).
- Work on Multi threading and Data preprocessing.
Requirements:
- Experience in the fields of firmware development of Camera, Radar, Lidar, inertial sensors, Micro Controllers, ISP, Serdec.
- Candidate should have a strong background in Embedded system and Communication protocols.
- Candidate should have hands-on knowledge of data structures and algorithms for Data processing, and familiar with ROS (robot operating system)
- Candidate should have hands-on knowledge on Multiple sensors, Data pre processing (Clustering, noise removal, etc.) and image preprocessing (Histogram equalization, Tone mapping, etc. )
- Candidate should have real-world experience in implementing Firmware packages for multiple sensors and communication protocols
- Candidate should have experience in programming in C++ and with robust, safety-critical, efficient code
Additional requirement: Active U.S visa.
Good to Have:
- Domain knowledge and implementation experience with multiple sensor, inertial sensors, and general Embedded System Architecture
- Real world experience with system integration and deployment
- Worked on sensor fusion and Embedded systems
- Experience with Nvidia SOCs and Drive works Architecture
Benefits:
- Health Insurance
- Employee Stock Options
- Work From Home
- Flexible work hours
- Monthly Team outings and events
- Budget for Upskilling
- Flexible vacation
Equal Opportunity Employer:
Flux Auto's employment decisions are made without regard to race, color, religion, national origin, gender, sexual orientation, age, gender identity, genetic factors, military/veteran status or other characteristics protected by law.
Vaccination Requirements:
Flux Auto is implementing new requirements for employees to be fully vaccinated from COVID-19.
Apply Now!
- 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"
Software Engineer(Layer 2/Layer 3)
Location : Gurgaon (WFH currently)
Experience/ Skills Required : 5 to 10 years
To be successful in this role you should be well versed with the concepts of networking and comfortable in C programming in a linux environment for embedded software. As we use Linux, experience with this operating system is a mandatory requirement, knowledge and experience on OpenWrt is a bonus. Working experience with router software development for layer 3 and layer 4 features.
Domain knowledge required: IPv4, TCP/UDP, IPv6, NAT, Firewall (iptables), DHCPv4, DHCPv6, IPv6 prefix delegation, Port forwarding, Source based routing, Policy based routing, L3 QoS, IGMP proxy, IPv6 MLD snooping, DNS, DNS proxy. Knowledge on VoIP is a bonus.
Management methods: TR069, SNMPv2, CLI.
Operating system: Linux, OpenWrt
Programming languages: C(must have), Python
Working for us means having a healthy interest in Software but most of all, you like to work in a team. You like to take initiative and have the “just do it” approach. Having the right mentality and attitude are more important for us than a degree. Dedication, investigation and responsibility are keywords for us. Preferred years of experience in industry/technology: 5-10 years.
Role:
As a Software Engineer you develop new software features and solutions for our fibre connectivity product portfolio. The position offers a wide range of possibilities to work with everything from low-level Linux drivers to high-level applications. You develop for various protocols and HW interfaces, often in complex network scenarios in combination with customer specific requirements. The team is responsible for all SW development for existing and new Home Gateways. This means development of Linux drivers, network functionality, remote Management (TR-069) and VoIP application (sipapp). The development is mainly done in C and in Linux environment, knowledge in Python is an add-on. Products and development are realized in Agile.