
- Works towards developing Stable & Efficient Firmwares for Embedded
- Responsible for developing Firmware which are Stable, Efficient and scalable.
- Responsible to create coherent and scalable architecture designs.
- Responsible for understanding and utilizing best BLE / IOT
- Responsible for understanding various RTOS design principles.
- Qualification: B.E. / B.Tech / M.C.A. in Computer Sciences.
- Must Proficient in Embedded C, C++, BLE, Zephyr RTOS, nRF.
- Ready to work from home.
- Should have above 4 years of experience.

Similar jobs
Requirement analysis
· Acquisition support (Technical analysis)
· Automotive ECU software development
· Diagnostic (UDS) function development
· Software testing
· Technical collaboration with internal/external development parties
- Design, implement, and test production- grade core robotic software components possibly including perception systems, motion planning systems, or command and control systems. • Design, implement, and test software integration components with other robotic platforms and warehouse management systems
- Design, implement, and test customer- specific software components
- Develop testing frameworks and support testing for core software components • Develop logging and data analytics systems for deployments
- Follow production- level code design and development processes including detailed documentation, code reviews, and structured release processes
- 32-bit Microcontroller knowledge is essential (ARM Cortex based micro-controllers (STM32).
- Esp32 architecture knowledge is essential.
- Strong experience in C, C++, Free-RTOS
- Strong experience in CUBEMX IDE, MDK Version 5 – Keil, Arduino IDE environment
- Good knowledge in HW and communication protocols like CAN, SPI, UART, I2C, USB
- Good knowledge in TFT Displays and Sensors is added advantage
- Good knowledge of implementation of motor controls as required, pulse width modulation schemes (PWM).
- Good knowledge of power electronics (TRIACs, MOSFETs, IGBTs, gate drivers) and require protections (Over/under voltage/current).
- Document firmware designs, specifications, test plans, revisions and produce test reports

Location: Bangalore
Experience: 4 to 12 years
JD:
- Familiar with AUTOSAR BSW and RTE, architecture, specifications, and configuration tools
- Strong fundamentals programming in C, embedded system concepts, and software build process
- Strong customer orientation, willingness to meet deadlines, and self-management skills
- Deep passion for solving problems to resolution, including root cause analysis skills
- Ability to work and collaborate in a dynamic team environment



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.

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.

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
- Hands-on embedded C skills (mandatory)
- Experience with any microcontrollers MCU (mandatory) – Renesas/ Infineon/ Cypress/ ST-Micro /TI / Microchip
- Experience with any of peripherals & communication protocols usage in application development (mandatory) – UART, I2C, SPI, I2S, CAN, USB, ADC, DAC, EEPROM, Flash memory
- Experience with any RTOS – FreeRTOS, Azure RTOS, ThreadX
- Experience with any networking & connectivity modules (preferred & added advantage) – Ethernet, WiFi, BLE, MQTT, COAP


o Acceptance criteria: Shall have working experience in creating architectures for at least
4 projects.
Shall be strong in Object-Oriented Design and Thinking.
Shall be strong in documenting software architecture and communicating the same using UML.
Shall be strong in decomposing larger system into smaller units with clear implementation
dependencies marked for planning.
Shall be strong in effort estimation techniques.
Shall possess strong Problem Solving and Analytical Skills.
Shall be strong in C or C++ programing language experience.
Shall possess good understanding of either Linux or QNX or Android Operating Systems
Shall have a strong experience in developing software using in POSIX APIs.
Shall have a strong understanding on Networking, socket programming and working experience
in at least one of the IPC Frameworks like DBUS, SOME/IP, Binders etc.
Working experience with test framework and automation projects such as Robot Framework.
Knowledge on various software licenses and their compatibilities.
Shall posses strong knowledge in bootloaders, system startup, power management, persistency
management, health management and diagnostics framework for automotive systems.
Shall have a good knowledge on Functional Safety.
Shall have a good understanding hardware and processor internals.
Nice to haves:
Knowledge or working experience in AUTOSAR and / or Adaptive Autosar.
Understanding of GNU/Linux and its device driver framework.
Knowledge in “Secure Programming Techniques” is a plus.
Understanding in ARM Trusted Frameworks, Bootloaders & Virtualization Solutions is a plus.
Involvement in open-source projects in the past is a plus.
Knowledge in Package management and installers.


- Work directly with the other Software/Firmware Engineers and Electrical/RF/Systems Test Engineers to write needed software
- Design and implement software platform for firmware on embedded CPUs with multiple OS such as Windows, Linux, FreeRTOS, TI-RTOS and embedded Linux
- Use compliers, debuggers revision control and automated build systems.
- Design/develop components of software platform for use by other developers to extend its capabilities and build custom applications/behavior on top
- Develop build methodologies, debugging tools/utilities
- Develop and release Software using Agile methodology
- Write unit tests and support continuous integration and automated test methodology
- Brainstorm for new ideas and ways to improvement product and processes
- Consult with peers for feedback during debug/testing stages
- Document and maintain design processes

