Si Ke, Developer in Coquitlam, BC, Canada
Si is available for hire
Hire Si

Si Ke

Verified Expert  in Engineering

Software Developer

Location
Coquitlam, BC, Canada
Toptal Member Since
September 4, 2020

Si is a talented engineer with 20 years of software design and development experience and six years of effective team leadership expertise. He developed Diskeeper that sold more than 10 million copies. Si has successfully shipped several products running in Windows, Linux, and Macintosh. His strengths include designing and developing complex and high-performance enterprise software. Si is an innovative professional who enjoys solving good challenges.

Portfolio

Nanny Angel Network
.NET, SQL, Microsoft SQL Server, APIs, API Integration, Twilio API, ASP.NET...
Interactive Edge LLC
C++, ODBC, Microsoft SQL Server, C#, Azure, ASP.NET, Windows...
Mobophiles, Inc.
C++17, Java, Android, Android NDK, Java Native Interface (JNI), Multithreading...

Experience

Availability

Full-time

Preferred Environment

Jenkins, Docker, Git, Qt, Eclipse IDE, Visual Studio, MacOS, Linux, Windows

The most amazing...

...product I've developed was Diskeeper—a defragmentation program designed for Microsoft Windows—that sold more than 10 million copies.

Work Experience

Full-stack Developer

2023 - 2023
Nanny Angel Network
  • Migrated data from the old system to the new one using SQL scripts.
  • Added features to the new CRM system using C#, ASP.NET, and Entity Framework.
  • Wrote SQL scripts to fix some data migration bugs.
Technologies: .NET, SQL, Microsoft SQL Server, APIs, API Integration, Twilio API, ASP.NET, C#.NET, T-SQL (Transact-SQL), ASP.NET Web API, Full-stack Development, Serverless Architecture, Blazor, GraphQL, Umbraco, Integration

C++ Windows Developer (via Toptal)

2022 - 2022
Interactive Edge LLC
  • Updated the application to work with the latest Open Database Connectivity (ODBC) drivers.
  • Upgraded Visual Basic 6.0 components to VB.NET components.
  • Fixed all bugs related to a C++ application, ODBC, C# components, and a Visual Basic (VB) application.
Technologies: C++, ODBC, Microsoft SQL Server, C#, Azure, ASP.NET, Windows, Visual Basic 6 (VB6), VB.NET, Visual Basic for Applications (VBA), Visual Basic, COM, ATL

Senior Windows Developer

2022 - 2022
Mobophiles, Inc.
  • Designed and developed Mobolize VPN SDK in Windows and Linux using C++, JNI, and Java. It uses networking, encryption, and cryptography technology. Utilized Wintun (Layer 3 TUN driver) to create a virtual network tunnel to transfer data.
  • Developed a sample application using Mobolize SDK in Windows. The sample uses C++ and Win32 API.
  • Developed a common component to send/receive and encrypt/decrypt data using OpenSSL API, C, and Android NDK. The component can be built in Windows (DLL), Linux, Android (SO), iOS, and Mac.
Technologies: C++17, Java, Android, Android NDK, Java Native Interface (JNI), Multithreading, OpenVPN, DNS, Transmission Control Protocol (TCP), UDP, Linux, Networking, Encryption, Cryptography, CMake, Rust

Senior WPF Developer | Architect

2021 - 2022
Ontec Software
  • Reviewed the existing C# and WPF code, including standard code review, readability and understanding, maintainability, security, speed and performance, scalability, reusability, patterns, and identification of improvements.
  • Modified the existing code to meet the end user's requirement.
  • Fixed the bugs logged by the QA team and wrote the unit tests.
Technologies: C#, Windows Presentation Foundation (WPF), .NET, .NET Core, Model View ViewModel (MVVM), REST APIs, Async/Await, Unit Testing, Win32 API, XAML, Root Cause Analysis, Troubleshooting, T-SQL (Transact-SQL), Windows App Development, Windows Desktop, Windows Desktop Software

Senior C++ and Java Developer

2021 - 2022
Evolved Binary
  • Fixed all bugs to make NoSQL database C++ tests run in the following containers (CentOS 32 and 64 bit, Alpine 32 and 64 bit).
  • Addressed bugs to make NoSQL database Java tests run in the following containers (CentOS 32 and 64 bit, Alpine 32 and 64 bit).
  • Fixed several other bugs about the NoSQL database in C++ and JNI.
