R&D Software Developer ID:51277

3,000 MYR ~ 10,000 MYRBatu KawanOver 3 months ago

Overview

  • Salary

    3,000 MYR ~ 10,000 MYR

  • Industry

    Manufacturing(Electronics/Semiconductors)

  • Job Description

    Our company mainly builds machine vision systems for quality inspection of industrial products. The systems often require sophisticated algorithms with stringent throughput and latency requirements. Our team focuses on creating in-house software tools and libraries to ease the development of such systems in C++. We are looking for an experienced software engineer to help in developing an optimizing source-to-source compiler using Clang, as part of our active library solution. Our aim is to achieve an innovation breakthrough in C++ programming by marrying ease-of-use, flexibility and high-performance computing on modern parallel hardware.

    Responsibilities:


    • To implement optimizing source-to-source compiler using Clang Libtooling
    • To develop tools that complement the source-to-source transpiler, enhancing debugging and Visual Studio integration experience
    • To participate in the design and evolution of our active library
    • To assist and train developers in the adoption of our active library
    • To assist in writing technical articles and documentation

Qualifications

  • Requirement

    - Education Background : Completed or upon completion (final year) undergraduate/master in Computer Science, Electronics Engineering or equivalent.

    - Experience : Fresh graduate or experience candidate in similar field are welcome to apply

    - Require Skill :
    • Solid skills in C++11 or later
    • Experience using Clang Libtooling, with a good understanding of Clang AST
    • Comfortable with C++ template metaprogramming/compile-time programming
    • Good understanding of multithreading, parallelization, and concurrency
    • Good algorithm and problem-solving skill
    • Good software optimization skills (i.e. reducing algorithmic complexity, dynamic programming, memory usage, cache optimization, etc.)
    • Good understanding of modern computer architecture
    • Basic understanding of the operating system (Windows and/or Linux)
    • Excellent teamwork and communication skills
    • Good technical writing skills

    Any combination of the following has added advantages:
    • Basic understanding of CUDA or OpenCL
    • Basic understanding of vectorization in CPU (including using Intel SIMD intrinsics)
    • Know-how in creating a source-to-source compiler using Clang
    • Know-how in creating a custom compiler toolset in Visual Studio 2015 or later
    • Know-how in creating Visual Studio Extension

  • English Level

    -

  • Other Language

    Malay, English

Additional Information