Scroll To View More
Tao Zhang, Debugging Developer in Houston, TX, United States
Tao Zhang

Debugging Developer in Houston, TX, United States

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

Portfolio

Experience

  • C++, 16 years
  • Debugging, 15 years
  • Test-driven Development (TDD), 8 years
  • C#, 8 years
  • Python, 5 years
  • ASP.NET, 4 years
  • Web API, 3 years
  • Java, 3 years
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#.
    • 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 2017
  • 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)

    The current project I am working on. 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. After we set 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 introduce 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 do that:
    1. Resolve all the level 6 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.

Skills

  • Languages

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

    WinDbg, Visual Studio 2013, Visual Studio 2015, TFS, Git, Postman, 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, Web Services, Windows Presentation Foundation (WPF), ISO 8583, C++ Memory Model, HTTP REST, HTTP, HTTPS, Unix Shell Scripting, IIS, Google Pay, Worldpay, FirstData, Chase Paymentech, Machine Learning
  • Frameworks

    .NET, ASP.NET, Windows PowerShell, ASP.NET Core 2, ASP.NET MVC
  • 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
I really like this profile
Share it with others