Technologies: C++, Java, JNI, Containers, Docker, Linux, CMake, NoSQL, GNU Debugger (GDB), Linux Kernel, Linux Internals, Java Native Interface (JNI), Encryption, Cryptography, Open Source

Developer

2021 - 2021
Global Data Science and Analytics Software Company
  • Developed an LLS Docker container that runs as a server used in the GitLab pipeline and a GitLab pipeline-test job to test license activation and deactivation. Both parts work together to test the LLS licensing system.
  • Built a set of integration tests using C# and C++ to verify the activation and deactivation of the licensing system.
  • Constructed a new feature in C#, WinForms, and C++ for the LLS. The new feature removes the license key from the activation and deactivation. The activation and deactivation had been based on the license key, but now it is based on the product.
Technologies: C++, C#, .NET, GitLab, Docker, C++17, GitLab CI/CD, Jira, Agile, Scrum, JavaScript, NUnit, Catch, MS-DOS, Back-end, Object-oriented Programming (OOP), Algorithms, Test-driven Development (TDD), Visual Studio, Microsoft Visual C++, Back-end Development, SQL Server 2016, Root Cause Analysis, Troubleshooting, DevOps, Chromium, C#.NET WinForms, .NET 6, Windows, Windows App Development, Windows Desktop, Windows Desktop Software, Sockets, Product Licensing, Automated Testing

Senior Software Engineer

2020 - 2021
Quest
  • Developed a complete recovery application for the Active Directory with the UI in C# and WPF and the back-end service in C++.
  • Architected a web portal application for the Active Directory online recovery. The application was written in C#, ASP.NET, .NET Core, JavaScript, and Microsoft SQL Server.
  • Built a full recovery testing framework for the Active Directory using FitNesse and PowerShell.
Technologies: C++, C#, C#.NET, ASP.NET, Web MVC, Microsoft SQL Server, Azure, Amazon Web Services (AWS), Windows Presentation Foundation (WPF), WCF Web Services, RPC, XML, HTML, CSS, Windows PowerShell, FitNesse, User Interface (UI), App UI, Web App UI, User Experience (UX), App UX, Web UI, Web UX, Web App UX, C++17, .NET Core, Microservices, RabbitMQ, Entity Framework, Model View ViewModel (MVVM), REST APIs, Web API, Entity Framework Core, CI/CD Pipelines, Git, DLL, Windows Server, Performance, API Integration, Full-stack, React, Windows Forms (WinForms), DevExpress, Azure Active Directory, REST, Azure DevOps, DNS, HTML5, JSON API, Back-end, Object-oriented Programming (OOP), Frameworks, Apache Cassandra, ASP.NET MVC, Postman, LINQ to XML, AngularJS, LINQ, Visual Studio, Microsoft Visual C++, Back-end Development, Storage, Root Cause Analysis, Troubleshooting, Twilio API, DevOps, Cloud, APIs, Azure Cosmos DB, Model View Controller (MVC), ASP.NET Core, Vue, ASP.NET Web Forms, T-SQL (Transact-SQL), Windows, Full-stack Development, Serverless Architecture, AWS Lambda, Windows App Development, Windows Desktop, Windows Desktop Software, JSON Web Tokens (JWT), COM, ATL, Automated Testing

Senior Software Engineer

2018 - 2018
Gatekeeper Systems
  • Designed and developed an image identification and recognition system using Python, Keras, OpenCV, MySQL, and AI models. The system is used to check if cameras are working correctly.
  • Trained the model with lots of images. The system runs on a Linux system.
  • Wrote the unit tests and integration tests to test the image identification and recognition system.
Technologies: Python, MySQL, Machine Learning, Keras, C++, Microsoft SQL Server, OpenCV, Python 3, Linux, NVIDIA CUDA, Data Processing, Realtime, Graphics Processing Unit (GPU), Emscripten

Senior Software Engineer | Team Leader

2016 - 2018
AltumView Systems
  • Designed and developed the AltumView Logan SDK utilized in the machine-vision industry using C, C++, encryption, and the corresponding algorithms.
  • Remodeled the AltumFace SDK using object-oriented design (design patterns), machine learning, cryptography, and Qt.
  • Set up the company build system that uses Jenkins and Docker.
