Si Ke
Verified Expert in Engineering
Software Developer
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
Experience
Availability
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
Visual Studio C++ Developer
ANDRITZ INC.
- Developed and enhanced the simulation product ExtendSim using C++ and QT. ExtendSim has a very heavy UI created by QT Creator and very complicated back-end processing with a half-million-line code.
- Fixed the bugs reported by simulation engineers and customers.
- Analyzed the dump files generated by the customers using Visual Studio and WinDbg.
- Helped other engineers fix bugs for IDEAS, an Andritz product.
Full-stack Developer
Nanny Angel Network
- Migrated data from the old system to the new one using SQL scripts. Imported data from the Excel files to the SQL server database.
- Added features to the new CRM system using C#, ASP.NET, and Entity Framework.
- Wrote SQL scripts to fix some data migration bugs.
C++ Windows Developer (via Toptal)
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.
Senior Windows Developer
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.
Senior WPF Developer | Architect
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.
Senior C++ and Java Developer
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.
Developer
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 for the LLS in C#, WinForms, and C++. The new feature removes the license key from activation and deactivation. Previously, activation and deactivation were based on the license key, but now they are based on the product.
Senior Software Engineer
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.
Senior Software Engineer
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.
Senior Software Engineer | Team Leader
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.
Senior Software Engineer
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.
Senior Software Engineer | Team Leader
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.
Senior Software Developer
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.
Senior System Analyst
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.
Experience
V-locity 6 Enterprise Software
Undelete Enterprise Software
https://condusiv.com/products/undelete/FlipAlbum
Education
Bachelor's Degree in Computer Science
Xi'an Jiao Tong University - Xi'an, China
Skills
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, PyQt, 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, WinDbg, Eclipse IDE, Jenkins, Xcode, CodeWarrior, GitHub, FitNesse, Spreadsheets, RabbitMQ, Make, Postman, Valgrind, Android NDK, OpenVPN, Adobe, Windows Installer, MQTT
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), Excel VBA, VB, HTML, Embedded C++, CSS, Lua, TypeScript, HTML5, Assembler x86, Embedded C, XSD, x64 Assembly, VB.NET, Visual Basic, GraphQL, Rust
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)
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), Amazon Web Services (AWS), MS-DOS, Embedded Linux, NVIDIA CUDA, Docker, Kernel, Azure, 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 Development, Software Development, Windows Development, 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, CSV, XLSX File Processing
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring