[ ]Experience
-
Senior Software Engineer
July 2021-PresentAzure for Operators - Microsoft Research Cambridge:
Our mission is to empower operators, enterprises, and governments with ubiquitous computing delivered over a secure programmable network.
-
Software Development Engineer
Jan 2020-July 2021- SDE = Someone Does Everything = Full Stack Software Engineer + On-Call Duties
- Working on S3 Object Lambda from Day 1! See: AWS Blog
- Built the internal tooling to track the performance of S3 - the largest distribute storage product in the world. Automated categorization of issues and performance bottlenecks in a very large distributed system help engineers identify and address the problem.
Technology: AWS, Java/RxJava, Python, Ruby, Javascript (Node, Vue.Js)
AWS: S3, EC2, CloudFormation, API Gateway, Lambda, DynamoDB, CloudWatch, Step Function, CDK...
-
Staff Software Engineer
Dec 2018 to Jan 2020General Eletric (Cambridge UK)It has been a tremendous success for me as I have learned a lot, improved myself and become confident in the GE Smallworld technology stacks. I have merged 164+ PRs and completed 91+ stories (25 Pull Requests Merged in First 3 Months), and have contributed quite a few to the smallworld products (Smallworld GIS Software core and other components)
- Agile/Scrum
- Technology: BASH, C/C++, Javascript (NodeJS), Java and Magik; REST API, OAuth2 (UAA), Docker, Kubernetes Clusters.
Highlights of contributions:
- I added the while loop to the Magik programming language.
- I added the regular expression to the Magik programming language.
- I designed and implemented the HTTP library and lots of code refactoring based on this library e.g. SOLR-extractor/engine, outbound/inbound
- I designed and implemented the JWT library which is used in the UAA authentication
- I implemented the Magik Random Interop Library that improves the performance and fix the multithreading race condition problems
- I added the Magik URL validation library (core)
- I contributed to the development of the outbound/inbound framework
- I contributed to MUnit testing framework
- Spikes (Design and Document) e.g. Outgoing SOAP, K8s containers upgrade/degrade
- Bug Fixes and Code Refactoring:
- speed up ACP performance (by Pipe) by ten times.
- speed up Asset Search (SOLR engine) by firing off multiple HTTP requests.
Also, I have also got to play (and put my hands on) the most state-of-the-art container technology (kubernetes). The most take-aways for 2019 to me are the skills of: modifying a compiler (Magik (Wiki)), and the architectural designs e.g. load-balancer, inbound/outbound, k8s clusters.
-
Principal Algorithm Engineer
1-Sept-2010 to 30-Nov-2018Ranplan Wireless (Cambridgeshire UK)My overall job purpose was to provide and implement my algorithm research expertise in developing Ranplan Radio Propagation Model (RPM) which is one of Ranplan's key intellectual property.
Key result areas included
- To support the development of Ranplan in-house ray tracing model
- To lead cutting-edge channel modelling algorithms and techniques
- To train and share all knowledge of algorithm in radio propagation channel modelling
- To provide level 3 support and customer consulting project services
- To contribute to Ranplan Patents
Highlights
- Agile/Scrum
- Core developer of the flagship product (The Author of Ranplan Radiowave Propagation Models) - One of my Babies
- Lead a Propagation Team e.g. Rewrite RPM in C++
- OpenCL GPU Implementation of Vector Ray Launching Algorithms
- Prototyping the Geo-localization algorithm using KNN and other machine learning algorithms.
- Test the performance with Linear Regression and Logistic Regression.
- K-means clustering
- Naive Bayes Algorithm
- Research and Implement the Machine Learning algorithms to predict the wireless building network performance using Support Vector Machine.
- 2G/3G/4G Indoor and Outdoor Radio Network Planning and Optimisation, DAS/WLAN/Femtocell System Design.
- Develop the 32/64-bit cutting-edge wireless radiowave propagation engine (plugins, scripts) using C++, Delphi (with Inline Assembly) etc.
- Research, bug-fixes and development for an indoor wireless planning tool using C#.
- Develop and maintain web-based licensing software using PHP + MySQL + Javascript.
- Develop Hundreds of Unit Tests/Integration Tests in C#, VBScript.
- Develop More than 1500 APIs using Delphi COM.
- Develop Tools of Statistics and Code Quality on Jenkins Continuous Server Powershell.
- Develop Smart/Intelligent algorithms to convert clutter GIS data to vector building data
- Develop various GIS conversion/cropping tools using C#: GeoConverter
- Refactoring and Cleanup Code (produce a much cleaner/elegant code).
Business Card, R & D Manager, Aug/2015
Business Card (PDF), R & D Manager, Aug/2015
Business Card, Head of Radio Propagation Team (Feb/2013)
Business Card, Senior Research Fellow (Jan/2012)
Business Card, Senior Research Fellow (Jan/2012)
Business Card, Ranplan Products -
Research Engineer
May 2016-Mar 2017Contribute to the DRINVENTOR project: PHP, HTML5+CSS, Javascript (jQuery, Ajax)
-
Marie Curie Experienced Researcher
Oct 13~May 15Development of tools for the design of wireless and energy efficient buildings; in charge of high frequency ray tracing tools. (WiFEEB - Wireless Friendly and Energy Efficient Buildings).
References:
-
Data Mining / Developer
Jun 13~Sept 13Development of a Twitter Engine that extracts useful twits and put them into MySQL database for query and analysis later. Keywords: Java, PHP, MySQL, Twitter, Facebook.
References:
Professor Feng Dong (Professor of Visual Computing)
Dr Enjie Liu (Reader in Network Applications)
Project: MyHealthAvatar
-
Lead PHP Developer
Dec 10~Jan 11Lead and be invovled in a web development team for building Online Research Student Application System to be used by University of Bedfordshire from the oncoming academic year 2011 (http://orda.beds.ac.uk). Skills invovled are: PHP5, MySQL, Javascript, CSS and DHTML.
References:
Dr Alexey Bochenkov (Business Interaction Manager)
Offer: 1
-
Research Associate
Jan~June 10
July~Dec 10External-funded project with T-mobile UK
Responsible for propagation modelling
Project Leader:
Prof Jie Zhang (Chair of Wireless Communications and Networks, Head of CWIND - Centre for Wireless Network Design)
-
MPhil Research Studentship (leading to PhD)
Jan 08~Mar 09Design Web 2.0 Application; Integration with
Mambo (CMS) and Joomla (CMS)Products Delivered:
- Web 2.0 Knowledge Engine (KE)
- Web 2.0 Knowledge Management System (KMS)
Projects:
- Achiever
- Emerge
Project Leader:
- Prof Nik Bessis -
MPhil Research Studentship (leading to PhD)
Oct~Dec 07Design Web 2.0 Application; Integration with Mambo (CMS) and Joomla (CMS)
Products Delivered:
- Web 2.0 Knowledge Engine (KE)
- Web 2.0 Knowledge Management System (KMS)
Projects:
- Achiever
- Emerge
Project Leader:
- Prof Nik Bessis -
Manage Domain: CWIND.ORG
12/July/07Manage Domain: CWIND.ORG, Configure Domain / Mailboxes, Build and Maintain Website
Whois Data: 2009-Jan-10
-
IT Manager
Mar~June 07Configure Domain / Mailboxes, Build and Maintain Website
-
Research Assistant in Web Services for Visualisation
Mar~June 07Using .NET , programing Web Services for Visualisation (MAF,VTK,MESA)
Offer: 1
-
Department Assistant for European Project (FP6)
Mar~Oct 07Domestration, programming, and other tasks assigned by
-
PHP Programmer / Website Designer
July 06~Oct 08Responsible for technical operations, which involves managing web server, maintaining database, developing new functions, and ensuring overall system efficiency. Skills: PHP, MySql, Javascript, DHTML, Css. (key feature: search engine and enquiry system)
-
Software Engineer
Mar 06~Dec 07Responsible for technical operations, which involves managing web server, maintaining database, optimizing SQL queries, developing new functions, and ensuring overall system efficiency. Skills involved are PHP, MySql, Smarty, Fusebox, Javascript, Css, DHTML, and Memcached.
-
Bar Staff
Apr~Nov 06Serving drinks, making cocktails ... Had to earn living expense. :(
-
Teaching Assistant
When in Uni.Demostrating (advising students) in the CIS Labs
CIS020-2 Systems Development & Modern Database Practices
Oct, 10 ~ Feb, 10
CIS020-1 Introductory Programming & Modelling
Oct, 10 ~ Feb, 10
CIS010-2 Mobile Applications
Oct, 10 ~ Feb, 10
CIS016-2 Object Oriented Programming & Software Engineering
(I delivered 3 lectures)
Oct, 10 ~ Feb, 10
XIS13-6 Grid Services & Distributed Networking
Feb, 08 ~ May, 08
CIS05-1 Advanced Programming & Modelling
Feb, 08 ~ May, 08
CIS41-2 Object Oriented Programming
Sept, 05 ~ Feb, 06
CIS61-2 System Architecture
Sept, 05 ~ Feb, 06 & Sept, 07 ~ Feb, 08
XIS02-6 Internet Programming
Sept, 06 ~ Feb, 07
CIS69-3 Distributed Software Technology
Sept, 06 ~ Feb, 07
CIS05-2 Comparative Language
Feb, 06 ~ May, 06
CIS57-2 Operating System
Feb, 07 ~ May, 07 & Feb, 06 ~ May, 06
Some References: 1 - 2 - 1 - 2 - 3
Screenshots of timetable: 2008 - 2010
Contracts: 2010 Autumn
-
Software Installation Technician
July 05Upgrading computers in university for the coming year
18:54:01 up 13 days, 18:33, 2 users, load average: 0.98, 0.86, 0.73 - Server PHP Version: 7.4.33
Comments (0)
Read & Write - Normal - Mini - Post - All Comments - Statistics
Be the first one to comment this page !