Professional Documents
Culture Documents
Xiao Dong Resume
Xiao Dong Resume
Xiao Dong Resume
OBJECTIVE
Looking for a position where I can maximize my strong full stack .NET and long enough progressively
enterprise applications developing experiences.
COMPUTER SKILLS
Embedded: C++11/17, Linux, STM32F3/F4/F7/H7, CMSIS/CubeMX, FreeRTOS/ChibiOS, lwIP,
SCons/cmake/make, GPIO/UART/RTC/ADC/DAC/PWM/I2C/SPI/CAN/DMA/SDIO/USB
.NET: C#, .Net Core 3.1, ASP.NET/ASP.NET Core, Entity Framework, NHibernate, Dapper, WCF,
WPF/Silverlight, NUnit, Wix
Python: python2.7/3.8, gevent/asyncio, flask
Web and SPA: Javascript ES6/ES5, React/Redux/Chai/Mocha/Webpack, Vue/Vuetify,
JQuery/CSS(Bootstrap)/HTML
Docker: docker file, compose, swarm
Cloud: AWS/TerraForm, Azure/Powershell/CLI/ARM
Database: SQL Server 2005/2008/2012/2014, Postgres, Oracle 10g
Business Intelligence: SSIS, SSAS, SSRS, DevExpress
Data Analysis: Python (NumPy, Pandas, Matplotlib, Pylearn, Tensorflow, Keras)
Healthcare: HL7, Mirth connector, CoPath
Java: J2EE\J2SE, Spring, Hibernate/JPA, Maven/Ant, JUnit, Applet, Adobe BlazeDS(Flex)
Web Servers: IIS 5/6/7, Oracle Web Application, Tomcat
Platforms: Microsoft Windows XP/Vista/7/10, Windows Server 2003/2008/2012, Linux(RedHat AS 5/Ubuntu)
Tools: VS 2008/2010/2015/2017, Eclipse, Git, Subversion, TeamCity, NCover, Jira
CERTIFICATION
Coursera - deeplearning.ai
Neural Networks and Deep Learning
Improving Deep Neural Networks
Regularization and Optimization
Convolutional Neural Networks
Sequence Models
EXPERIENCE
Leica Biosystems
The company: A global leader in automation and workflow solutions for anatomic pathology lab, provides
pathologists, histologists and researchers a comprehensive range of products for each step in the pathology
process.
TAIPAN
Leica’s next generation advanced slide staining instrument. It’s such a complex instrument that took a long
journey to reach its roll out moment right now. I joined this project at its middle stage and learnt
tremendous embedded development and system integration knowledges.
Role: Key developer
Responsibilities:
- Slave Firmware: ChibiOS based real time applications running on multiple STM32f407/429 self-
designed boards.
Enhanced bootloader application which initialize and upgrades firmware using ethernet
communication interface.
Developed firmware application running on 27 boards which interact with on board devices,
downstream sensors, devices, and upstream applications. The hardware interfaces I
programmed include
Lwip stack for ethernet communication between slave to slave and slave to master boards
CAN bus for step motors to drive robot movement and piston pumps
PWM for multiple speed pumps and fans
GPIO for vary valves, solenoid switch and locks
ADC for reading temperature and pressure sensors
RTC for logging timestamps
UART for multiple command-controlled devices
SPI and I2C for multiple on-board FRAM and peripherals
Implemented on-board workflows documented by principle engineer for achieving various
functioning sub-systems.
Enhanced and improved build scripts (SCons and cmake) to speed up built time and output
informative reports (static memory usage, test coverage and etc.)
- Instrument Control: a coroutine based python application for inter-boards and external
communication middleware.
Using gevent as backbone implemented the IO bound message processing and relay
system, which handles command requests and responds, firmware events and sensor
status data emitted from all 27 boards. The size of message data is huge and using
coroutine based parallel programming is the key to success comparing to previous
unsuccessful development iterations.
Jadak camera development - decode 24 slide barcodes from slide drawer’s image
Proposed and implemented the camera control directly through socket connection
instead of vendor provided SDK to improve performance and stability.
Implemented python version image packets transmission protocols defined by vendor
Preprocess image using OpenCV to improve decoding results
Built multiple frameworks for running calibration scripts used by electronical and mechanical
engineers.
- Domain Control: a ASP.net Core based functional application for managing and scheduling slide
staining procedures.
Implemented ZMQ based communication infrastructure.
Implemented stories, learnt job scheduling algorithms.
Implemented Swagger interfaces for query and priming data used by integration and
automation tests
- Serpent: a Vue based front end and python flask + asyncio based back end signal data graphing
and instrument calibration tool set used by hardware engineers and testers to diagnose and
calibrate instruments.
Built the whole backend infrastructure which performs multiple tasks in parallel, includes
Decode packed signal data in high performance way
Persist in HDF5 or Parquet format with big amount data (GBs per hour)
Query data using PySpark/Parquet or PyTable/HDF5
Ad-hoc scripts execution environment for diagnose and calibration
Implemented Machine Learning algorithm(Anomaly Detection) POC for detecting heater and
peltier’s condition utilizing Parquet files and Spark’s MLib
Support front end development with whatever they want
CEREBRO
A sample tracking system enables laboratories to track each sample through every step of process to
improve patient safety, laboratory productivity and analytics.
I have been nursing this product from its hard birth to its commercial success with over 80 clients
worldwide.
- Database development
● The owner of database development. Wrote SQL scripts and stored procedures range from
database creation, schema changes, data migration, to ad-hoc queries and large database
population for performance testing.
● Database performance tuning. Identified critical performance impact queries emitted in C#
code, and lack of indexes in database tables. Proficient at utilizing SQL profiler, execution plan
and dynamic management views to troubleshoot performance issues.
● Implemented data security solution using Transparent Data Encryption (TDE)
● Implemented database replication automation scripts
● Proposed and implemented indexed views for speeding up queries and reporting
APIQ
A mobile lab management system provides reagent inventory management and instrument dashboard.
Role: Developer
Responsibilities:
- Back-end data service development – C#/IIS/WebAPI
- Front-end SPA development: Angular JS
BOND
A fully automated immunohistochemistry (IHC) and in-situ hybridization (ISH) staining system that improves
speed, efficiency and quality to histopathology laboratories and hospitals.
Role: Developer
Responsibilities:
- Front-end development – C#/Silverlight
- Back-end Asp.net + IIS development
- Database maintaining and performance tuning - PostgreSQL
RemoteCare
A cloud based remote support and IoT solution (built on top of Axeda platform) used for Leica's various
instruments.
EDUCATION
Bachelor of Computer Science 2004
RMIT, Melbourne
Master of Business 2008
Victoria University, Melbourne