Rugby - Software Engineer for CC
Johnson Controls
2024-11-07 03:40:09
Not Provided, Not Provided, India
Job type: fulltime
Job industry: Engineering
Job description
ACCOUNTABILITIES:
Designing and implementing software for embedded devices and systems. Designing, developing, coding, testing, and debugging system software. Develop associated tools to support testing and verification of products. Collaborate with cross-functional teams to understand the product specification, software requirements, software design, etc. Responsible documenting and implementing processes for software development. Responsible for continuous improvement of software and processes to enhance efficiency, stability, and scalability Work closely with the global teams to complete the implementation and delivery of IoT projects, and regularly synchronize the progress with architect's / leaders. Closely work with diverse team of developers, stake holders and vendors across locations. Guide and collaborate with vendor support teams Build and adopt best development practices in Agile/ scrum IOT team Perform code reviews and guide development teams Technically handle multiple projects simultaneously Help developers, test team and support personnel for troubleshooting customer issues. Build proof of concepts and demonstrate technology feasibility of Innovative solutions. Develop software according to functional and technical design specifications. Participate in design and code reviews/inspections. Provide input to technical discussions; propose solutions and alternatives. Strong in problem solving, Analyzing, troubleshooting approaches. Writing and executing unit tests. Developing proof-of-concept; Providing work estimates Provide required support to product teams as needed to determine system problems and fix.
EXPERIENCE: 5+ years
Minimum 5 years of experience in Embedded C/C++, RTOS, Linux based firmware development is required, Minimum 2-3 years of experience of AWS or any CLOUD platform.
SKILLS:
Required -
Lead the design, development and maintenance of firmware for various electronic products using Embedded C/C++, RTOS, Linux programming languages. Strong understanding of RTOS concepts and experience working on real-time operating systems like Linux or FreeRTOS. Experience using Embedded RTOS (Free RTOS, RTX.etc). Experience working with Embedded processors and microcontrollers, preferably ARM. Experience working with Peripheral buses (I2C, SPI, Serial). Embedded C, Embedded Linux, Embedded Firmware, ADC, USB, DAC, UART. Experience working with Device IO (Serial, USB, Ethernet, Wifi, Bluetooth, Zigbee). Experience working with Analog and digital sensors. Adequate knowledge of reading schematics and data sheets for components. Collaborate with cross-functional teams to identify requirements and develop solutions that meet customer needs. Develop and maintain technical documentation for firmware designs, including architecture diagrams, flowcharts, and test plans. Troubleshoot complex issues related to firmware development and provide timely resolutions. Ability to quickly learn and adapt to the existing code base and new technical skills. Highly motivated with demonstrated ability to work independently with minimal supervision. Strong analytical skills to be able to translate the system requirements and use cases to detailed system design. Strong problem-solving skills to participate in troubleshooting of issues with different teams to drive towards root cause identification and resolution. Good team player with excellent communication skills, to be able to collaborate and work with cross functional teams. Ability to work in a fast-paced, dynamic work environment with a focus on technical excellence, responsiveness to meet Good team spirit and communication skills, good English reading, writing and speaking skills. Should have strong verbal and written communication skills. Strong knowledge of Agile and scrum process. Should be able to guide team, review and drive independently. Should have strong knowledge of AWS IoT or any CLOUD platform integration. Knowledge of software development life cycle. Use of UML, sequence diagrams Code repository like GITHUB usage experience. Understanding of Agile (Scrum) methodology Strong analytical, problem-solving, and conceptual skills. Ability to work under pressure and meet tight deadlines. Experience of working with globally distributed teams.
Good To Have -
Proficiency in Python scripting for automation tasks is an added advantage.