Associate Principal Engineer (PLC, SCADA) at Nagarro Software · Remote only · 9 - 13 years · Profitable · Remote only · Posted 17 Apr 2023

We are a Digital Product Engineering company that is scaling in a big way! We build products, services, and experiences that inspire, excite, and delight. We work at scale — across all devices and digital mediums, and our people exist everywhere in the world (18000+ experts across 32 countries, to be exact). Our work culture is dynamic and non-hierarchical. We're looking for great new colleagues. That's where you come in!
Must Have Skills: PLC programming, WinCC, Siemens TIA portal, IOT
WHAT MAKES YOU A GOOD FIT FOR THIS ROLE:
• Experience in automation technologies PLC programming, WinCC OA, Siemens TIA portal, and protocols OPC UA, plant simulation.
• Must have prior experience working with clients in requirements & should be independently able to lead these discussions.
• Candidate should be fluent in the agile delivery model with experience in working with any of an agile product management tool, preferably JIRA.
• Ability to guide the team on technical solutions, perform code reviews, and define integration strategy.
• Working experience with SQL and NoSQL databases like MS SQL Server, PostgreSQL, MongoDB, etc.
• Ability to make and effectively communicate decisions. The candidate should know how to disagree, how to address opposition/rejection, how to navigate the conflicts in multistakeholder requirements, and how to build consensus.
• Effective written and verbal communication skills are essential to communicate in a global team and with clients.
• It would be advantageous to have experience as an architect or technical leader while working in one or more of the following domains: manufacturing, industrial automation, heavy engineering, robotics, automotive, and consumer goods.
WHAT ARE YOUR RESPONSIBILITIES:
• Understanding functional requirements thoroughly and analysing the client’s needs in the context of the project
• Envisioning the overall solution for defined functional and non-functional requirements, and being able to define technologies, patterns, and frameworks to realize it.
• Determining and implementing design methodologies and tool sets
• Enabling application development by coordinating requirements, schedules, and activities.
• Being able to lead/support UAT and production roll outs.
• Creating, understanding, and validating WBS and estimated effort for given module/task, and being able to justify it.
• Addressing issues promptly, responding positively to setbacks and challenges with a mindset of continuous improvement
• Giving constructive feedback to the team members and setting clear expectations.
• Helping the team in troubleshooting and resolving of complex bugs
• Coming up with solutions to any issue that is raised during code/design review and being able to justify the decision taken.
• Carrying out POCs to make sure that suggested design/technologies meet the requirements

About Nagarro Software
About
👋🏼We're Nagarro.
We are a Digital Product Engineering company that is scaling in a big way! We build products, services, and experiences that inspire, excite, and delight. We work at scale across all devices and digital mediums, and our people exist everywhere in the world (19000+ experts across 33 countries, to be exact). Our work culture is dynamic and non-hierarchical. We are looking for great new colleagues.
Tech stack
Company video


