Salary Range: RM3,200 - RM4,500
Job Overview:
We are seeking a talented and driven Software Application Engineer/Developer to join our dynamic engineering team. In this role, you will be responsible for designing, developing, and maintaining software applications that interface with embedded systems, microcontroller-based hardware, and etc. Your work will bridge the gap between hardware and user-facing software, ensuring seamless integration and high performance across our product line.
Key Responsibilities:
Design and Development:
- Develop, test, and maintain software applications that interact with embedded systems and hardware components.
- Collaborate with cross-functional teams, including embedded software engineers, hardware engineers, and product management, to define software requirements and architecture.
- Utilizing application interfaces (APIs) that facilitate communication between software applications and embedded systems.
- Create a user-friendly interface for the software application
Integration:
- Ensure smooth integration of software applications with various engineering platforms, ensuring compatibility and performance optimization.
- Work on middleware solutions to manage communication between embedded systems and higher-level software applications.
Testing and Debugging:
- Perform rigorous testing of software applications to ensure reliability, security, and performance.
- Debug and resolve software issues related to application performance, user interface, and hardware interaction.
Documentation and Support:
- Develop and maintain comprehensive documentation for software applications, including design specifications, user manuals, and troubleshooting guides.
- Provide technical support and guidance to internal teams and end-users, addressing software-related inquiries and issues.
Continuous Improvement:
- Stay up-to-date with industry trends, tools, and technologies to continually enhance software development processes and product quality.
- Contribute to code reviews, sharing best practices and fostering a culture of continuous learning within the team.
Qualifications:
Education:
- Bachelor’s degree in Computer Engineering, Software Engineering, Electrical Engineering, Electronic Engineering or software related field.
Experience:
- Preferably 1+ years of experience in software application development, particularly in environments involving hardware or embedded systems.
- Experience with programming languages such as C/C++/C#, Python, Java, or similar. (Proficiency in C# and Python is highly preferred.)
- Added value for experience in Linux System Programming & Assembly Language.
Skills:
- Strong understanding of software architecture, particularly in systems that interact with hardware.
- Experience with communication protocols (e.g., UART, SPI, I2C, CAN) and real-time operating systems (RTOS) is a plus.
- Proficiency in debugging and optimizing software for performance and reliability.
- Strong problem-solving skills and ability to work collaboratively in a fast-paced environment.
Soft Skills:
- Excellent communication skills, both written and verbal.
- Ability to work independently as well as part of a team.
- Strong attention to detail and a commitment to delivering high-quality software.
Preferred Qualifications:
- Experience with IoT systems or industrial automation.
- Familiarity with version control systems (e.g., Git) and continuous integration/continuous deployment (CI/CD) pipelines.
- Knowledge of user interface design and development.