Technologies: CMake, Python, Lua, Unit Testing, Embedded Software, Front-end Design, Front-end, Qt, Apps, Parallel Programming, Design Patterns, Win32, Software Development Toolkits (SDK), Software Development Lifecycle (SDLC), Software Development, Software Design, Software, GitHub, Bitbucket, DevOps, MySQLdb, OpenCV, OpenCL, Image Processing, Databases, Non-blocking I/O, Keras, Python 3, Agile Software Development, Visual Studio Code (VS Code), C++14, Data Transfers, Minimum Viable Product (MVP), Artificial Intelligence (AI), Scrum, Software Architecture, Deep Learning, Machine Learning, C, Windows API, Windows UI, Windows, Google Test, Jenkins, Docker, TensorFlow, MySQL, Win32 API, C++11, APIs, C++, Kernel, POSIX, Encryption, Graphical User Interface (GUI), Software QA, Microsoft Visual Studio, ASP.NET, Azure, Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC), .NET Core, SQL, Color Science, User Interface (UI), App UI, Data Structures, Computer Science, C++17, Data Visualization, CI/CD Pipelines, Computer Vision, DLL, MongoDB, Performance, Make, Architecture, Ubuntu Linux, Streaming, Object-oriented Programming (OOP), WebRTC, Algorithms, GNU Debugger (GDB), Linux Kernel, Linux Internals, Valgrind, Leadership, Team Management, Visual Studio, Microsoft Visual C++, Linux, Networking, Cryptography, NVIDIA CUDA, Data Processing, Realtime, USB, x64 Assembly, Graphics Processing Unit (GPU), Qt 5, OpenCL/GPU, Color Theory, Audio Drivers, Software Design Patterns, Windows Installer

Senior Software Engineer

2006 - 2016
Condusiv Technologies
  • Designed and developed the flagship product, Diskeeper 9, which keeps systems free of fragmentation, with the UI in MFC and C++ and the service in C++.
  • Developed the Diskeeper 12 UI in .NET, WinForms, C#, and RPC. Participated in developing the service and the engines in C++, multithreading, XML, and Standard Template Library (STL).
  • Served as the key developer on the Diskeeper UI, service, and engines.
  • Designed and developed V-locity, an I/O reduction software that improves throughput and reduces latency on existing systems.
  • Designed and developed V-locity 2 and 3, running on VMware ESX/ESXi (Linux Server) and using C, C++, and Linux threads.
  • Designed and developed V-locity 6, running on VMWare or Hyper-V/hypervisor systems. This includes the V-locity management console, the V-locity local UI, and the V-locity service. V-locity 6 can manage up to 10,000 virtual machines.
  • Acted as the key developer on the web UI, the web-based console, and the V-locity service.
  • Led a team to design and develop Undelete, a real-time data protection that protects files from accidental deletion.
  • Designed and developed the Undelete UI in .NET, WPF, and C#. Developed the major communication component between the UI and the back end using C and C++.
  • Developed the V-locity 6 web UI using ASP.NET, JavaScript, jQuery, and Bootstrap.
Technologies: Linux, .NET, C#, Selenium, Microsoft Unit Tests, Unit Testing, Front-end Design, Front-end, Apps, XAML, IPC, Windows Presentation Foundation (WPF), Design Patterns, Legacy Code, Legacy Software, ActiveX, Win32, Visual Studio .NET, Software Development Lifecycle (SDLC), Software Design, Windows App Development, Windows App Design, Windows Desktop, Windows Desktop Software, Software Development, Software, Gang of Four (GOF) Design Patterns, CSS, Node.js, Microsoft SQL Server, Databases, Non-blocking I/O, HTML, JavaScript, Agile Software Development, Desktop App Development, Desktop App Design, UDP, TCP/IP, Transmission Control Protocol (TCP), Windows 10, Software Engineering, Operating Systems, Minimum Viable Product (MVP), Software Architecture, Scrum, C, Windows UI Design, Windows API, Windows UI, Windows, JSON, C++11, COM, Standard Template Library (STL), C#.NET, RPC, XML, Multithreading, C++, APIs, Kernel, Encryption, Graphical User Interface (GUI), Microsoft Visual Studio, ASP.NET, Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC), jQuery, .NET Core, SQL, TypeScript, Ajax, User Interface (UI), App UI, Web UI, User Experience (UX), App UX, Web UX, Data Structures, Computer Science, Windows Kernel Drivers, Reports, Spreadsheets, Model View ViewModel (MVVM), DLL, Windows Server, Windows Forms (WinForms), Full-stack, File Systems, Java, Architecture, MS-DOS, Back-end, Object-oriented Programming (OOP), Frameworks, ASP.NET MVC, Algorithms, Test-driven Development (TDD), Linux Kernel, Linux Internals, GNU Debugger (GDB), Assembler x86, Valgrind, XSD, LINQ, Microsoft Visual C++, Back-end Development, Storage, Windows Driver Kit (WDK), Networking, Cryptography, SQL Server 2016, Root Cause Analysis, Troubleshooting, ODBC, Bootstrap, .NET 4, C#.NET WinForms, ASP.NET Web Forms, T-SQL (Transact-SQL), Caching, Full-stack Development, Serverless Architecture, Remote Direct Memory Access (RDMA), Sockets, Scheduling, Software Design Patterns, Best Practices, Optimization, ATL

