Enable job alerts via email!

Software Engineer

ADVENTS INSIGHT

Penang

On-site

MYR 60,000 - 90,000

Full time

5 days ago
Be an early applicant

Boost your interview chances

Create a job specific, tailored resume for higher success rate.

Job summary

A leading company in Penang is looking for a C++ Software Engineer to design and implement complex software solutions for embedded systems. The role involves using C/C++ for high-speed data processing and device driver development, alongside mentoring junior developers. With an emphasis on collaboration and problem-solving, this position is integral to advancing the company's innovative technologies.

Qualifications

  • At least 3 years of embedded development experience.
  • Strong C and C++ programming skills for embedded applications.
  • Experience developing in a Linux environment for ARM processors.

Responsibilities

  • Design and implement multi-threaded software in C++.
  • Develop software modules following modern C++ design patterns.
  • Mentor and coach junior developers.

Skills

C++ programming
Embedded development
Problem-solving
C programming
Communication

Education

Bachelor's or Master's degree in Computer Engineering, Software Engineering, Electronics, or Electrical Engineering

Tools

Linux environment
C/C++ compilation and debugging tools
Make
Python

Job description

Role: C++ Software Engineer

Location: Penang, Malaysia (Onsite)

Job Description
  • Design and implement sophisticated, scalable, multi-threaded object-oriented software in C++ to solve challenging problems involving high-speed data processing and networking.
  • Develop advanced software modules following modern C++ design patterns.
  • Utilize C programming skills for Linux device driver development and debugging.
  • Identify and improve low-level system performance issues through problem-solving skills and experience.
  • Design algorithms for controlling image acquisition parameters and environmental conditions (Temperature, Power, Fog, Frost, etc.).
  • Create design documents on software architecture and algorithms.
  • Collaborate with hardware designers on board bring-up and debugging.
  • Maintain and improve firmware build systems using Make and Python.
  • Review peers' code for adherence to coding standards and design guidelines.
  • Estimate and track time and effort for implementation tasks.
  • Review marketing and product requirements during feasibility and development phases.
  • Collaborate with QA on test case identification for new features and regression testing.
  • Follow established development processes for all tasks.
  • Provide mentorship and coaching to junior developers.
Basic Requirements
  • Bachelor's or Master's degree in Computer Engineering, Software Engineering, Electronics, or Electrical Engineering.
  • At least 3 years of embedded development experience.
  • Strong C and C++ programming skills for embedded applications.
  • Understanding of operating system concepts including processes, threads, mutexes, interrupt handling, and exceptions.
  • Experience with C/C++ compilation and debugging tools.
  • Proficiency with scripting languages, build systems, and version control systems.
  • Excellent written and oral communication skills.
  • Experience developing in a Linux environment for ARM processors.
  • Knowledge of low-level programming for hardware peripherals and drivers.
  • Understanding of embedded design considerations such as memory management, microprocessor architectures, instruction efficiency, and I/O timing.
  • Knowledge of digital imaging/photography and audio/video coding is a plus.
Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.