Scroll To View More
Tao "Robert" Zhang

Tao "Robert" Zhang

Houston, TX, United States
Member since February 24, 2015
Robert is a software engineer who has 15+ years of experience in software development. He is good at C++/C# programming, TDD, debugging, and more. He is a thoughtful individual who anticipates his clients' needs and has great confidence with international projects.
Tao is now available for hire
Portfolio
Experience
  • C++, 16 years
  • C#, 8 years
  • .NET, 8 years
  • ASP.NET, 4 years
  • Test-driven Development (TDD), 4 years
  • Visual Studio 2013, 3 years
  • Windows PowerShell, 3 years
  • Python, 1 year
Houston, TX, United States
Availability
Part-time
Preferred Environment
Windows, Visual Studio IDE, TFS, TDD
The most amazing...
...system I've created is continuous integration for a 4M-line code project that helps hundreds of developers save time building, testing, deploying, and more.
Employment
  • Senior Software Engineer
    2007 - PRESENT
    Schlumberger
    • Coded with C++/C# followed by TDD.
    • Improved the extensibility, stability, and maintainability of a large-scale software system and fought with some difficult defects and bugs in the software.
    • Made the final decision or helped the manager to make the final decision about any technical changes or choices.
    • Set up the CI system to improve the development efficiency for a large population of the community.
    • Reviewed code and designs.
    • Mentored the junior developers and other newcomers.
    Technologies: VS2015, C#, C++, TDD, Windows Desktop Applications
  • Senior Software Developer
    2004 - 2007
    Nortel Networks
    • Designed an Oracle database and developed store procedure.
    • 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 store procedure development.
    • Developed ASP web pages and coded in JavaScript.
    • Developed COM objects.
    • Created IP phone functionality based on TCP/IP.
    • Created a C++ programming based in different medical image formats such as CT and MR.
    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 4M 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++, SQL, XML, C#, JavaScript, Java, Python
  • Tools
    Visual Studio 2013, WinDbg, TFS, Eclipse IDE, GitLab, Rational Rose, Mercurial
  • Paradigms
    Test-driven Development (TDD), Design Patterns
  • Frameworks
    ASP.NET, .NET, Windows PowerShell, WPF
  • Platforms
    Linux, Windows 7, Oracle
  • Storage
    SQL Server 2012
  • Other
    Unix Shell Scripting, Web Services, IIS
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
I really like this profile
Share it with others