Senior Software Engineer | Team Leader

2002 - 2006
Ebook Systems
  • Led a team to design and develop FlipAlbum products using embedded C, C++, Qt, multithreading, and image processing technology in an embedded Linux system.
  • Guided the team in designing and developing the Mac FlipViewer using C++, CodeWarrior, multithreading, XML, and STL.
  • Steered the team to design and develop the Mac FlipViewer using C++, Xcode, Objective-C, multithreading, XML, and STL.
Technologies: Gang of Four (GOF) Design Patterns, Embedded Systems, Embedded C++, Objective-C, Image Processing, Desktop App Development, Desktop App Design, Operating Systems, Cross-platform, CodeWarrior, C++, MacOS, Xcode, Standard Template Library (STL), XML, Multithreading, Qt, Graphical User Interface (GUI), User Interface (UI), App UI, User Experience (UX), App UX, Media, Embedded Software, Architecture, Object-oriented Programming (OOP), Leadership, Team Management, Embedded C, Embedded Linux, Adobe, Audio Processing, 3D Geometric Analysis

Senior Software Developer

2000 - 2001
Pulse Microsystems
  • Designed and developed a publishing tool that connects to the Library Server.
  • Developed a system to extract embroidery designs from the Library Server and send those designs to the destination for internet publishing.
  • Built the system in VC++, MFC, WIN32, COM/COM+, ATL, Winsock, SQL Server, and ODBC.
Technologies: COM, C++, ODBC, Microsoft SQL Server, Winsock API, Win32 API, Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC), Microsoft Visual C++

Senior System Analyst

1998 - 2000
React Technologies
  • Developed and enhanced the TALENT system designed for the test facility environment.
  • Created TALENT as a real-time automation system used in aerospace and automotive tests.
  • Constructed the product in VB, ADO.NET, and SQL Server.
Technologies: COM, C++, Microsoft SQL Server, ADO.NET, VB, Embedded Systems, Embedded Software, Visual Basic 6 (VB6), Visual Basic for Applications (VBA)

V-locity 6 Enterprise Software

V-locity 6 is a high-performance and web-based enterprise software. It can manage up to 10,000 virtual machines. It includes a management console, local UI, and service. I was involved in nearly every part of the product and developed the front end using JavaScript and the back end using C++ 11 with an SQL Server database. I served as the key developer on the web UI, the web-based console, and V-locity service.

Undelete Enterprise Software

https://condusiv.com/products/undelete/
Undelete protects files from an accidental deletion that the Windows recycle bin and backup systems miss. I was working in the Diskeeper team. During a critical phase of the Undelete software's built, a key developer on the project suddenly quit. I was invited to take over and fill the gap. Since I had not worked with Undelete before, I had to familiarize myself with the software to write the new feature's code. It was a big challenge for me, but I love challenges. I invested my own time to read the Undelete source code to understand it better. After only one week, I was ready to write the code for the new feature. I completed the coding in record time and helped my company release the product on schedule. My manager praised my work as my performance exceeded his expectations.

FlipAlbum

I led a team of four engineers to design and develop FlipAlbum products using C++, Qt, multithreading, XML, and STL. FlipAlbum is used to organize your digital photos, and it is a cross-platform product that supports Linux and Mac.
1984 - 1988

Bachelor's Degree in Computer Science

Xi'an Jiao Tong University - Xi'an, China

Libraries/APIs

Win32 API, Standard Template Library (STL), Microsoft Foundation Class (MFC) Library, Windows API, Windows Forms (WinForms), ATL, Microsoft Foundation Classes (MFC), Winsock API, OpenCV, jQuery, REST APIs, TensorFlow, ODBC, TensorFlow Deep Learning Library (TFLearn), Keras, Node.js, POSIX, Entity Framework, Web API, React, JSON API, WebRTC, LINQ, Twilio API, Vue, Sockets

