Software Engineer (C++ / MFC)
Salary: RM 3,800 – RM 5,500 per month
Key Responsibilities
Design, develop, enhance, and maintain Windows desktop applications using C++ and MFC.
Develop intuitive user interfaces, dialogs, custom controls, and application workflows using the MFC framework.
Write clean, efficient, maintainable, and well-documented code following software engineering best practices.
Debug, analyze, and resolve software defects, performance issues, and application crashes.
Participate in application architecture, feature design, and technical discussions.
Integrate third-party libraries, SDKs, industrial cameras, and hardware devices into Windows applications.
Work with communication interfaces such as ADS, TCP/IP, USB, Serial, or Ethernet for hardware integration.
Participate in code reviews and contribute to continuous improvement of development practices.
Support customer deployments and assist in troubleshooting software issues when required.
Required Skills
Strong proficiency in C++ programming.
Good understanding of Modern C++ (C++11/14/17).
Good knowledge of STL, pointers, references, memory management, and exception handling.
Experience developing Windows desktop applications using Microsoft Foundation Classes (MFC).
Familiarity with Microsoft Visual Studio for application development and debugging.
Good understanding of Object-Oriented Programming (OOP) concepts and software design principles.
Basic knowledge of Win32 API and Windows message handling.
Experience debugging applications using Visual Studio debugger.
Basic understanding of multithreading and thread synchronization.
Strong analytical, debugging, and problem-solving skills.
Good communication skills and ability to work effectively with customers and cross-functional teams.
Hands-on experience working in a production, manufacturing, or industrial environment.
Preferred Skills (Good to Have)
Experience with Win32 API programming.
Experience with multithreaded application development.
Familiarity with integrating third-party libraries, SDKs, and DLLs.
Knowledge of TCP/IP, Serial (RS-232/RS-485), USB, or Ethernet communication.
Experience interfacing with industrial hardware, cameras, sensors, PLCs, or automation equipment.
Exposure to machine vision libraries such as HALCON, OpenCV, or similar vision frameworks.
Knowledge of image processing and industrial automation concepts.
Familiarity with Git or other version control systems.
Basic understanding of software design patterns and modular software architecture.
Exposure to performance optimization and memory leak analysis.
What We Offer
Opportunity to work on real-world industrial automation and machine vision applications.
Hands-on experience with industrial cameras, vision systems, and hardware integration.
Exposure to high-performance native Windows application development.
Opportunities to learn advanced image processing and machine vision technologies.
Collaborative engineering environment with continuous learning and career growth.
Opportunity to work directly with customers on challenging industrial automation projects.
Experience & Qualification
Bachelor's degree in Computer Science, Electronics, Electrical Engineering, Information Technology, or a related discipline.
1–3 years of experience in C++ Windows application development.
Experience with MFC-based desktop application development is preferred.
Nice to Have
Candidates with experience in any of the following will have an added advantage:
Machine Vision
Industrial Automation
HALCON
OpenCV
Industrial Cameras
PLC Communication
Windows Services
TCP/IP Socket Programming
Multi-threaded Programming
Performance Optimization
Hardware Integration
Crash Dump Analysis
Manufacturing Software Systems