Work Experience

Senior Software Engineer

Microsoft
June 2020 ~ Now (Full time)

Responsibilities

  • Work in the Commercial Software Engineering team to collaborate with customers of different technical background across the globe.
  • Worked within the team specialised in Financial Services Industry and now in Public Sectors.
  • Design, build and test software engineering based systems that most of the time event-driven and deployed on Kubernetes while utilise the ecosystem around Microsoft Azure.
  • Create DevSecOps and MLOps pipelines on machine learning based systems to facilitate the work of data scientists and engineers.
  • Design, architect and build solutions on both the cloud and physical edge computing hardware that can be fully-connected, hybrid or air-gapped.

Achievements

  • Being the “unblocker” of the team that help to solve high value, difficult and challenging problems in different areas of each engagement.
  • Acted as the tech lead of customer engagement and successfully led the technical team combined with the engineers from the customer side to deliver Kubernetes based, event-driven system that handle large amount of data processing.
  • Being an active participant in design sessions of most of the solutions and provide meaningful and constructive feedbacks on high level system design and data flow optimisation.
  • Consistently create high quality Pull Requests that accurately implement business requirements and deliver business value. Actively seeking for clarification and help when needed during the process.
  • Help to skill up team members and customers on different technology topics and different levels.

Director & Principal Consultant

XYZHOU & CO
Apr 2022 ~ Now (Self-employed)

Despite the difficulties we are all experiencing economically, the need for IT work has been going up steadily. This is the reason I have decided to conclude the work in Sysnematic and start a new company to focus not only on solving problems for other businesses, but also building products and solutions that can benefit more people, companies, and communities.

I am continuing to use this as my opportunity to “take a break” in my day job, learn and experiment with new technologies, while taking more responsibilities. Working with clients that come from both IT background and non-IT background like marketing department tell me a lot of how to best priorities work, communicate technical concepts and work out the most pragmatic and efficient way of delivering business value, which I am a firm believer in.

Achievements

I am new here, will update this soon.

Co-Founder & Principal Consultant

Sysnematic
July 2019 ~ June 2022 (Self-employed)

Having being a software engineer, a DevOps engineer, a solution architect, a technical and running my first consultancy company Codellider for a while, I feel like there are so many more challenges out to be solved and it's time to get excited and serious.

This is my second IT consultancy company and this time we have more experiences, opportunities and a more business focused lens while designing, building and deploying technical solutions. I discovered that love talking to clients, understanding various challenges in different industries and really enjoying designing technical solutions that are solid, creative, future-proof, but still pragmatic.

I am here to fill the gap of business and technology, just like every other consultant from every other consulting company. However, the difference is that I've been in different roles and doing different things, and I have been doing them well. From writing highly-concurrent distributed applications to fire-fighting production environment at 3 AM in the morning; from designing a multi-tenant data platform using Kubernetes and Databricks, to sitting down and explaining to people what is OAuth and mutual TLS authentication.

So when you are talking to me you will have the confidence that you are not just dealing with someone who has an idea that "OAuth" is great so let's use it, but someone who actually read the RFCs, built OAuth servers and clients from scratch, and have implemented it in multiple commercial projects in large companies. You will be surprised how many "security experts" in large enterprises never tried to decode a "JWT" token, and I can assure you that I am not one of those.

No problem out there is a pure technical problem, so let me know your business challenges at hand, and let's work together to solve them.

Achievements

  • Lead a team that design and build a cloud-native serverless application that assists a major Australian transportation company to optimise their transportation process. (Node.js, AWS Lambda, DynamoDB, Hybrid Network, etc...)
  • Lead project between ourselves and vendors to transform a legacy .Net monolith application to a modern cloud-native application on Azure.

Software Engineer / Data Engineer / DevOps Engineer

Telstra
September 2018 ~ June 2020 (Full time)

Responsibilities

  • Working in Telstra as a Software Engineer / Data Engineer / DevOps Engineer in the Telstra Data Hub project (https://bit.ly/2k6Lz1k).
  • Design and architect data-oriented platform which will be used across different industries and government organisations, with the specific focus on Authentication and Authorisation.
  • Lead a team of talented engineers to build and operate the platform using modern platforms & technologies (Microsoft Azure, Databricks, Spark, Kubernetes, Open Policy Agent, gRPC, .Net Core, Scala, Python, Golang).
  • Work closely with product owners, business stakeholders and industry partners to create platforms that focus on delivering business values.
  • Work in two agile teams incubated in Telstra Enterprise run like small businesses.

Achievements

  • Designed and guided a team to implement a multi-cloud microservices system with secure service-to-service authentication (API keys, mutual TLS and JWT token) and authorisation (policy based authorisation with Open Policy Agent).
  • Designed and implement big data pipelines for high volume secure data ingestion with HTTP and MQTT using Azure Kubernetes Service, Azure Event Hub, Azure Data Warehouse and Databricks (Spark with Scala jobs)
  • Created and set up CI/CD pipelines for different technologies and platforms like .Net Core, Spark, Kubernetes and Databricks.
  • Influenced the product team's workflow and tooling to fully embrace good DevOps practices and enabled fast deliveries.
  • Implemented a distributed load testing application (with Akka in Scala) capable of producing 30,000,000 messages per second with 10,000,000 stateful simulation instances.

Co-founder & Technology Lead

Codellider
February 2017 ~ Jun 2019 (Self-employed)

Responsibilities

  • Communicating and negotiating with clients to understand the business requirements and find the most cost effective way to solve their business problem.
  • Architecting and design solutions on a mainly cloud base infrastructure (AWS, Azure).
  • Engineering software and performing code reviews to ensure the quality of the code meets the performance, security and reliability standard.
  • Write software as a Developer, automate process as DevOps, maintain and monitor systems we deployed as Operations.

Achievements

  • Delivered multiple projects for different sizes of businesses in good quality and efficient cost.
  • Designed systems that is highly available, scalable and resilient on AWS platform.
  • Able to coordinate different team members with different skill-sets to collaborate together efficiently on a remote work basis.

Senior DevOps Engineer

AGL Energy
March 2018 ~ Aug 2018 (Full time)

Responsibilities

  • Work in a SAFe Agile environment with cross-functional scrum teams. Be responsible to promote the culture and practices of following the DevOps principle.
  • Work with cutting edge platforms and technologies like Microsoft Azure, Kubernetes, Splunk, Prometheus, Auth0, .Net Framework.
  • Help to shape enterprise solutions to allow better serviceability, monitoring and alerting to meet the increasing business requirements and demands.
  • Writing APIs and Azure Function Apps to enable application health monitoring, log aggregation and stabilise enterprise platforms.
  • Produce documentation on system architecture, design and cross-platform integration mechanisms.

Lead DevOps Engineer

Bupa Australia
January 2017 ~ March 2018 (Full time)

Responsibilities

  • Provide recommendations about best practices and development processes to developers and operations. Provide help for system architectures and security analysts to make design decisions and improvements.
  • Set up enterprise scale CI/CD pipelines with multiple environments. Implement monitoring to development, testing and production environments.
  • Promote DevOps culture and workflows on Microsoft Azure and on-premise systems. Giving information sessions about DevOps culture, tools and best practices.
  • Automate existing manual tasks to improve deployment efficiency and reliability.
  • Work efficiently with multiple teams across multiple expertise and countries.

Achievements

  • Improved the CI/CD workflow and process of a major digital transformation project which allowed multiple deployments per day across the whole stack with a large multi-national team.
  • Identified multiple architecture improvements and potential security vulnerabilities which helped to improve the quality of the product.
  • Delivered technical information sessions and workshops on GIT source control to multiple development teams. Presented benefits to management and business stakeholders which facilitated a top-down transition from TFVC to GIT.

Senior Software Engineer & Solution Architect

Digicap Solutions
September 2012 ~ December 2016 (Full time)

Responsibilities

  • Develop and architect software solutions for clients that integrate with different existing systems.
  • Communicate directly with clients to seek solutions and manage multiple projects.
  • Write server side applications (APIs) in C#, Golang, NodeJS, PHP.
  • Write web applications with and without CMS, experienced in JavaScript especially AngularJS.
  • Crisis management when something goes wrong like website is attacked.
  • Manage cloud based infrastructures on both AWS and Azure, including multiple Linux servers and Azure web applications for multiple clients.
  • Setup development, testing and production environments for the team using Vagrant, Docker, Jenkins etc.

Achievements

  • Established a container (Docker) driven development and deployment workflow using Docker.
  • Designed multiple systems with 1000+ requests per second and high availability and redundancy.
  • Developed multiple systems for clients of various sizes and requirements and deliver within a set time-frame.
  • Led a development team of up to 5 people using both Waterfall and Agile processes to deliver projects within budget and time-frame most of the time.

Clients and Projects

Lifestyle Communities

ASX public company; real estate; thousands of users each month on website

  • Architected and developed their official website using .Net technology and tightly integrate with Runway CRM system
  • Set up, configured and currently managing production and staging web instances and database on Azure for multiple assets
  • Configured and setup continuous integration and continuous deployment for their assets
lifestyle communities

McMillan Shakespeare Group

ASX public company; salary packaging, novated leasing, asset management and insurance; multiple projects

  • Built and currently managing multiple brochure websites
  • Built business portal using .Net technology and AngularJS
  • Was able to work with their deployment and QA process
  • Participated the planning of complicated system migration
  • Managed and helped debugging legacy systems
  • Produced reports during and after website incidents
McMillan Shakespeare Group

Oliver Hume Corporation

Property research and advisory firm; multiple projects

  • Built multiple websites for multi-million dollar development projects
  • Built internal websites for sales and presentation purposes
  • Was able to work with tight deadlines and detailed requirements
  • Provided innovative solutions to meet business needs on short notices
Oliver Hume Corporation

FMC Mediation and Counseling Victoria

Government founded organisation to help people "take back control over their lives"

  • Helped with data analysis and reporting by generating files that used to report to Department of Social Services directly from their system
  • Built government-sponsored project financialfirstaid.org.au which was covered by media
  • Built and currently managing multiple brochure websites
FMC Mediation and Counseling Victoria

Sports Dietitians Australia

Sports dietitian accreditation management across Australia

  • Architected and built their official website and membership management system using open-source technologies; full AngularJS portal and plenty of API integration between different systems
  • Helped to define and optimise membership and accreditation business rules
  • Actively maintain and update the website to meet constant changes of business rules
Sports Dietitians Australia

Royal Agricultural Society of Victoria

Event organiser and event venue management

Royal Agricultural Society of Victoria

Software Engineer

Glow (An Engagement Innovation company)
August 2014 ~ June 2016 (1 year 11 months, Part time)

Responsibilities

  • Write frontend applications using AngularJS.
  • Write unit testing for code written and verify before merge.
  • Participate in code reviews and actively seek for better solutions.

Product

Glowfeed

Fast growing cross platform app and business backend system to help businesses get real-time insights from their customers

  • Helped with building website-based portal, which included multiple assets and required both frontend and backend knowledge; AngularJS + Symfony + MongoDB
  • Wrote unit tests to help improving the quality of existing applications
  • Provided constructive suggestions to project architectures
Glowfeed

Professional Skills

Using on a "day-to-day" basis now

  • JavaScript/TypeScript: Use this quite often, both on the frontend (React, Vue mostly these days) and backend (Node.js). A lot of times combined with CSS when doing frontend.
  • Docker & Kubernetes: Use for application deployments, and build Kubernetes operators every now and then.
  • AWS & Azure: Yes, I do use both of them very frequently.
  • Pipelines: Use both Azure DevOps & GitHub Actions frequently for CI/CD work, also did some GitLab work before.
  • Databaes: I use relational, key-value, document, wide-column and graph databases quite frequently.
  • Monitoring Tools: Use Azure Log Analytics and Prometheus+Grafana

Used them before, but not actively now

  • Golang: Used for multiple commercial grade projects, comfortable to write it at any time.
  • C#: Used for a few commercial projects, but have not been using it for a few years now, so need a refreshment if needed.
  • Python: Mostly making small changes to existing codebase. Can do data processing with this but not really farmiliar with the ecosystem.
  • Scala: Used to write a distributed system in AKKA framework.
  • Scripting Languages: With a lot of Googling very comfortable with Bash & PowerShell scripts.
  • gRPC: Used in a few projects for inter-program communication.
  • Apache Spark: Did quite a few projects with Apache Spark in both batch and streaming processing.

I can do it, but have not used it commercially

  • C/C++: Mostly using this for embedded system programming like AVR, STM32 and ARM micro-controllers.
  • PCB design: Able to design circuits around micro-controllers, not professionaly trained for this but I've designed a few things that worked pretty well.

I won't say I am good at it...
but it would be great to learn!

  • Java: I never had an opportunity to get into Java. The only thing I did in Java was back in the university to build some enterprise apps.
  • Rust: Got a few changes to try it very briefly for some scripts. Like the concepts and syntax, but haven't got the chance to use it extensively.

I would like to stay away from...

  • Mobile Development: Android or iOS, not really interested in building mobile apps.

Professional Certifications

  • Professional Scrum Master I
  • Microsoft Certified: Azure Developer Associate (expired)
  • Google Cloud Associate Cloud Engineer (expired)
  • Red Hat Certified Engineer (expired)
  • Linux Professional Institute Certification I & II (expired)

Education

Monash University

Master of Information Technologies July 2012 ~ July 2014 (Caulfield Campus)

Highlights

  • Specialised in Security and Software Development
  • Included a lot of theoretical courses to provide solid Foundations to my existing practical skills
  • Achieved highest score in unit "Computer Technology and Operating Systems", which proved solid understanding of computer architecture

Some units taken

  • Advanced Network Security
  • Network Security
  • Computer Technology and Operating Systems
  • Network Protocols and Standards
  • Data Communications
  • Virtual Private Network
  • Database Analysis and Processing
  • System Analysis and Design
  • Information Retrieval Systems
  • Internet Applications Development
  • Enterprise Application Development for the Web
  • Android and iOS Development
  • Semi-structured Data Management

University of Nottingham

Bachelor of International Relations and Affairs (with Honours) September 2008 ~ July 2012 (China Campus)

Highlights

  • A lot of presentations and essays that improved my communication skills
  • Provided opportunities for me to think and express ideas critically
  • Social science, especially politics, taught me how people think and how to deal with them
  • A great challenge for me to study a subject that I am not good at but was clearly going to be beneficial

Some units taken

  • Diplomacy: Past, Present, Practice
  • Strategic Management
  • International Business Environment
  • International Organisations
  • International Political Economy
  • The Politics of Development
  • Introduction to Business Operations
  • The Origins of Capitalism
  • Comparative Politics
  • Understanding Global Relations
  • Issues in Global Relations
  • The European Union: Institutions
  • Introduction to Analytical Thought