Tools

Visual Studio, Microsoft Visual Studio, Microsoft Visual C++, C#.NET WinForms, Git, Bitbucket, Visual Studio .NET, Microsoft Unit Tests, CMake, GitLab, GitLab CI/CD, Jira, GNU Debugger (GDB), Windows Driver Kit (WDK), Emscripten, Eclipse IDE, Jenkins, Xcode, CodeWarrior, GitHub, FitNesse, Spreadsheets, RabbitMQ, Make, Postman, Valgrind, Android NDK, OpenVPN, Adobe, Windows Installer

Frameworks

Qt, .NET, ASP.NET, .NET Core, ASP.NET Web Forms, Qt 5, Google Test, Electron, ActiveX, Windows Presentation Foundation (WPF), Entity Framework Core, NUnit, JNI, ADO.NET, OpenCL, Selenium, Windows PowerShell, ASP.NET MVC, AngularJS, Realtime, Bootstrap, .NET 4, ASP.NET Core, ASP.NET Web API, Blazor, JSON Web Tokens (JWT)

Languages

C++11, C++, XML, C#.NET, C#, SQL, Python, C, T-SQL (Transact-SQL), JavaScript, C++14, Python 3, Objective-C, XAML, C++17, Java, Visual Basic 6 (VB6), Visual Basic for Applications (VBA), VB, HTML, Embedded C++, CSS, Lua, TypeScript, HTML5, Assembler x86, Embedded C, XSD, x64 Assembly, VB.NET, Visual Basic, GraphQL, Rust

Paradigms

Desktop App Development, Windows App Development, Object-oriented Programming (OOP), Agile, Cross-platform, Scrum, Agile Software Development, DevOps, Gang of Four (GOF) Design Patterns, Design Patterns, Unit Testing, Model View ViewModel (MVVM), REST, Test-driven Development (TDD), Parallel Programming, Microservices, Azure DevOps, Model View Controller (MVC), Serverless Architecture, Remote Direct Memory Access (RDMA), Best Practices, Automated Testing

Platforms

Windows, Linux, Windows UI, Windows Desktop, Win32, Windows Server, Software Design Patterns, MacOS, Visual Studio Code (VS Code), MS-DOS, Embedded Linux, NVIDIA CUDA, Docker, Kernel, Azure, Amazon Web Services (AWS), Ubuntu Linux, Android, AWS Lambda, Umbraco

Storage

Microsoft SQL Server, MySQL, Databases, MySQLdb, SQL Server 2016, Azure Cosmos DB, JSON, MongoDB, Azure Active Directory, NoSQL

Other

Multithreading, COM, Windows UI Design, Software Engineering, Desktop App Design, Software, Software Development, Windows Desktop Software, Windows App Design, Software Design, Software Development Lifecycle (SDLC), IPC, Apps, Front-end, Front-end Design, Encryption, Graphical User Interface (GUI), User Interface (UI), App UI, Data Structures, Computer Science, DLL, Back-end, Back-end Development, Networking, Cryptography, Root Cause Analysis, Troubleshooting, RPC, Machine Learning, Software Architecture, Minimum Viable Product (MVP), Operating Systems, Windows 10, Data Transfers, Transmission Control Protocol (TCP), TCP/IP, UDP, Non-blocking I/O, Image Processing, Embedded Systems, Software Development Toolkits (SDK), Legacy Software, Legacy Code, Embedded Software, APIs, Web App UI, User Experience (UX), App UX, Web UI, Web UX, Web App UX, Windows Kernel Drivers, Performance, Full-stack, File Systems, Media, Architecture, Containers, Frameworks, Algorithms, Linux Kernel, Async/Await, Storage, USB, Graphics Processing Unit (GPU), Chromium, Deep Learning, Artificial Intelligence (AI), Software QA, Color Science, Web MVC, WCF Web Services, Ajax, Data Visualization, Reports, CI/CD Pipelines, Computer Vision, API Integration, DevExpress, Catch, DNS, Streaming, Apache Cassandra, Linux Internals, Leadership, Team Management, Java Native Interface (JNI), LINQ to XML, Data Processing, Cloud, .NET 6, Caching, Open Source, Full-stack Development, OpenCL/GPU, Color Theory, Scheduling, Product Licensing, Audio Processing, Audio Drivers, Optimization, 3D Geometric Analysis, Integration, WinDev

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring