
Similar jobs
Candidate should have 6-9 years of experience in IoT embedded systems. He/ She should be
passionate, tech savvy, academically sound, have interest in embedded devices and
technologies.
Experience:
• Exposure to Microcontroller/Microprocessor Architecture /Family e.g. ARM Cortex,
Microchip, Xtensa ESP32, TI CC32XX, STM32
• Knowledge of Bare metal and any RTOS (Free RTOS, uC OS, EmbOSs, VxWorks, QNX)
• Knowledge of Microcontroller peripherals and low level drivers e.g. ADC, DAC, I2C, SPI,
UART, CAN, RS485, DMA, Ethernet, Display
• Knowledge of networking concepts like OSI layers, embedded TCP/IP stacks and common
IP protocols
• Knowledge of RF protocols WIFI, Bluetooth/BLE, IoT Cellular
• Knowledge of IoT communication protocols MQTT, COAP, AMQP
• Knowledge of Build toolchains and framework such as IAR, GCC, Keil, Mplab
• DFMA and DFMEA, Design release process
• Coding standards, guidelines and compliance tools
• Version control and repositories using git tools
• Software quality assurance and automated testing tools Experience / Skills Embedded software design cycle
• Documenting Software Design (flow charts, state diagram, logic design, analysis, implementation, debugging and testing etc)
• Good hands-on programming in Embedded C, C++.
• Programming in scripting languages such as batch, shell, python is a plus.
• Experience with AWS/Google cloud for device connectivity. Exposure to IoT cloud services. e.g. AWS IoT
• Software and Hardware integration testing and troubleshooting
• Protocol debugging using protocol analyzer.
• Understanding of Schematic/ Hardware design around microcontrollers like ST, TI, Atmel, Microchip, ARM core
2. Embedded development – preferably middleware development
3. Multimedia domain, like – AV, Gstreamer, RDK, DASH, DRM (widevine and playready), HLS, OTT app integration(Chromium/Cobalt integration for any AV apps, such as YouTube, Netflix, Amazon prime, Disney etc.)
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
Summary:
The embedded systems engineer designs, develops, tests, and maintains embedded systems. The engineer will identify and fix issues and work collaboratively with engineers, product managers, and others on various teams.
Responsibilities:
- Design and build embedded systems, including embedded system firmware
- Test and debug the systems
- Monitor and maintain the system after development
- Improve system efficiency and stability after development
- Collaborate with customers to create systems based on their needs
Requirements:
- Minimum of a bachelor's degree in computer science or engineering
- Professional experience in embedded systems
- Significant programming experience in C or C++
- Experience in trouble-shooting embedded systems and microcontroller peripherals
- Experience in working in real-time operating systems
- Experience in interfaces, IP protocols, and hardware subsystems
- Proficiency in working with common embedded systems communication protocols
- Strong interpersonal and writing skills
- Ability to work as part of a team
- Exceptional analytical and problem-solving skills
- Self-motivated and passionate about your work and embedded systems
- Always eager to learn and improve
Job Description
Embedded Software/Firmware Design and Development on OS/Non-OS based platform
Necessary system architecture development and implementation
Device, sensor and gateway selection and integration based on industry use case.
Development on Image Analytics and Cloud/Platform integration
Development or integration of Cloud/Platform communication protocol
Technical Documentation and Testing of the developed system
Desired Skills, Knowledge& Experience
B. Tech/M. Tech/MCA with 8-10 years of industry experience
Strong programming skills in C/C++ and Python development in Linux
Experience in device or sensor communication interfaces (wired/wireless, short range/long range).
Experience of microcontroller and microprocessor.
Knowledge of IoT gateway firmware development, container, and OS hardening.
Experience in device communication protocol, Edge computing and processing
Competent in application development for Image processing, transmission, and storage
Good understanding and of programming primitives, data structures, multi-threading and memory management techniques
Strong command over complex sensor and hardware control logic to work seamlessly with edge devices or gateway
Proactive and Self motivated
Strong verbal and written communication skill
Job Description: Senior Software Developer (Exp.2-6 years)
Location: Bangalore
What you need:
* Bachelor’s/Master’s degree is preferred in computer science or related field (such as computer engineering, software engineering, biomedical engineering, or mathematical sciences) from premier institutes.
* 1-3 years of industry experience in professional software development.
* Strong C++ knowledge.
* Knowledge of ITK / VTK / OpenCV / Robots / Qt Framework is plus.
* Required Technical Competencies in Algorithms and data structures object oriented design and analysis.
* Expertise in Design Patterns & C++ programming concepts; Linear Algebra, Computer Vision, Software design, development and verification methodologies would be preferred.
* Should be open to work in fast growing medical devices start-up making cutting edge computer assisted & robotic assisted surgery products in India for the world.
* Should have willingness to develop something great from India.
What you will do:
* Work with program manager to understand business requirement and translate that into technical design.
* Create and own leading edge reusable algorithm solutions.
* Create and own cross-platform SDKs.
* Research cutting-edge algorithms and techniques.
* Lead technical design and implementation of a feature.
* Implement high quality code with comprehensive unit testing.
* Troubleshoot issues raised from production and resolve customer problems.
* Evaluate and adopt technologies which improve the team efficiency and platform capability.
* Code review peer developers code and provide constructive feedbacks to ensure consistency and quality of code.
* Be a part of core R&D team for developing Surgical Robots.
* Ensures the integrity and security of company intellectual property and confidential data.
Company Profile
Happy Reliable Surgeries Pvt Ltd (HRS Navigation) started in 2015. It is India's first and only company to develop high tech surgical navigation system for highly complex Brain & Spine surgeries. Our products directly compete with world’s biggest medical devices companies. We are proudly one of the few global companies who have capabilities to develop Computer assisted and Robotic Assisted surgeries products. R&D Centre is based at Bangalore. It has been started by Ex of a global medical device company. It has been incubated & mentored by IIM Calcutta.
Why Do We Exist: - Currently all hi-tech medical devices are imported. Which leads to very high cost of healthcare & non reachability to common people. Our Purpose is to make premium healthcare affordable & accessible by continuous innovation for our people. We want to make India Proud.
Our Achievements: -
- 10 Best start-up in Medical Devices (Insight Success Magazine)
- Won Top 50 emerging product start-up NASSCOM 2017 (National Award)
- Winners in Economic Power of Ideas award 2018 (IIM Ahmadabad) (National Award)
- Winners in Smart Fifty competition conducted by IIM Calcutta (National Award)
- Won Elevate 100, Karnataka top 100 company (State Award from Karnataka Government)
- Grown Exponential even in 2020 financial Year. (No Salary Cuts / Firings)
- 3000+ successful Surgeries performed by our products.
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)
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.










