What you'll do:
- Understand product requirements and engage in the design & development of code for both module-level and system-level embedded software. This includes coding and validation using programming languages such as C and C++ on embedded systems operating on Linux platforms for Devices used in Electrical Systems (e.g., Meters, Gateways).
- Participate in technical design, incorporating both architectural and detailed object-oriented design. Provide overarching technical leadership for product development & technological innovations. Lead the technical aspects of agile development planning efforts.'
- 'Development, design and testing of smart gateway products using programming languages like Assembly, C & C++ on embedded systems running on Linux platforms.
- Handle build management, change management, and configuration management tools like JIRA/bamboo//VS/GIT/Bitbucket/GitHub etc.
- Develops a deep understanding of technology and product concepts, and effectively articulates technical aspects of product and software design.
- Lead the architecture, design, and requirement development for embedded firmware systems, ensuring robust and scalable solutions that meet product specifications and industry standards.
- Lead tasks related to feature development including planning, task estimation, design, programming, unit testing, peer review, integration, and release.
- Develop re-usable components and looks for continuous improvement opportunities in PCS Digital products portfolio.
- Design, develop, and maintain scalable microservices architectures, ensuring seamless integration and high performance.
- Ensures quality of delivery in accordance with the plan adhering to the standard practices used in agile methodology.
- Demonstrates flexibility working in parallel on multiple assignments & product categories.
- Shares knowledge within the team and continuously develop and enhance the technical capabilities of the team.
Qualifications:
- Bachelors & M.tech in Electronics/ E&TC/ Instrumentation engineering
- 6+ to 9 years
Skills:
- Proven experience in developing applications using C/C++ for various products.
- Expertise in device driver and kernel programming.
- Proficiency with containerization technologies such as Docker and Kubernetes.
- Experience in resource budgeting, including memory and processor utilization.
- Skilled in implementing industrial communication protocols (e.g., Modbus, TCP/IP, HTTPS, Modbus-TCP, DNP, BACNetIP, WebSockets, MQTT) into products.
- Strong understanding of operating systems, data structures, algorithms (including Big O notation), object-oriented programming, and design patterns.
- In-depth knowledge of operating systems/RTOS concepts, embedded Linux, multithreading, and experience in developing Linux shell scripting, Makefiles, and application programming.
- Experience in troubleshooting and debugging complex firmware issues within embedded systems, utilizing advanced debugging tools and techniques to ensure high-quality and reliable performance.
- Experience with Software Composition Analysis tools like Blackduck and Spectral, as well as Static Code Analysis tools such as Coverity and SonarQube.
- Hands-on experience in developing high-quality application software.'
- Good communication skills in English (verbal and written) colloborate effectively with customers, stakeholders, technical staff & cross functional teams
Skills Required
Git, Github, Docker, Kubernetes, Bitbucket, Linux Shell Scripting, Bamboo, Https, Mqtt, Debugging Tools, C, DNP, Rtos, Linux, Jira, Assembly