Si Ke, Software Developer in Coquitlam, BC, Canada
Si Ke

Software Developer in Coquitlam, BC, Canada

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.
Si is now available for hire

Portfolio

  • Mobophiles, Inc.
    C++17, Java, Android, Android NDK, Java Native Interface (JNI)...
  • Ontec Software
    C#, Windows Presentation Foundation (WPF), .NET, .NET Core...
  • Evolved Binary
    C++, Java, JNI, Containers, Docker, Linux, CMake, NoSQL, GDB, Linux Kernel...

Experience

  • C++ 20 years
  • Windows 20 years
  • VC++ 20 years
  • COM 18 years
  • Multithreading 18 years
  • Standard Template Library (STL) 15 years
  • C++11 6 years
  • C# 6 years

Location

Coquitlam, BC, Canada

Availability

Part-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.

Employment

  • Senior Windows Developer

    2022 - 2022
    Mobophiles, Inc.
    • Designed and developed Mobolize VPN SDK in Windows and Linux using C++, JNI and Java. It used the networking, encryption and cryptography technology. It used the 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, TCP, UDP, Linux, Networking, Encryption, Cryptography
  • 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
  • Senior C++ | 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, GDB, Linux Kernel, Linux Internals, Java Native Interface (JNI), Encryption, Cryptography
  • 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# 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, now 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
  • 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 MS SQL Server.
    • Built a testing framework for the Active Directory full recovery, using FitNesse and PowerShell.
    Technologies: C++, C#, C#.NET, ASP.NET, Web MVC, Microsoft SQL Server, Azure, Amazon Web Services (AWS), AWS, Windows Presentation Foundation (WPF), WCF Web Services, RPC, XML, HTML, CSS, Windows PowerShell, FitNesse, UI, App UI, Web App UI, 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, 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
  • 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, CUDA, Data Processing, Realtime
  • 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, Native Windows App, 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, C++14, Data Transmission, 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, GUI, Software QA, Microsoft Visual Studio, ASP.NET, Azure, Microsoft Foundation Classes, Microsoft Foundation Class Library (MFC), .NET Core, SQL, Geometric Algorithms, Color Science, 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, GDB, Linux Kernel, Linux Internals, Valgrind, Leadership, Team Management, Visual Studio, Microsoft Visual C++, Linux, Networking, Cryptography, CUDA, Data Processing, Realtime, USB, x64 Assembly
  • 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, WPF, 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 pthreads.
    • 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, and jQuery.
    Technologies: Linux, .NET, C#, Selenium, Microsoft Unit Tests, Unit Testing, Front-end Design, Front-end, Native Windows App, 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, TCP, Windows 10, Software Engineering, Operating Systems, Minimum Viable Product (MVP), Software Architecture, Scrum, C, Windows UI Design, Windows API, Windows UI, Windows, JSON, VC++, C++11, COM, Standard Template Library (STL), C#.NET, RPC, XML, Multithreading, C++, APIs, Kernel, Encryption, GUI, Microsoft Visual Studio, ASP.NET, Microsoft Foundation Classes, Microsoft Foundation Class Library (MFC), jQuery, .NET Core, SQL, TypeScript, Ajax, UI, App UI, Web UI, UX, App UX, Web UX, Data Structures, Computer Science, Windows Kernel Drivers, Reports, Spreadsheets, Model View Viewmodel (MVVM), DLL, Windows Server, Windows Forms, Full-stack, WinForms, 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, 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
  • 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 to design and develop 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, GUI, UI, App UI, UX, App UX, Media & Internet, Embedded Software, Architecture, Object-oriented Programming (OOP), Leadership, Team Management, Embedded C, Embedded Linux
  • 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 Library (MFC), VC++
  • Senior System Analyst

    1998 - 2000
    React Technologies
    • Developed and enhanced the TALENT system designed for the test-facility environment.
    • Created TALENT to function 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

Experience

  • 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 V-locity management console, V-locity local UI, and V-locity service. I was involved in nearly every part of the product. I developed the front end using JavaScript and the back end using C++ 11 with a 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.

Skills

  • Languages

    C++11, C++, XML, C#.NET, C#, C, SQL, Python, JavaScript, C++14, Python 3, XAML, C++17, Java, VB, HTML, Objective-C, Embedded C++, CSS, Lua, TypeScript, HTML5, Assembler x86, Embedded C, XSD, x64 Assembly
  • Frameworks

    .NET, .NET Core, Qt, Google Test, ActiveX, Windows Presentation Foundation (WPF), Entity Framework Core, NUnit, JNI, ADO.NET, OpenCL, Electron, Selenium, ASP.NET, Windows PowerShell, ASP.NET MVC, AngularJS, Realtime
  • Libraries/APIs

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

    Visual Studio, Microsoft Visual Studio, Microsoft Visual C++, Git, Bitbucket, Visual Studio .NET, Microsoft Unit Tests, GitLab, GitLab CI/CD, Jira, GDB, Windows Driver Kit (WDK), Eclipse IDE, Jenkins, Xcode, CodeWarrior, GitHub, CMake, FitNesse, Spreadsheets, RabbitMQ, Make, Postman, Valgrind, Android NDK, OpenVPN
  • 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
  • Platforms

    Windows, Linux, Windows UI, Windows Desktop, Win32, Windows Server, MacOS, Visual Studio Code, MS-DOS, CUDA, Docker, Kernel, Azure, Amazon Web Services (AWS), Ubuntu Linux, Embedded Linux, Android
  • Other

    Multithreading, COM, VC++, Windows UI Design, Software Engineering, Desktop App Design, Software, Software Development, Windows Desktop Software, Windows App Design, Software Design, Software Development Lifecycle (SDLC), IPC, Native Windows App, Front-end, Front-end Design, Encryption, GUI, UI, App UI, Data Structures, Computer Science, DLL, Back-end, Back-end Development, Networking, Cryptography, Root Cause Analysis, Troubleshooting, RPC, Software Architecture, Minimum Viable Product (MVP), Operating Systems, Windows 10, Data Transmission, 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, UX, App UX, Web UI, Web UX, Web App UX, Windows Kernel Drivers, Performance, Full-stack, File Systems, Media & Internet, Architecture, Containers, Frameworks, Algorithms, Linux Kernel, Async/Await, Storage, USB, Machine Learning, Deep Learning, Artificial Intelligence (AI), Software QA, Geometric Algorithms, Color Science, Web MVC, AWS, 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
  • Storage

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

Education

  • Bachelor's Degree in Computer Science
    1984 - 1988
    Xi'an Jiao Tong University - Xi'an, China

To view more profiles

Join Toptal
Share it with others