Big World IT Solutions Limited

C++ Software Engineer

George Town, Penang, MY

3 days ago
Save Job

Summary

Role : C++ Software Development Engineer

Location :Penang, Malaysia


Job description :


Design and implement sophisticated scalable multi-threaded Object Oriented Software in C++ for solving challenging problems involving high speed data processing and networking

Design advanced software modules that follow modern C++ design patterns

Apply C programming skills for Linux device driver development and debugging

Apply problem solving skills and experience to identify and improve low-level system performance issues

Apply engineering principles to design algorithms for controlling image acquisition parameters, as well as environmental conditions (Temperature, Power, Fog, Frost, etc.)

Create design documents on software architecture and algorithms

Collaborate with Hardware designers on board bring-up and debug

Maintain and improve Firmware build system using Make and Python

Review code of peers for adherence to coding standards and design guidelines

Estimate and track time and effort necessary for completing implementation tasks

Review Marketing and Product Requirements Document during feasibility and development

Collaborate with Quality Assurance team on identifying test cases for new features and areas for regression tests

Follow the established development process for all design and implementation tasks

Provides mentorship and coaching to junior developers


Basic Requirements

Bachelor / Master degree in Computer Engineering, Software Engineering and Electronics and Electrical

3+ years embedded development experience

Strong C and C++ design and programming skills for embedded applications

Firm grasp of operating system concepts including processes, threads, mutexes, interrupt handling, and exception handling

Experience with C/C++ compilation and debugging tools

Experience with scripting languages, build systems, and version control systems

Excellent written and oral communication skills

Experience with development in a Linux environment for ARM target processors

Working knowledge in writing low level programming for HW peripherals and drivers.

Understanding of embedded design considerations including C/C++ memory 

management, microprocessor architectures, instruction efficiency, and I/O timing

Knowledge of digital imaging/photography and audio/video coding is a plus

How strong is your resume?

Upload your resume and get feedback from our expert to help land this job

People also searched: