Tao Zhang, Software Development Developer in Houston, TX, United States
Tao Zhang

Software Development Developer in Houston, TX, United States

Member since February 24, 2015
Tao is senior software engineer/architect who has been working in a large-scale (14+ million line of code) real-time acquisition software projects for more than 11 years, mainly on the back end. He is especially good at C++/C#, Python, Java programming, performance optimization, TDD, and debugging.
Tao is now available for hire

Portfolio

Experience

Location

Houston, TX, United States

Availability

Part-time

Preferred Environment

C#, C++, ASP.NET, Python

The most amazing...

...CI system I've created for a large-scale project helped hundreds of developers to save time in building, testing, and deploying software.

Employment

  • Senior Software Engineer

    2019 - PRESENT
    P97
    • Developed the back end of a mobile payments app in .NET and C# running in Azure.
    • Designed a web API and implemented business logic.
    • Communicated with different payment hosts by different payment type, such as Google Pay, Apple Pay, Samsung Pay, or Chasepay.
    • Implemented a payment processor based on ISO 8583.
    • Utilize SQL Server DB, Azure Cosmos DB, Redis Cache, and different data structures as a data storage strategy.
    Technologies: ASP.NET, C#, Azure Cosmos DB, Service Bus, VS 2019
  • Developer

    2019 - 2019
    Palmetto Wood Shop, LLC (via Toptal)
    • Integrated CorelDRAW and ShipStation.
    • Extracted Excel data and processed it using VBA.
    • Utilized CorelDRAW API to automate interaction with CorelDRAW UI.
    • Used hashmaps, collections and arrays, etc. data structures to process and convert data from ShipStation to CorelDRAW.
    Technologies: VBA, Excel, CorelDRAW API
  • Senior Software Engineer

    2007 - 2019
    Schlumberger
    • Improved the performance of a large-scale software system and fought with some difficult defects and bugs in the software.
    • Set up the CI system to improve development efficiency for a large population of the community.
    • Reviewed code and designs.
    • Mentored junior developers and other newcomers.
    • Made the final decision or helped the manager to make the final decision about any technical changes or choices.
    Technologies: VS 2015, C#, C++, TDD, Python. COM. SQL Server, Docker, Moq, ASP.NET, WPF, JSON
  • Senior Software Developer

    2004 - 2007
    Nortel Networks
    • Designed an Oracle database and developed stored procedures.
    • Programmed in Java to add new features for the network and telecommunication device management system.
    • Utilized Solaris commands and bash shell.
    • Programmed in C++ to create an interface between hardware and the Java application.
    • Used Eclipse as an IDE to do the coding work for C++ and Java.
    Technologies: Java, C++, Solaris
  • Senior Software Developer

    2001 - 2004
    HInnovation
    • Designed MySQL database tables and developed stored procedures.
    • Developed ASP web pages and coded in JavaScript.
    • Developed COM objects.
    • Created IP phone functionality based on TCP/IP.
    • Created a C++ program based on different medical image formats such as CT and MRI.
    Technologies: ASP.NET, JavaScript, C++, IIS

Experience

  • CI System for a Large-scale Project (Development)

    I have been working in a large-scale real-time acquisition system for 11 years.

    It has a total of 4 million lines of code (C#/C++). It took 8-10 hours to build and generate the installation kit. With the old baseline build, it could only generate one build and one kit per day, but after setting up the continuous integration system, the average build time is about an hour and installation kit generation takes about 1-1.5 hours.

    We also introduced many code metrics such as compile warnings, code complexity, and unit test coverage into the CI system. In addition, the CI system also helps to run all kinds of automation testing and generate reports. The CI system improved development efficiency for about 200 developers, QAs, and managers.

  • Performance and Stability Enhancement (Development)

    I enhanced the performance and stability for a large-scale project which runs as a Windows desktop application. We used a different approach to accomplish the following:

    1. Resolve all the level six warnings reported by Visual Studio (Microsoft C++ compiler).
    2. Introduced a static code analysis tool to help us find some potential defects such as memory leaks, memory corruption, and null reference checking.
    3. Used some utilities to find runtime memory issues and bottlenecks.
    4. Collected dump files when runtime exceptions happened, and then used WinDbg to do analysis to find the bugs.

  • TDD Applied to C++ (Development)

    Used GTest/Gmock provided by Google to test our legacy C++ class.

  • TDD Applying to C# (Development)

    Used MOQ to help us test our legacy C# code. But before that, we did many refactorings to make the C# code testable.

  • Payment Workflow API (Development)

    Designed the web API/endpoint of a payment workflow for a mobile app. Implemented the high-performance app service running in Azure using C#/ASP.NET to communicate different bank issues as well as a payment processor to finish payment. Utilized different layers of data storage: SQL DB, Cosmos, Redis Cache, and an in-memory cache in different stage of whole workflow to achieve best performance.

Skills

  • Languages

    C#, C++, Java, XML, SQL, Python, JavaScript
  • Tools

    WinDbg, Visual Studio, TFS, Git, Postman, Apache JMeter, Eclipse IDE, Mercurial, Rational Rose, GitLab, cURL Command Line Tool
  • Paradigms

    Test-driven Development (TDD), Socket Programming, Design Patterns, Agile
  • Platforms

    Windows, Oracle, Linux, Azure, Docker, Google Cloud Platform (GCP), AWS Cloud Computing Services
  • Other

    Debugging, COM, Software Development, Memory Leaks, C++ Memory Model, IIS, Web Services, Windows Presentation Foundation (WPF), Google Pay, Worldpay, ISO 8583, HTTP REST, HTTP, HTTPS, Chase Paymentech, Unix Shell Scripting, FirstData, Machine Learning
  • Frameworks

    .NET, ASP.NET, Windows PowerShell, ASP.NET Core 2, ASP.NET MVC, Google Test (GTest), Spring, Spring 5
  • Libraries/APIs

    Standard Template Library (STL), Moq, Web API, Google APIs
  • Storage

    SQL Server 2012, Azure Cosmos DB, JSON, Redis Cache, Oracle DBMS, AWS S3

Education

  • Bachelor's degree in Mathematics and Application Software
    1992 - 1996
    Jilin University - Changchun, Jilin, China

Certifications

  • Google Cloud Platform Fundamentals: Core Infrastructure
    APRIL 2018 - PRESENT
    Google Cloud
  • Machine Learning
    OCTOBER 2017 - PRESENT
    Stanford University
  • Java Certified Programmer
    MAY 2004 - MAY 2014
    Sun

To view more profiles

Join Toptal
Share it with others