Han Lim Ng

18 OZ 12, Ozana Impian, Bukit Katil, 75450 Melaka, Malaysia · (+86) 156-8394-1515 · nhlhanlim93@outlook.com

I am an experienced engineer with a demonstrated history of working in the semiconductor industry. I am skilled in low-level and high-level programming, with good understanding of the current software trends in Blockchain, Machine Learning and Deep Learning. My programming language of choice are Python and C/C++, but I have no problem picking up any other languages as required by the task-on-hand. I possessed strong analytical and development skills with a Masters of Science focused in Computer Science from Universiti Sains Malaysia, and a Bachelor of Science in Physics from Purdue University. I am currently searching for job opportunities in China.


Software Developer

Freelance - Remote
  • Reviews software requirements with clients to achieve mutual understanding on the core concepts of the projects.
  • Plans and designs code structures for optimal implementation of solution on Python, C, C++ and/or JavaScript.
  • Identifies potential roadblocks and dependencies to correctly plan out software development cycle for proper project execution and delivery.
  • Streamlined software development with use of versioning tools like Git for easy code tracking or rollbacks.
August 2016 - Current

BIOS Engineer

Intel Corporation - Bayan Lepas, Penang, Malaysia
  • Headed the development of coreboot bootloader reference code for Intel Core product towards production milestone.
  • Performed proper integration and consumption of the Intel Firmware Support Package (FSP) to enable Intel-proprietary silicon features on coreboot.
  • Participated in Gerrit code reviews to ensure promptness of code check-in to the public coreboot source code repository.
  • Coordinated and identified risks/dependencies of program execution to ensure successful program deliverables.
  • Introduced the Python-based coreboot Stitch Tools to streamline the process of creating a final Intel FirmWare Image (IFWI) to enhance customers’ user experience.
  • Enabled security features such as Intel Boot Guard, Verified Boot and Measured Boot on Intel platforms to prevent unauthorized modification of firmware on physical SPI chip.
  • Developed platform UEFI reference code for Intel silicon products such as next generation Core and Atom processors.
  • Supported development of Intel Firmware Support Package (FSP) as part of integration for bootloader solutions.
  • Ported and customized platform-specific packages and features across different Intel platforms on the UEFI framework.
  • Administered continuous integration infrastructure such as TeamCity alongside with code development tools like Secure Git and Gerrit.
  • Proactively streamlined development flow by porting internal codes to unified source tree to minimize code fragmentation.
  • Worked closely with other global Intel teams and be responsible for development and validation stages of the program.
August 2016 - August 2018

Undergraduate Teaching Assistant

Purdue University - West Lafayette, Indiana, United States of America
  • Assembled set-ups for Electricity, Magnetism and Optics lab experiments to facilitate Physics courses.
  • Troubleshoot potential errors during set-up to minimize difficulties during lab sessions.
  • Informed other teaching assistants and staffs about special conditions or requirements for experiments.
2014 - May 2016


Universiti Sains Malaysia

Master of Science - Computer Science
Research Topic: Image Classification through Histogram Matching using K-Nearest Neighbour

GPA: 3.84 / 4.00

August 2017 - September 2018

Purdue University

Bachelor of Science - Physics
Minor: Computer Science
Certificate: Entrepreneurship and Innovation

GPA: 3.68 / 4.00

August 2013 - May 2016


Programming Languages & Tools
  • Mobile-First, Responsive Design
  • Cross Browser Testing & Debugging
  • Cross Functional Teams
  • Agile Development & Scrum


Textual Analysis of IPO Prospectus

  • Performed web scraping to extract different sections of IPO prospectus hosted on U.S. Securities and Exchange Commission (SEC) website.
  • Converted English-words in the IPO prospectus to root words using NLP libraries to create universe of known words for vector construction.
  • Encoded words found in IPO prospectus using the one-hot-encoding scheme to create normalized word vector for document similarity calculations.
  • Calculated various parameters to measure document similarities by performing vector operations on the derived word vectors to study the level of information gain in various prospectuses.
View project

ESP8266 Embedded SmartHome Application

  • Developed custom devices by enabling various sensors on hobbyist microcontrollers such as NodeMCU, ESP8266 and Arduino.
  • Architected the network and communication protocols using RESTful implementation between devices to allow seamless control of home automation devices.
  • Implemented Over-the-Air (OTA) update feature on compatible devices from home server to avoid physical re-programming of microcontroller features.
  • Integrated custom devices with Google Home API to allow natural voice control without assistance of traditional HID.

Serial Debug I/O Automation

Intel Corporation
  • Designed Python modules to perform automated BIOS Setup Menu entry to carry out pre-recorded unit tests.
  • Lessened human dependency to manually enter BIOS Setup Menu and changing option values.
  • Expedited the process of BIOS validation tests by removing the human bottleneck in the validation flow.
  • Advised customer-facing engineers on the use-cases and advantages of this tool to improve their debug flows
