Denis Ok, Software Developer in Phnom Penh, Cambodia
Denis Ok

Software Developer in Phnom Penh, Cambodia

Member since March 9, 2016
Denis is a full-stack developer with a strong background in front-end technologies and UI/UX, and has recently turned his attention to React. A former software engineer at Microsoft, he delivered scalable projects used by millions. He contributed to the F# language and was the main contributor to Visual F# Power Tools. Denis invented a high-performance Loop 3D surface subdivision algorithm, built custom plugins and eCommerce sites, and synchronized systems across multiple devices for Xbox Music.
Denis is now available for hire

Portfolio

  • The Foundry
    React, TypeScript, Node.js, NGINX, AWS, Docker, Next.js, Figma, Bootstrap...
  • Toptal
    React, MUI (Material UI), Figma, Functional Programming, HTML, JavaScript
  • Okoone
    Cypress.io, SQL, .NET, TypeScript, Angular, Flexbox, HTML, API Design

Experience

Location

Phnom Penh, Cambodia

Availability

Part-time

Preferred Environment

TypeScript, C#, F#, .NET, Azure, Visual Studio, React

The most amazing...

...project I've worked on is the Visual F# Power Tools, bringing a pleasant development experience to F# developers—as this wonderful language deserves it.

Employment

  • Senior Software Engineer

    2020 - PRESENT
    The Foundry
    • Developed a construction eCommerce website using Strapi, a headless CMS as a GraphQL back end (configuration and extension using code), and Next.js for the front end.
    • Implemented designs from Figma wireframes into code using Bootstrap and Material UI.
    • Implemented JWT-based authentication using Facebook login and support for multiple user roles and permissions.
    • Chose React Context API instead of Redux for state management to account for less complexity and easier onboarding concerning other team members.
    • Implemented mobile authentication using Twilio services.
    • Delivered multiple UI/UX based on three user roles: unauthenticated, normal user, and supplier.
    Technologies: React, TypeScript, Node.js, NGINX, AWS, Docker, Next.js, Figma, Bootstrap, MUI (Material UI), Apollo, GraphQL, Twilio, Flexbox, Functional Programming, HTML, API Design
  • Front-end Developer

    2021 - 2021
    Toptal
    • Implemented Figma designs into real React web pages with pixel-perfect layout, using the Material UI library.
    • Optimized a heavy and long list of data with virtualization using the react-window library.
    • Conducted deep customization of Material-UI component's appearance.
    Technologies: React, MUI (Material UI), Figma, Functional Programming, HTML, JavaScript
  • Senior Software Engineer

    2020 - 2020
    Okoone
    • Joined an ongoing effort of porting a legacy LightSwitch C# web app to Angular/TypeScript for Clevy Links (https://clevylinks.com/), a logistics platform dashboard with a role-based authorization system.
    • Rewrote some critical parts of the existing TypeScript code (Angular components).
    • Implemented a code review process to the existing team and team coding guidelines (based on my former experiences).
    • Enforced build and unit test checks on the existing Jenkins CI system.
    • Created a baseline unit test suite for the existing code (about 100 tests).
    • Developed a baseline end-to-end test suite based on Cypress.io for more complex UI scenarios ( around 20 tests) to serve as "learn by example" material to the junior and senior team members.
    Technologies: Cypress.io, SQL, .NET, TypeScript, Angular, Flexbox, HTML, API Design
  • Senior Software Engineer

    2020 - 2020
    Contract with WriteLabel (Toptal Client)
    • Coded a Kafka-based message processing microservice to create N-N mappings in a join table and keep entities synchronized when they are added (users and groups relationships), all written in F#.
    • Performed some large refactoring tasks in the codebase, including SQL queries.
    • Added unit tests to existing microservice code that was not written by myself, which thus required a lot of analysis and deep understanding of the business logic.
    Technologies: ASP.NET Core, Azure, MySQL, F#, Functional Programming, Concurrent Programming, API Design
  • Back-end Developer

    2018 - 2019
    Comedy Wire
    • Rewrote and simplified around 50 HTTP endpoints from the legacy Java back end to F#/ASP.NET Core.
    • Implemented complex MySQL optimization (indexes and efficient query writing) for a database with millions of entries created per day.
    Technologies: ASP.NET Core, MySQL, .NET Core, Azure, F#, Functional Programming, Concurrent Programming, API Design
  • Full-stack Software Developer

    2015 - 2019
    Agora Opinion (Freelance Work)
    • Installed an IoT PHP back end connected to 300 voting devices for toilet cleanliness satisfaction, sending approximately 10,000 requests per day and having SMS and email alerts (data stored in a MySQL DB).
    • Implemented the full front-end user experience using Laravel, AngularJS, supporting multiple roles like administrator, local administrator, and the standard user.
    • Developed a HighCharts dashboard to visualize and filter votes data by day/week/month/year and geographic area.
    • Implemented Azure WebJobs in F# to issue daily reports to customers with QoS requirements.
    • Maintained and upgraded the MySQL database schema for a dashboard that serves almost 200 businesses and 800 users.
    • Implemented UI web testing using the F# Canopy library (Lefthandedgoat.github.io/canopy).
    Technologies: HTML, CSS, Azure, F#, AngularJS, JavaScript, Bootstrap, Laravel, PHP, Flexbox, Object-oriented Design (OOD), API Design
  • Software Developer

    2012 - 2015
    Microsoft
    • Worked on the synchronization system across multiple devices (Xbox, Windows, Windows Phone, iPhone, and Android) for Xbox Music, a massively scalable music service used by millions of consumers and devices.
    • Implemented the Xbox Video (Microsoft's video streaming service) watchlists system.
    • Performed big-data processing and analysis to measure and ensure the quality of our cloud services.
    • Implemented a feedback tool on the web client, enabling users to ask for a missing song in the music catalog.
    • Developed an internal diagnostic tool to investigate issues on users' music and video collection.
    Technologies: Cloud, JavaScript, AngularJS, SQL, Azure, F#, .NET, Object-oriented Design (OOD), Concurrent Programming
  • Software Engineer

    2010 - 2012
    Tactineo
    • Assisted the development of WPF software for touch-screen devices.
    • Implemented custom and touch-friendly UI elements.
    • Guided a touch presentation timeline visualizer/editor.
    Technologies: Surface, Windows Presentation Foundation (WPF), .NET, C#, Object-oriented Design (OOD)
  • Research Intern

    2009 - 2009
    Dassault Systemes
    • Invented and developed a high-performance Loop 3D surface subdivision algorithm based on patches.
    • Developed a plugin system for an in-house 3D mesh viewer.
    • Worked on automatic 3D surface parameterization without edges.
    Technologies: CUDA, DirectX, OpenGL, Boost, C++, Object-oriented Design (OOD), Concurrent Programming

Experience

  • Crazy Wild Wines
    https://1drv.ms/u/s!AkjqocnedssYgtQp_qQ4ifKUTsaDyw

    My natural wine cellar company has a back end in F# (Azure Functions and WebJobs), connected to my accounting system and a personal OneDrive account.

    It provides me with the KPIs that are necessary for my business:

    • The inventory (e.g., How much stock is left for each bottle?), taking losses into account (stored in an Excel file), and the invoices using GraphQL queries to my accounting system.
    • My profit/revenue for the month.

    I browse the KPIs using a React Native mobile app, as I often move around the city in Phnom Penh.

  • Visual F# Power Tools

    I was one of the main contributors to this wonderful F# development tool including refactoring, code generation, and so on.

  • F# 4.0 Language
    https://github.com/Microsoft/visualfsharp

    I helped to implement new standard library API functions.

  • Toptal React Academy Project

    The Toptal React Academy is an exclusive learning program that teaches the React framework to select members of the Toptal network. After a month of study, all graduates are tasked with completing a 30-40 hour final project to build and deliver a React app from scratch. The above is a walkthrough of my final project.

Skills

  • Languages

    F#, C#, JavaScript, TypeScript, HTML, CSS, PHP, C++, SQL, GraphQL
  • Libraries/APIs

    LINQ, Highcharts, jQuery, Flexbox, OpenGL, React, Facebook API, Node.js
  • Other

    Back-end, Full-stack, APIs, Domain-driven Design (DDD), Serverless, API Design, Cloud, AWS, Apollo, Mathematics
  • Frameworks

    AngularJS, .NET, ASP.NET, Laravel, Angular, Cypress.io, ASP.NET Core, Bootstrap, Windows Presentation Foundation (WPF), React Native, .NET Core, Next.js, MUI (Material UI)
  • Paradigms

    Functional Programming, Object-oriented Design (OOD), Concurrent Programming, Agile Software Development
  • Platforms

    Azure, Windows, Docker, Twilio
  • Tools

    Visual Studio, Microsoft Visual Studio, NGINX, Figma
  • Storage

    MySQL, Neo4j

Education

  • Master's Degree in Mathematics & Operational Research
    2006 - 2010
    Ecole Centrale de Lyon - Lyon, France

Certifications

  • Toptal React Academy Graduate
    DECEMBER 2020 - PRESENT
    Toptal, LLC
  • Microsoft Specialist: Developing Azure Solutions
    FEBRUARY 2015 - PRESENT
    Microsoft
  • Microsoft Certified Professional
    FEBRUARY 2015 - PRESENT
    Microsoft

To view more profiles

Join Toptal
Share it with others