Search by job, company or skills

  • Posted 22 hours ago
  • Be among the first 10 applicants
Early Applicant

Job Description

Position: Firmware Developer

Experience: 4-12 Yrs

Salary Range: 10-18 LPA

No of position: 2

The purpose of this position is to leverage advanced expertise in C++, Python and Angular to design, develop, and maintain high-quality embedded applications. The developer will be responsible for developing new components and web pages for the PLCnext Runtime and extend/maintain existing ones. Each component is part of a real-time capable system based on Linux that provides the highest performance and quality levels to our customers.

This position aims to contribute to the continuous improvement of software quality by writing clean, maintainable, and efficient code, and collaborating effectively with other developers and teams around the globe.

SCOPE OF RESPONSIBILITY

• Develop and maintain embedded software applications / components: Design, develop, and maintain high-quality software applications using C++

• Implement user interfaces: Create and implement web-pages as user interface based on Angular.

• Develop unit- and integration tests for a CI pipeline.

• Apply Design Patterns: Utilize design patterns to solve complex software problems and ensure robust and scalable solutions.

• Ensure Coding Standards: Adhere to coding standards and best practices to maintain code quality and consistency.

• Write Clean Code: Write clean, maintainable, and efficient code following Clean Code principles.

• Collaborate with Teams: Work closely with other developers and teams to continuously improve software quality and development processes.

Auxiliary Tasks

• Code Reviews: Participate in code reviews to ensure code quality and share knowledge with team members.

• Documentation: Create and maintain technical documentation for developed software and processes in ALM tool Polarion.

• Testing: Assist in the development and execution of unit tests, integration tests, and automated tests to ensure software reliability.

• Mentorship: Provide guidance and mentorship to junior developers to help them grow their skills and knowledge.

• Research and Development: Stay updated with the latest industry trends, technologies, and best practices to continuously improve development processes and software quality.

• Troubleshooting: Identify and resolve software defects and performance issues in a timely manner.

• Collaboration: Work closely with stakeholders, including product managers and designers, to understand requirements and deliver high-quality software solutions.

Periodic Tasks

• Code Reviews: Participate in code reviews to ensure code quality and share knowledge with team members.

• Documentation: Create and maintain technical documentation for developed software and processes.

• Testing: Development and execution of unit tests, integration tests, and automated tests to ensure software reliability.

• Research and Development: Stay updated with the latest industry trends, technologies, and best practices to continuously improve development processes and software quality.

• Troubleshooting: Identify and resolve software defects and performance issues in a timely manner.

• Collaboration: Work closely with stakeholders, including product managers and designers, to understand requirements and deliver high-quality software solutions.

Potential Emergencies

• Security Breaches: Unauthorized access or security breaches that compromise sensitive data and system integrity.

• Critical Bugs: Discovery of critical bugs or defects in the software that significantly impact user experience or system performance.

• Performance Issues: Severe performance degradation that affects the responsiveness and usability of the software applications.

• Bug evaluation and fixing for critical and blockers, in particular reported by customers.

JOB REQUIREMENTS CHARACTERISTICS

• C++: Extensive experience in developing embedded applications using C++

• Angular know-how to create / update PLCnext web-based frontends

• Experience with Linux and software development for Linux

• Design Patterns: Strong understanding and practical application of design patterns to solve complex software problems.

• Coding Standards and Best Practices: Adherence to coding standards and best practices to ensure high-quality and maintainable code.

• Clean Code Principles: Ability to write clean, maintainable, and efficient code following Clean Code principles.

• Software Development Lifecycle: Experience with the full software development lifecycle, including requirements gathering, design, development, testing, and deployment.

Education

• A bachelor's degree in Computer Science, Information Technology, Software Engineering, or a related field.

Language

• Fluent English is a requirement

Qualifications

• At least 1-3 years of experience in C++ development, preferably in an Agile or Scrum development process

• Experience with design patterns and practical applications.

• Familiarity with coding standards and best practices.

• Ability to write clean, maintainable, and efficient code.

• Commitment to continuous learning and staying updated with the latest trends and best practices in software testing and quality assurance.

Subject Matter Expertise

• C++ and embedded programming: Deep understanding and extensive experience in developing applications for embedded real-time operating systems

• Design Patterns: Expertise in applying design patterns to solve complex software problems and ensure robust, scalable solutions.

• Software Architecture: Strong knowledge of software architecture principles and the ability to design and implement scalable, maintainable, and efficient software systems.

• Clean Code Principles: Mastery of Clean Code principles to write clean, maintainable, and efficient code.

• Coding Standards and Best Practices: In-depth knowledge of coding standards and best practices to ensure high-quality and consistent code.

Practical Skills

• C++ Programming: Proficiency in writing, debugging, and optimizing code in C++

• Creating helper tools with Python

• Able to debug embedded software on Linux systems

• Design Patterns: Practical application of design patterns to create scalable and maintainable software solutions.

• Clean Code Practices: Writing clean, maintainable, and efficient code following Clean Code principles.

• Version Control Systems: Proficiency with version control systems such as Git for managing code repositories.

• Unit Testing: Experience in writing and executing unit tests to ensure code quality and reliability.

• Software Documentation: Ability to create and maintain technical documentation for developed software and processes.

Technical Skills

• Proficiency in C++ / C++ Programming: Proficiency in writing, debugging, and optimizing code in C++

• Advanced know-how of the Linux operating system

• Experience with design patterns and practical applications.

• Familiarity with coding standards and best practices.

• Ability to write clean, maintainable, and efficient code.

Soft Skills

• Time Awareness – Reliable adherence to deadlines and efficient task prioritization

• Quality Orientation – Strong attention to detail and commitment to high standards

• Cost Awareness – Sensible use of resources with focus on cost-effective decisions

• Team & Communication Skills – Clear, respectful collaboration across teams and roles

Interested candidate can share cv to below mentioned id's:

[Confidential Information];

[HIDDEN TEXT];

[HIDDEN TEXT]

More Info

Job Type:
Industry:
Employment Type:

Job ID: 145535169

Similar Jobs

Early Applicant