About Unisoftronik Pvt. Ltd.:
Unisoftronik Pvt. Ltd., headquartered in Surat, is a leading innovator in software solutions, specifically focused on delivering cutting-edge technology for industrial applications. We pride ourselves on a collaborative, growth-oriented culture, significant investment in R&D, and a commitment to professional development. We're passionate about challenging projects and providing a supportive environment for talented individuals to thrive. We specialize in developing real-time control systems and are seeking a highly skilled software engineer to join our team.
Role Description:
We are seeking a highly motivated and technically proficient C/C++ Software Developer to join our team and play a key role in the design, development, and maintenance of our real-time industrial motion control systems. This full-time, on-site role requires a deep understanding of embedded systems programming, real-time operating systems, and a strong aptitude for mathematical modeling. You'll collaborate closely with mechanical engineers, electrical engineers, and other software developers to bring innovative solutions to life. Your responsibilities will include:
- Developing and implementing control algorithms for industrial robotic systems and motion control applications.
- Writing robust, efficient, and well-documented C/C++ code for real-time control systems.
- Utilizing threading and concurrency concepts to manage complex, multi-threaded control systems.
- Performing mathematical modeling and analysis to optimize control system performance.
- Conducting rigorous testing and debugging of software and hardware integration.
- Staying current with industry advancements in motion control and real-time systems.
Qualifications:
- Strong Mathematical Foundation: A solid understanding of linear algebra and 3D geometry is essential for developing accurate control algorithms.
- C/C++ Expertise: Deep proficiency in C/C++ programming, including experience with embedded development environments (particularly for developing Hardware Abstraction Layers for various peripherals).
- Real-Time Systems Knowledge: Experience with real-time operating systems (RTOS) and understanding of real-time programming concepts.
- Threading & Concurrency: Proven knowledge and practical experience in developing multi-threaded applications and managing concurrency issues.
- Motion Control Fundamentals: Familiarity with motion control principles, including kinematics, dynamics, and trajectory planning.
- Object-Oriented Programming (OOP): Strong understanding and application of OOP principles.
- Debugging & Testing: Experience with debugging tools and techniques, as well as writing unit tests and integration tests.
- Teamwork & Communication: Ability to work effectively within a collaborative, cross-functional team environment.
- Problem-Solving: Excellent analytical and problem-solving skills, with a systematic approach to debugging and troubleshooting.
- Education: Bachelor's degree in Computer Science, Electrical Engineering, Mechanical Engineering, or a related field with a focus on Control Systems.
Bonus Points (Nice to Have):
- Experience with 3D graphics libraries – particularly if relevant to visualization or simulation within the motion control system (e.g. VTK, CGAL, MeshLib)
- Experience with industrial communication protocols (e.g., EtherCAT, Profinet, MODBUS).
- Familiarity with hardware interfaces (e.g., SPI, I2C, CAN).
- Familiarity with computer vision and related libraries (e.g. OpenCV)