Embedded software Engineer III
Singapore - Marsiling Update time: January 24,2020
Job Description
How Will You Make an Impact?
 
·         What are we building and what is my contribution?
We are world leading company in providing qPCR instruments which are used in life science research and diagnostics. You will be developing algorithms through understanding the domain, performing research, proof of concept and develop the solutions.
 
·         How do I prosper/what’s in it for me?
You will have chance to work with team of engineers/researchers globally and develop solution to be used in the newly develop or existing instruments.
 
·         How do I align to the organization?
You need to be innovative, able to investigate, research and propose the solution independently. 
 
 
 
What will you do?
 
·         Develop world class products and applications for the Life Sciences industry (qPCR, sequencing, etc)
·         Work independently in a cross functional team to develop firmware (low level instrument controller) according to specifications and development standards
·         Work with technical experts to assist he/she in the responsibility mentioned above.
·         Work in a geographically separated team in different time zones
·         Contribute to innovation and process improvement efforts
 
How will you get here?
 
I.        Education
 
·         Technical degree with 4-5 years of relevant experience as a software professional. 
 
 
II.        Experience
·         Python:
o    In-depth knowledge of threading model, data structures (mutable vs. immutable data types)
o    Experience creating Python bindings in C and C++ (thread handling, reference counting & memory allocation)
o    Nice to have: Experience with regular expressions
·         Linux/Android:
o    Build a system from scratch (or at least via tools like "debootstrap").
o    Exposure to the Android Open Source Project (AOSP), and/or Android-x86.  (Including building the latter from sources).
o    Bootstrapping on different architectures (UBoot for ARM, GRUB/LILO for x86, etc)
o    Kernel configuration and building
o    Proceses/threads, process spawning and lifecycle, signals, IPC, sockets, Linux DBUS interface
·         Nice to have: Kernel device drivers, USB interfaces,
·         C/C++:
o    Do basic coding tests. Look for potential issues with understanding of pointers, memory allocation/free, overflow errors (eg the different between "(lower+upper)/2" and "(upper-lower)/2+lower") for integer data types, etc.
o    Familiarity with standards like C++11, C++14, including unified interfaces to timers, 
o    GNU toolchain: Autoconf, automake, manual Makefile editing, gcc, etc.
o    Cross-compilers: How to build binutils, gcc, etc for different targets
o    Experience with NDK (the Android Native Development Kit)
·         OOAD
o    experience with building large multi-threaded applications (including mutexes, resource handling, race conditions, etc)
 
 
III.        Knowledge, Skills, Abilities
 

·         Able to provide usability feedback.

·         Working experience in cross-functional teams is required 

Get email alerts for the latest"Embedded software Engineer III jobs in "