View project

UEFI GUID Decipher Tool

Intel Corporation
  • Introduced a debugging tool that allow UEFI BIOS developers to quickly perform debugging through log file without cross-referencing the source code.
  • Accelerated time taken to identify missing EFI modules from minutes to mere seconds.
  • Oversee the development of the online version of this tool on Python Flask, JavaScript and MongoDB to be used as shared knowledge base among Intel’s UEFI BIOS developers.

WiFi Presence Detect

  • Performs IP address and port scanning of devices connected to the local WiFi as a way to detect local presence.
  • Keeps track of device status changes by monitoring device connection states and events.
  • Notifies admins or privilleged users of any changes to indicate if a monitored device leaves/enters the WiFi network.
  • Users can interface with the program via a web page UI or a Telegram chat bot.
View project

YTS Movie Telegram Bot

  • Built on top of Telegram's API with tasks handling performed using multithreading in Python.
  • Performs periodical parsing of RSS feeds from YTS.ag website to get information of new movie releases.
  • Movies' and bot's subscribed users information are processed and stored in MongoDB for convenient reference.

Facilities Occupancy Tracking Android App

Intel Malaysia Maker
  • Developed a native Android application to display real-time information of the occupancy state of facilities in a building.
  • Utilized RESTful APIs such as POST and GET methods to receive facilities’ data from web server.
  • Provided crucial specifications for data structure to enable smooth communications between sensors, web server and app.
  • Advised the use-cases and setup of wireless radio modules like ESP8266 to transmit sensor data.
View project

Indoor Positioning Systems through Multilateration for Autonomous Unmanned Aerial Vehicle System

  • Integrated the Pozyx indoor positioning system into an off-the-shelve 3D Robotics Iris+ Drone.
  • Modified the drone’s on-board Pixhawk flight controller’s source code to set up a secondary positioning system.
  • Enabled real-time indoor tracking of a flying drone on a Graphical User Interface using Raspberry Pi and TCP/IP.
  • Conducted field testing to tweak parameters for proper functioning and safety.
View project
2016 - 2017

MapperLib Python Library

  • Converts Cartesian coordinates generated by an indoor positioning system such as Pozyx into the widely accepted WGS84 GPS coordinates.
  • Ported from MapperLib Arduino Library (below) to Python to allow flexible integration into Raspberry Pi-driven navigational projects.

MapperLib Arduino Library

  • Converts Cartesian coordinates generated by an indoor positioning system such as Pozyx into the widely accepted WGS84 GPS coordinates.
  • Implemented according to Arduino Library Framework to allow easy integration into existing Arduino projects.
View project

Achievements & Notable Experiences

Instructor for Intel Platform Boot Technology Training

Intel Corporation - Internet of Things Group
  • Actively revamped the traditional BIOS 101 training materials with updated information on UEFI, FSP and coreboot.
  • Illustrated and explained the architecture flows of different bootloader solutions namely; UEFI and coreboot/FSP.
  • Trained drivers and OS development teams to educate them on the role of bootloader in the firmware stack.
  • Consulted participants on architecture limitations and implementations of platform-specific features.

Technical Instructor

Intel Corporation - Intel Malaysia Maker
  • Conducted workshops to teach participants on how to start using Genuino 101 microcontroller & Intel Edison boards.
  • Trained new instructors on project/syllabus organization and hardware specifications/capabilities.
  • Developed interesting and novel projects for future workshops and demonstrations.
  • Collaborated as a group in the planning of future workshops and external event supports.
2016 - 2017

Trainer for Intel Active Management Technology (AMT)

Intel Corporation - Internet of Things Group
  • Consulted technology representatives from external companies of different APAC regions on how to set-up and configure Intel AMT on host systems.
  • Demonstrated the features of Intel AMT technology such as serial-on-LAN, OS redirection, and remote desktop control on compatible Windows and Linux systems.
  • Proactively influenced customers to adopt Intel vPro products by explaining how Intel AMT can help to facilitate their administration requirements.

Key member of Intel Manageability Firmware Critical Vulnerability Workgroup

Intel Corporation - Internet of Things Group
  • Established a methodology to conduct preliminary discovery of vulnerable units through a SMBIOS entry check that could be run at OS-level without modification to the existing firmware.
  • Proactively advised members of workgroup on UEFI technicalities to expedite development and release of the Intel Linux Detection and Mitigation Tools.

Technical and Process Development

Intel Corporation - Internet of Things Group
  • Actively participated in Ops Review / Sharing sessions to share knowledge on technical topics like MTRRs, PCI and debugging tools.
  • Authored the Driver Writing Guide for coreboot, coreboot Ramp-Up Guide for UEFI Developers and coreboot/FSP project engagement guide to accelerate the onboarding process for new members.
  • Curated a training guide for new UEFI developers to ramp-up their knowledge of the framework.