Photos
Connect with the team
Similar jobs (10)
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
Skills Required:
- Good experience with programming language Python
- Strong experience in Docker.
- Good knowledge with any of the Cloud Platform like Azure.
- Must be comfortable working in a Linux environment.
- Must have exposure into IOT domain and its protocols ((Zigbee & BLE ,LoRa,Modbus)
- Must be a good team player.
- Strong Communication Skills
Responsibilities:
- Design and implement embedded software applications for IoT devices using C programming language.
- Develop and maintain firmware for Raspberry Pi-based systems, ensuring optimal performance and compatibility with various IoT sensors and peripherals.
- Collaborate with hardware engineers to define and document system requirements and specifications.
- Conduct thorough testing and debugging of embedded software to identify and resolve any issues or bugs.
- Optimize code and improve system performance to enhance the overall user experience.
- Stay updated with the latest industry trends and technologies in embedded systems and IoT development.
- Work closely with the product management team to translate customer requirements into technical specifications.
- Provide technical support and guidance to the team during the development and deployment phases.
- Participate in code reviews and contribute to the continuous improvement of software development processes.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- Strong proficiency in C programming language with a solid understanding of embedded systems.
- Experience developing software for Raspberry Pi or similar single-board computers.
- Knowledge of IoT protocols and technologies such as MQTT, CoAP, TCP/IP, and wireless communication (Wi-Fi, Bluetooth, etc.).
- Familiarity with various sensors, actuators, and electronic components commonly used in IoT devices.
- Solid understanding of software development methodologies and version control systems (e.g., Git).
- Strong problem-solving skills and the ability to debug complex issues in embedded systems.
- Excellent communication and teamwork skills to collaborate effectively with cross-functional teams.
- Prior experience in developing IoT applications or working on IoT projects is a plus.
We are searching for a talented embedded developer to join our team. You will be working along-side with other engineers and developers working on different layers of the infrastructure. Therefore, commitment to collaborative problem solving, sophisticated design, and creating quality products is essential.
The candidate should be proficient in C and C++ and possess detailed knowledge of microcontroller protocols. The candidate would be responsible for,
-
Design and implement software of embedded devices and systems from requirements to production and commercial deployment.
-
Design, develop, code, test and debug system software
-
Review code and design
-
Analyze and enhance efficiency, stability and scalability of system resources
-
Integrate and validate new product designs
-
Support software QA and optimize I/O performance
Mandatory Skills:
-
Experience in C++ based applications development for embedded system applications
-
Solid understanding of OOPs, SOLID Principles, Design Patterns.
-
Drivers/BSP development on peripherals like ADC, SPI, I2C, UART etc
-
Firmware development experience on ARM Series of microcontrollers
-
Strong knowledge of hardware architecture such as ARM, MIPS, and x86.
-
Familiarity with hardware protocols including USB, UART, I2C, and SPI.
-
Familiarity with OS platforms such as Linux, Unix, and RTOS.
-
Knowledge on different communication protocol like Wi-Fi, Zigbee, Bluetooth and sub–GHz.
-
Basic Hardware knowledge and debugging skills
-
Strong analytical and problem-solving abilities.
-
Strong organizational and project management skills.
-
Strong knowledge of SDLC, test cycle and logical thinking on various complex use case call scenarios.
-
The ability to keep abreast with the latest advancements in technology and techniques.
Desired Skills:
-
Knowledge on IoT based systems
-
Preferably worked on a Linux based project.
-
Ability to lead the team & handle the project and own all technical aspects of design and development of systems from scratch.
-
Meticulous and very organized.
-
You will not hesitate to ask questions and call upon the knowledge of your coworkers to make sure you produce the best possible documentation for our customers.
-
Worked on 3-5 project from starting of project to delivery of project (Depending on experience)
StartUp engaged in inventing and innovating Smart Energy Meters and related Technologies (OEM) requires Embedded Engineers. Following re-innovation principle and Technology First direction, we design Technologies to deliver our Vision of the highest Quality Products and Technologies. The candidate's responsibilities include IoT (COSEM/DLMS), technology integration. Required skills include Embedded C and C++ and knowledge of Electrical and Electronics.
- Programming experience in embedded C and python
- Experience in embedded systems development and troubleshooting and with real-time operating systems.
- Experience with embedded C programming for microcontrollers like PIC, Microchip in MPLAB
- Basic execution of process commands in Linux
- Experience in handling the raspberry pi
Xfinito is building a portfolio in new product innovation, product contribution and infrastructure goals while providing individuals and teams the freedom to emphasize specific types of work.
Our work focuses on real –world problems that span the breadth of biomedical engineering, embedded systems, computer science, such as machine and deep learning, data mining, natural language processing, hardware and software performance analysis and much more.
JOB ROLE: EMBEDDED SYSTEMS ENGINEER
ROLES AND RESPONSIBILITIES:
- Work with multi-disciplinary engineering team and customer to identify and recommend hardware needs and requirements for project/product.
- Modify or assist in the development of software architecture and design for new products, prototype, or re-design, including sourcing build environments and writing technical support and control documentation.
- Read Block Diagrams and detail circuit schematics and layout of proposed or existing hardware and assess the software and driver requirements.
- Participates in cross-divisional Edge IoT projects and/or proposals.
- Develop, oversee, and document automated tests for electrical hardware design and products as well as final operating drivers and systems.
- Evaluate and investigate product failures, and recommend repair or design modifications based on specifications, cost, resources, and risks.
REQUIREMENTS:
- Ability to creatively approach challenges and cleverly solve difficult problems.
- Ability to independently identify daily design and customer support tasks, self-start and motivate.
- Ability to manage several projects and prioritize appropriately, with minimal supervision.
- Ability to work in a collaborative team environment as well as independently.
- Ability to learn and work in virtual environments (CAD & Hardware build packages) in-which candidate’s skills are low but persevere and overcome skill gaps autonomously.
- Some experience programming with embedded systems designs and multithreaded real-time operating systems is required.
- Solid programming experience. Preferably in C or C++, .NET, and Java programming languages.
EXPERIENCE:
We as a team are looking for freshers or young professionals with (0-4 years of experience) passion and eagerness to create scalable and optimized software systems and execute complete embedded software development lifecycle.
1. Good Knowledge in Hardware Development (Various Sensors, PCB Designing, Various Micro-controller boards)
2. Firmware designing (writing code on various micro-controller platforms using various hardware communication protocols (USART, SPI, I2C, CAN, etc). Great command in Embedded C Programming and Python.
3. Should have worked with various wired and wireless devices for communication ( Like GSM, GPS, GPRS, Wifi, BLE, Xbee, etc)
4. Should have practical experience in basic networking with devices.
5. Should have worked on various Hardware platforms like Arduino, Raspberry Pi, Web Frameworks, etc.
6. Should have worked with various methods of communicating sensors data on various clouds using API's using multiple protocols like HTTP, TCP-IP and MQTT, etc.
Experience Required : Minimum 4 Years
Expected Salary : 4 - 5.5 CTC
















