Cheng Kok-Hong
Objectives
- Manager - software and firmware development.
- Architect - software/firmware design and engineering.
- Consultant - information technology, networking and security.
Experience
Aztech Systems Ltd, Singapore
Firmware Manager: March 2004 - June 2005, July 2006 - Present
- Manage a team of 20 firmware/software engineers.
- Technical advisor and system administrator.
- Devise and refine firmware development processes/procedures.
- Setup and maintain 5 Linux servers.
- Software configuration management, code organization, backup.
- Develop and implement tools for system administration and backup.
- Improve time and storage efficiency with tools developed.
- Version control with SubVersion
- Firmware Release management system backed by SubVersion and MySQL
- Wiki for documentation and content management
- Mantis Bug Tracker for issue tracking
- Web interface for quick file indexing and searching
- Remote Access Server with DHCP and PPPoE
- Provide training on networking technologies and software tools.
- Devise and implement solutions for firmware issues.
- Plan and allocate resources for projects.
- Monitor project progress and completion.
- Planning of new features for future products.
- Interview and recommend prospective firmware engineers.
Project Manager: TR-069 (CPE WAN Management Protocol)
- Lead team of 4 software engineers.
- Prioritize and plan bug fixes and feature development.
- Analyze and interpret protocol requirements and customer issues.
- Developed Auto Configuration Server (ACS) test tool for in-house testing.
- Protocols: SOAP, HTTP, SSL
- Languages: C, Python, XML
Aztech Systems Ltd, Singapore
Lead Firmware Engineer: September 2000 - February 2004
- Feature implementations - VLAN-to-PVC mapping, Dynamic DNS client, PPPoE relay, IEEE 802.11b
wireless LAN, Wake-On-LAN, IP and MAC address filtering, FTP client, DNS server, SNTP client.
- Good knowledge of IEEE 802.11 security, encryption, WEP, WPA and 802.1x.
- Integrate IEEE 802.11 Wireless Access Point driver for Lucent Orinoco and Intersil PRISM cards.
- Contributed to technical evaluation to secure 18k unit order for DSL modem/router deployment.
- Embedded webserver development experience - EmWeb (licensed by Cisco), WindRiver WindWeb.
- RTOS software development in C and C++ interfacing with hardware.
E.g. Virata's ATMOS, Quantum, WindRiver's VxWorks and MontaVista Embedded Linux.
- Developed firmware for ADSL and SDSL modems/routers; good knowledge of xDSL protocols.
E.g. Aztech DSL900E(B)/(R) sold widely in Singapore and around the world.
- Help team manager interview and evaluate potential firmware engineers.
- Draft job requirements for potential applicants.
- Firmware and networking problem resolution and research.
- Setup and maintenance of firmware development environment on the Linux.
- Consultation and training of Linux networking and administration to colleagues and working partners.
- Software development planning and implementation.
- Provided training to customers on ADSL and ATM concepts.
Education
National University of Singapore, Singapore-MIT Alliance
Master of Science in Computer Science: 2005 - 2006
- Book prize award for Best Student in Applied Parallel Computing (SMA5505)
- Applied Parallel Computing: Parallel Longest Common Subsequence Computation in MPI.
- RFID door controller integration with enterprise identity management system (
Encentuate)
- Artificial Intelligence: Learning and sampling on Bayesian Networks.
- Compiler implementation in Java for Decaf (reduced Java) language.
- Database: Query Processor Implementation in Java.
- Database: DBMS implementation for Music Store.
- Machine Learning: Comparison of techniques for text categorization.
- Pervasive Computing: Mobile Campus Maps.
University of Illinois at Urbana-Champaign
Bachelor of Science in Electrical Engineering, 1997 - 2000
- GPA: 3.83/4.0 - Graduated with Highest Honors (First Class Honors)
- Graduated among top 5% in College of Engineering
- Minor degree in Computer Science
- Grader - High Speed Parallel Computation (graduate class)
- Grader - C Programming for Scientists and Engineers (first year class)
- Top student in C Programming (first year class)
- Designed pipelined MIPS CPU in Computer Architecture course
- Compiler optimization by implementing Java bytecode in C
- Linux Kernel Module Development - Porting SunOS Myrinet driver to Linux
- Elevator Controller with Motorola HC11 Microcontroller
- Sound Blaster programming, playback and stereo mixing in Intel x86 assembly
- PC-104 Evaluation Board.
- Image capture with BrookTree chip.
- SCSI CDROM controller driver in C
- Seven Segment Display driver
Raffles Junior College
GCE 'A' Levels, 1993 - 1994
- A's for Physics, Mathematics, Further Mathematics and Economics
- A1 for 'AO' Chinese, B3 for General Paper
Raffles Institution
GCE 'O' Levels, 1989 - 1992
- A1 for English, Chinese, Math, Additional Math, Physics, Chemistry.
- A2 for Geography, B3 for English Literature
Awards and Prizes
- EDB-PLE (Aztech) Undergraduate Scholarship, 1997
- Singapore-MIT Alliance Graduate Scholarship, 2005
- Book Prize for Best Student in Applied Parallel Computing, 2006
Technical Skills
Technical Knowledge
- Web Technologies - HTTP, XML, AJAX, DOM, SOAP, CGI, PHP, LAMP.
- Web Development - HTML, DHTML, CSS.
- Networking - Ethernet (802.3), IEEE 802.11 (WLAN), Homeplug, bridging.
- IP - Addressing, routing, CIDR, subnetting.
- Internet - PPP, DNS, DHCP, firewall, NAT, SNTP, FTP, SCP.
- Security - Secure Sockets Layer (SSL), Secure SHell (SSH) + Public Key Infrastructure (PKI)
- High Performance Computing (HPC) - Clustering, Parallel computation, MPI, OpenMP.
- PC System Architecture - CPU, memory, disks, graphics, sound.
- Storage - partitions, RAID, filesystems (EXT2/3, Reiser, NTFS, FAT16/32).
- Multimedia - MPEG, AVI, video formats, capturing, editing, conversion.
- Operating Systems - Linux/Unix (since 1997), Windows 9x/2000/NT/XP.
- Others - GPS, Bluetooth, RFID.
Programming Languages/Skills
- C, C++
- Python, Java, Perl
- Unix Network Programming, Socket Programming
- Parallel programming with Pthreads, MPI, OpenMP
- HTML, CSS, Javascript
- Scripting: BASH, TCSH, DOS batch, AutoIT
- SQL, JDBC, ODBC
- Windows and DirectX
Computer Applications and Software Tools
- Apache HTTP Server, MySQL, Tomcat
- Concurrent Versions System (CVS), SubVersion (SVN)
- Source Insight IDE, NetBeans IDE, Eclipse IDE
- Microsoft Visual Studio 6.0, .NET, WindRiver Tornado, Virata Tools
- KDevelop (KDE, Linux-based IDE)
- Mentor Graphics, Orcad Capture
relevant coursework
- Human-Centric Pervasive Computing
- Applied Parallel Computation
- Machine Learning
- Artificial Intelligence
- Compilers - Computer Language Engineering
- Database Technology
- Operating systems and concepts
- Computer architecture
- Discrete time signal processing
- Distributed systems, communication networks for computers
- Data structures and combinatorial algorithms
- Electronic Circuits
Test Scores
SAT I - 1997
- Verbal: 710/800
- Math: 790/800
SAT II - 1997
- Writing: 770/800
- Physics: 800/800
- Math IIc: 800/800
Interests and Hobbies
- Martial arts, jogging, cycling, bowling, table tennis.
- Chinese chess, singing, movies.
- Multimedia production, video capture and editing.
Updated July 14, 2007