Michael Truog, Developer in Seattle, WA, United States

Michael Truog

Erlang Developer

Location
Seattle, WA, United States
Toptal Member Since
April 4, 2016

Michael is a top architect, engineer, developer, and entrepreneur with a proven ability to develop efficient, scalable, and fault-tolerant server solutions for complex problems. He has extensive experience and skills with all levels of software and architecture.

Michael is available for hire
Hire Michael

Portfolio

Nd FORGE
Amazon Web Services (AWS), CloudI, PostgreSQL, OTP, Erlang, C++, Python, Linux...
VDX.tv
C, Java, JNI, Java Native Interface (JNI), Solaris, Oracle Solaris, FreeBSD...
Amazon Web Services (AWS)
Databases, SQL, Linux, Amazon Web Services (AWS), Microsoft SQL Server, DB...

Location

Seattle, WA, United States

Availability

Part-time

Preferred Environment

C++, C, Python, Go, Linux, Git, Cloud

The most amazing...

...software I've developed is CloudI, an implementation of cloud functionality for polyglot programming written in Erlang and C++.

Work Experience

2012 - PRESENT

Founder

Nd FORGE
  • Developed reliable distributed systems with a variety of different clients.
  • Developed and maintained cloud technology as open-source R&D.
  • Improved software to avoid future failure due to either human or technical errors.
Technologies: Amazon Web Services (AWS), CloudI, PostgreSQL, OTP, Erlang, C++, Python, Linux, Distributed Systems, C, SQL, Java, Bash, JavaScript, Ruby, Go, OCaml, CTO, Cloud Engineering, PHP, Perl, Haskell, Erlang (OTP), Git, Amazon EC2, Cloud Computing, Cloud, MessagePack, JSON, Boost, GDB, Realtime, Cloud Security, Server Security, Machine Learning, Big Data, Multithreading, Concurrency, Concurrent Programming, Concurrent Computing, Distributed Caches, Socket Programming, Node.js, APIs, Technical Leadership, Leadership, Software Engineering, Back-end, Decentralized Systems, Design Patterns, Microservices, NoSQL, Software Architecture, Docker, Architecture, Databases, Database Schema Design, Message Queues, Low-level Programming, WebSockets, HTML, REST APIs, C++11, C++14, Web Scraping, REST, API/Services Architecture, Startups, Python 3, Relational Databases, Functional Programming, Integration Tools, Software Implementation, Software Integration, Data Pipelines, Cloud Dataflow, Data Scraping, Object-oriented Programming (OOP), Data Science, Object-oriented Analysis & Design (OOAD), Service-oriented Architecture (SOA), C++17
2022 - 2022

Senior Software Engineer

VDX.tv
  • Java JNI C integration with safe C fiber thread pool use and Java GC. Created Java JNI interfaces for efficient IP database accesses, efficient messaging and efficient JSON encoding/decoding with regression tests to verify correct reference counting.
  • Replaced libev C file descriptor event loop use with more efficient level-triggered use of epoll and kqueue while adding FreeBSD support. Identified additional performance improvements for future C source code changes.
  • Created cross-platform load-test results with a comparison to nginx to justify C source code changes.
  • Developed SWIG interface files for automating the generation of Java POJOs from C source code structs.
Technologies: C, Java, JNI, Java Native Interface (JNI), Solaris, Oracle Solaris, FreeBSD, Linux, Multithreading, Concurrency, Concurrent Programming, Distributed Systems, Socket Programming, Back-end, Technical Leadership, Leadership, Software Engineering, Software Architecture, Architecture, Low-level Programming, Software Implementation, SWIG
2021 - 2021

Senior Software Engineer

Amazon Web Services (AWS)
  • Provided critical fix information for Aurora PostgreSQL Babelfish functionality in preparation for its public release.
  • Added Babelfish (SQL Server) client functionality to https://github.com/dbeaver/dbeaver .
  • Identified several Aurora PostgreSQL Babelfish pre-release bugs.
Technologies: Databases, SQL, Linux, Amazon Web Services (AWS), Microsoft SQL Server, DB, Data Structures, Java, JavaScript, PostgreSQL, Amazon Aurora
2019 - 2021

Senior Software Engineer

VDX.tv
  • Created a distributed file cache for efficient reliable concurrent atomic read, write, delete access to any files with hierarchical redundancy. Includes Solaris and Linux utilities for file cache tar/mv/rm/ln/touch/bootstrap-exec.
  • Created an HTTP and HTTPS JSON OpenRTB router with include and exclude filter rules and dynamic configuration.
  • Created a coroutine implementation using setjmp/longjmp for use with an existing fiber implementation.
  • Reduced fiber stack memory consumption, improved fiber reliability and efficiency, and fixed memory leaks.
Technologies: C, Solaris, Oracle Solaris, Linux, Multithreading, Concurrency, Concurrent Programming, Concurrent Computing, Distributed Systems, Distributed Caches, Big Data, Real-time Bidding (RTB), OpenRTB, Socket Programming, APIs, Technical Leadership, Leadership, Software Engineering, Back-end, Decentralized Systems, Design Patterns, Software Architecture, Architecture, Message Queues, Low-level Programming, REST, API/Services Architecture, Integration Tools, Software Implementation, Cloud Dataflow, Service-oriented Architecture (SOA)
2018 - 2018

Senior Software Engineer

AT&T
  • Developed a Python automation API for reliable broadcast media pipeline modifications using Ansible and Terraform. Usage of the API automated tasks to complete processing within minutes that had previously taken months.
  • Fixed a critical concurrency bug in the automation API that prevented the previous operation from being dependable due to the required use of global data and resources.
  • Improved an internal media crawler by making its operation more dependable and less error-prone for unstructured JSON data processing. Fixed Nomad cron format usage for dependable job execution.
Technologies: Python, Ansible, Terraform, JSON, Nomad, Elastic, Concurrency, Distributed Systems, Concurrent Programming, Concurrent Computing, APIs, Software Engineering, Back-end, Design Patterns, NoSQL, NGINX, Databases, Database Schema Design, Message Queues, Low-level Programming, Elasticsearch, REST APIs, REST, API/Services Architecture, Python 3, Integration Tools, Software Implementation, Software Integration, Data Pipelines, Cloud Dataflow, Data Scraping, Object-oriented Programming (OOP), Object-oriented Analysis & Design (OOAD), Service-oriented Architecture (SOA)
2017 - 2017

Senior Software Engineer

Exponential
  • Eliminated more than ten memory leaks in the core source code library and fixed race conditions related to the memory leak checker's fiber use.
  • Added JSON integration into more than 20 modules for runtime-type introspection to aid debugging.
  • Added a concurrent module initialization system to clearly specify server initialization dependencies and avoid initialization-related errors.
  • Added a minimal testing framework with backtraces using macros for simple reuse. Used the testing framework to verify two algorithms and migrate all use to the newer algorithm.
  • Developed ad serving C source code for efficient real-time production use with a very specific style guide.
Technologies: Realtime, CMake, Solaris, Linux, JSON, C, Distributed Systems, Perl, Cloud Engineering, Cloud, Cloud Computing, GDB, Oracle Solaris, Multithreading, Concurrency, Concurrent Programming, Concurrent Computing, Real-time Bidding (RTB), Socket Programming, APIs, Technical Leadership, Leadership, Software Engineering, Back-end, Decentralized Systems, Design Patterns, Software Architecture, Architecture, Message Queues, Low-level Programming, REST, API/Services Architecture, Integration Tools, Software Implementation, Cloud Dataflow, Service-oriented Architecture (SOA)
2015 - 2016

Senior Software Engineer

Samvia
  • Did all back-end server development of the Timeshake iOS app for real-time presence matchmaking with voice communication.
  • Created a matchmaking test for iOS client and regression tests and managed the dev/beta operations tasks.
  • Added monitoring (Graphite, OpenTSDB, SNMP, StatsD) integration to CloudI.
Technologies: Amazon Web Services (AWS), CloudI, MessagePack, JSON, AWS Simple Notification Service (SNS), APNs, Amazon DynamoDB, PostgreSQL, Objective-C, OTP, Erlang, Linux, Distributed Systems, C, SQL, CTO, Erlang (OTP), Git, Amazon EC2, Cloud Computing, Cloud, Cloud Engineering, cURL Command Line Tool, Libcurl, GDB, Realtime, Cloud Security, Server Security, Multithreading, Concurrency, Concurrent Programming, Concurrent Computing, Socket Programming, APIs, Technical Leadership, Leadership, Software Engineering, Back-end, Decentralized Systems, Design Patterns, Microservices, NoSQL, Software Architecture, HAProxy, Mobile, Architecture, Databases, Database Schema Design, Message Queues, Mobile Development, Low-level Programming, WebSockets, HTML, REST APIs, REST, API/Services Architecture, Startups, Social Media Apps, Relational Databases, Functional Programming, Software Implementation, Software Integration, Cloud Dataflow, Service-oriented Architecture (SOA)
2015 - 2015

Senior Software Engineer

Adroll
  • Created a global deploy and rollback system for weekly production deployments of Real-Time Bidding (RTB) servers.
  • Used Python, Erlang, and Bash development with AWS and EC2 to create a dependable workflow for releasing source code.
  • Automated a complex release process that would previously take more than eight hours when done manually.
Technologies: Amazon Web Services (AWS), Realtime, Amazon EC2, Bash, Python, OTP, Erlang, Linux, Distributed Systems, Amazon DynamoDB, Erlang (OTP), Git, Cloud Computing, Cloud, Cloud Engineering, JSON, Cloud Security, Server Security, Concurrency, Concurrent Programming, Concurrent Computing, Real-time Bidding (RTB), Socket Programming, APIs, Software Engineering, Back-end, Decentralized Systems, NoSQL, Message Queues, Low-level Programming, REST, API/Services Architecture, Startups, Python 3, Functional Programming, Integration Tools, Software Implementation, Software Integration, Data Pipelines, Cloud Dataflow, Service-oriented Architecture (SOA)
2013 - 2014

Senior Software Engineer

Ubiquiti Networks
  • Developed CloudI source code and provided CloudI integration support.
  • Created CloudI API implementations in JavaScript, Perl, and PHP.
  • Added CloudI Services for Riak and OAuth v1 integration.
  • Extended HTTP cowboy integration with web socket-related features and multipart handling.
Technologies: OTP, Erlang, Linux, Distributed Systems, Erlang (OTP), Git, Cloud, Cloud Computing, Cloud Engineering, CloudI, JSON, Cloud Security, Server Security, Elastic, Concurrency, Concurrent Programming, Concurrent Computing, APIs, Technical Leadership, Software Engineering, Back-end, Decentralized Systems, Design Patterns, Microservices, NoSQL, Software Architecture, Architecture, Databases, Message Queues, Low-level Programming, Elasticsearch, WebSockets, REST APIs, REST, API/Services Architecture, Relational Databases, Functional Programming, Software Implementation, Software Integration, Service-oriented Architecture (SOA)
2013 - 2013

Senior Software Engineer

Voalte
  • Developed database integration and schema based on legacy system limitations.
  • Created an authentication server with database objects using BossDB (from ChicagoBoss).
  • Used PostgreSQL to create a fourth normal form schema with Async presence notifications.
Technologies: Ejabberd, PostgreSQL, OTP, Erlang, Linux, Distributed Systems, SQL, Erlang (OTP), Git, Cloud Engineering, Cloud Computing, Cloud, XMPP, Realtime, Concurrency, Concurrent Programming, Concurrent Computing, APIs, Technical Leadership, Software Engineering, Back-end, Design Patterns, Microservices, Software Architecture, Architecture, Databases, Database Schema Design, Message Queues, Low-level Programming, REST, API/Services Architecture, Startups, Social Media Apps, Relational Databases, Functional Programming, Software Implementation, Service-oriented Architecture (SOA)
2011 - 2013

Senior Software Engineer

Jana
  • Created a reusable scalable back-end server for coordinating both surveys and sweepstakes for mobile phone users within emerging markets for http://mcent.com.
  • Developed the core database interfaces for CouchDB data and back-end service APIs.
  • Used Python threads, Gunicorn, Eventlet, and Tornado to create reusable software that grew as required without any rewrites. Created the core business logic for the administration interface, surveys, sweepstakes, and authentication.
  • Created an automated regression and integration testing framework and load-tested with Tsung.
Technologies: Tsung, Tornado, Eventlet, Gunicorn, CouchDB, Python, Linux, Distributed Systems, Git, JSON, Realtime, Multithreading, Concurrency, Concurrent Programming, Concurrent Computing, APIs, Technical Leadership, Software Engineering, Back-end, Design Patterns, NoSQL, Software Architecture, Flask, Architecture, Databases, Database Schema Design, Low-level Programming, REST APIs, REST, API/Services Architecture, Startups, Social Media Apps, Software Implementation, Data Scraping, Object-oriented Programming (OOP), Object-oriented Analysis & Design (OOAD), Service-oriented Architecture (SOA)
2010 - 2011

Senior Software Engineer

SiXiTS
  • Developed a Scala-based MMOG server. The server was used for the Facebook and Android game Babies Everywhere.
  • Created a quest system (known as Activities) with extensive usage of MongoDB.
  • Created the item state machine representation used for all stateful in-game items.
Technologies: Apache Tomcat, Apache Struts 2, MongoDB, JSON, Scala, Linux, Distributed Systems, Bash, Git, Realtime, Concurrency, Concurrent Programming, Concurrent Computing, APIs, Software Engineering, Back-end, Design Patterns, NoSQL, Software Architecture, Architecture, Databases, Database Schema Design, Low-level Programming, Startups, Social Media Apps, Functional Programming, Integration Tools, Software Implementation, Java, Object-oriented Programming (OOP), Object-oriented Analysis & Design (OOAD), Service-oriented Architecture (SOA)
2009 - 2010

Principal IT Architect

E*Trade
  • Developed a C and Erlang server to replace installations of Oracle Tuxedo.
  • Improved scalability by eliminating global state and added robust timeout and error handling.
  • Utilized OTP behaviors and best practices in development to create a minimal amount of source code that is easy to maintain.
Technologies: Erlang (OTP), C, Linux, Distributed Systems, Erlang, Git, GDB, OTP, Multithreading, Concurrency, Concurrent Programming, Concurrent Computing, Socket Programming, APIs, Technical Leadership, Leadership, Software Engineering, Back-end, Design Patterns, Microservices, Software Architecture, Architecture, Message Queues, Low-level Programming, REST APIs, REST, API/Services Architecture, Functional Programming, Software Implementation, Software Integration, Service-oriented Architecture (SOA)
2008 - 2009

Senior Software Engineer

Nokia
  • Created an integration-testing framework for validating two separate XMPP servers to determine compatibility problems.
  • Developed Erlang XMPP server code to provide features found in a legacy XMPP server. Modifications made the transition transparent for legacy clients by ensuring protocol compatibility.
  • Modified an Erlang Distributed Hash Table (DHT) implementation to provide fault-tolerant key timeouts for both the Java and Erlang API.
Technologies: Tsung, Ejabberd, Erlang (OTP), Boost.Asio, CppUnit, Log4cpp, C++, Linux, Distributed Systems, C, Erlang, Java, XMPP, Boost, GDB, OTP, Realtime, Multithreading, Concurrency, Concurrent Programming, Concurrent Computing, APIs, Technical Leadership, Software Engineering, Back-end, Design Patterns, Databases, Message Queues, Low-level Programming, Functional Programming, Integration Tools, Software Implementation, Software Integration, Service-oriented Architecture (SOA)
2005 - 2009

Co-founder

PortfolioWatcher, LLC
  • Created an internet startup with a private investor to provide an investment tracking service using rule-based email alerts.
  • Used PHP, Perl, and MySQL to create automated portfolio management.
  • Developed a stock comparison program using Python, Qt, Qwt, Curl, and SQLite for financial technical analysis acting as a subscriber to free daily financial price quotes over HTTP.
  • • Created PreferredSearch, an open-source Python web scraper that utilized Qt, SQLite, PyParsing, Libcurl, Psyco, and Py2exe to show preferred stock yield and price data after processing information from both QuantumOnline.com and Yahoo.com. • PreferredSearch required only minimal maintenance after its creation for more than 10 years (2005-09-22 until 2017-11-01) to provide reliable operation to any investor.
Technologies: Libcurl, Pyparse, SQLite, cURL Command Line Tool, Qwt, Qt, Python, MySQL, Perl, PHP, Linux, Distributed Systems, SQL, CTO, PyQt, Git, py2exe, Boost, GDB, Server Security, Cloud Security, Machine Learning, Multithreading, Concurrency, Concurrent Programming, Concurrent Computing, APIs, Technical Leadership, Leadership, Software Engineering, Back-end, Decentralized Systems, Design Patterns, Software Architecture, Apache, Architecture, Databases, Database Schema Design, Low-level Programming, HTML, Web Scraping, API/Services Architecture, Startups, Relational Databases, Integration Tools, Software Implementation, Software Integration, Data Pipelines, Data Scraping, Object-oriented Programming (OOP), Data Science
2007 - 2008

Senior Software Engineer

Sony Pictures Imageworks
  • Developed bug fixes and features for an image and movie viewer using C++, Python, and Boost. The viewer has remote syncing capabilities as a server or client and is a subscriber to digital asset information through SOAP RPC.
  • Modified the viewer to allow different resolutions and media types for remote sessions. The viewer is used in India and Los Angeles throughout the pipeline, from animators to directors.
  • Added annotation features that improved various parts of the pipeline.
  • Added audio and video sync calibration feature that solved longstanding lip-sync problems.
  • Created a reusable, cross-platform point placement tool for manually manipulating motion capture data, successfully delivered within four days of request on both Linux and Windows using Python, PIL, and Py2exe.
  • Created a testing framework for cut list generation to ensure data integrity with regression testing.
  • Maintained various C++ libraries, adding bug fixes for 64bit compilation, media formats, and business logic.
Technologies: PIL, Boost, PyQt, OpenGL, Python, C++, Linux, Distributed Systems, C, Qt, Git, GDB, Big Data, Multithreading, Concurrency, Concurrent Programming, Concurrent Computing, APIs, Technical Leadership, Leadership, Software Engineering, Back-end, Decentralized Systems, Design Patterns, Software Architecture, Architecture, Low-level Programming, API/Services Architecture, Integration Tools, Software Implementation, Data Pipelines, Object-oriented Programming (OOP), Object-oriented Analysis & Design (OOAD)
2006 - 2007

Platform and Server Core Software Engineer

Perpetual Entertainment
  • Led the development of the C++ platform middleware (PEPSDK). Coordinated many features and made protocol additions by making the necessary changes within the PEPSDK, game server and client.
  • Developed the PepPublisher, a game server process used to report game content and persistence data to the platform for real-time updates of a player’s progress within the online game.
  • Fixed many elusive multi-threading and distributed race conditions and deadlocks within the game server and PEPSDK to improve game server stability.
  • Created a socket connection thread pool that enforced a real-time quality of service with limited memory consumption for efficient XMPP chat communication. Designed to be protocol agnostic.
  • Created a distributed integration-testing framework for the game server and client functionality.
  • Added localization to PEPSDK API and data structures, including Regex functionality.
Technologies: JMS, Boost, C++, Linux, Distributed Systems, C, SQL, PostgreSQL, GDB, Realtime, Big Data, Multithreading, Concurrency, Concurrent Programming, Concurrent Computing, Socket Programming, APIs, Technical Leadership, Leadership, Software Engineering, Back-end, Decentralized Systems, Design Patterns, Software Architecture, Architecture, Databases, Message Queues, Low-level Programming, API/Services Architecture, Startups, Relational Databases, Software Implementation, Software Integration, Object-oriented Programming (OOP), Object-oriented Analysis & Design (OOAD), Service-oriented Architecture (SOA)
2002 - 2005

Software Engineer

Signature Research, Inc.
  • Developed a physics-based global illumination renderer and ray tracer for army test and evaluation programs. Included three distributed systems that were cross-platform and multi-threaded, developed with C++, Boost, MPI, Pthreads, and UML.
  • Increased the efficiency of RenderView, a Windows physics-based ray tracer written in Visual C++, by at least ten times after researching, implementing, and testing a spatial partitioning algorithm.
  • Converted a legacy physics-based global illumination renderer that was written for an SGI with IRIS GL and Fortran 77 to Linux with OpenGL and C. Exceeded previous polygon limitations, approximately six times faster when using hardware acceleration.
  • Improved PRIMUS, a Visual C++ Windows OpenGL 3D model viewer and conversion tool that aided in-house integration of two physics-based thermal signature prediction programs.
Technologies: C, OpenGL, GDB, UML, MPI, Boost, C++, Linux, Distributed Systems, Machine Learning, Big Data, Multithreading, Concurrency, Concurrent Programming, Concurrent Computing, APIs, Software Engineering, Back-end, Design Patterns, Software Architecture, Architecture, Low-level Programming, Software Implementation, Object-oriented Programming (OOP), Data Science, Object-oriented Analysis & Design (OOAD)

Experience

CloudI: A Cloud at the Lowest Level

https://cloudi.org
CloudI is an open-source private cloud computing framework for efficient, secure, and internal data processing. CloudI provides scaling for previously unscalable source code with efficient fault-tolerant execution of ATS, C/C++, Erlang and Elixir, Go, Haskell, Java, JavaScript and Node.js, OCaml, Perl, PHP, Python, or Ruby services.

The bare essentials for efficient fault-tolerant processing on a Cloud!

Primitive Erlang Security Tool (PEST)

https://github.com/okeuday/pest
Static analysis of Erlang and Elixir source code to determine potential security problems. Easy to use as a script with command-line execution or as an Erlang module. Includes an OpenSSL vulnerabilities check based on the Erlang and OTP installation configuration.

CloudI HtmlUnit Service

https://github.com/CloudI/cloudi_service_htmlunit
A CloudI service to automate web browsing with HtmlUnit. Using a CloudI service for HtmlUnit ensures the HtmlUnit source code is fault-tolerant, even if extreme memory consumption occurs and simplifies web scraping.
Image of Modernizing Legacy Software: MUD Programming Using Erlang and CloudI publication
Publication

Modernizing Legacy Software: MUD Programming Using Erlang and CloudI

https://www.toptal.com/erlang/modernizing-legacy-software-an-example-using-erlang-and-cloudi
Image of CloudI: Bringing Erlang's Fault-Tolerance to Polyglot Development publication
Publication

CloudI: Bringing Erlang's Fault-Tolerance to Polyglot Development

https://www.toptal.com/erlang/a-cloud-at-the-lowest-level-built-in-erlang

Skills

Languages

Erlang (OTP), SQL, C++, C, Python, Java, Erlang, Python 3, Go, JavaScript, OCaml, Bash, HTML, C++11, C++14, UML, Objective-C, Perl, Haskell, Scala, PHP, R, C++17

Libraries/APIs

REST APIs, Node.js, Log4cpp, CppUnit, Qwt, Pyparse, Libcurl, OpenGL, PyQt, PIL, JMS, MPI, Spark ML

Tools

Git, Cloud Dataflow, Apache Tomcat, Tsung, GDB, AWS Simple Notification Service (SNS), CMake, Ansible, Terraform, Elastic, NGINX, Apache, SWIG

Paradigms

Concurrent Programming, Socket Programming, Design Patterns, Microservices, REST, API/Services Architecture, Functional Programming, Object-oriented Programming (OOP), Service-oriented Architecture (SOA), Data Science, Object-oriented Analysis & Design (OOAD), Database Design, Mobile Development

Platforms

OTP, Linux, Solaris, Amazon Web Services (AWS), Docker, Amazon EC2, Mobile, FreeBSD

Storage

PostgreSQL, NoSQL, Databases, Relational Databases, Amazon DynamoDB, Data Pipelines, JSON, MongoDB, MySQL, SQLite, CouchDB, Elasticsearch, Microsoft SQL Server, DB, Amazon Aurora

Other

Distributed Systems, CTO, Cloud Computing, Cloud, Cloud Engineering, Cloud Security, Server Security, Multithreading, Concurrency, Concurrent Computing, APIs, Software Engineering, Back-end, Software Architecture, Architecture, Message Queues, Low-level Programming, WebSockets, Web Scraping, Integration Tools, Software Implementation, Software Integration, Data Scraping, Machine Learning, Big Data, Oracle Solaris, Distributed Caches, Technical Leadership, Leadership, Decentralized Systems, Database Schema Design, Startups, Boost.Asio, Ejabberd, py2exe, XMPP, Gunicorn, Eventlet, Tornado, APNs, MessagePack, Artificial Intelligence (AI), Nomad, Real-time Bidding (RTB), OpenRTB, HAProxy, Social Media Apps, Data Structures, Java Native Interface (JNI)

Industry Expertise

Trading Systems

Frameworks

Apache Struts 2, Qt, Boost, Realtime, CloudI, Spark, Flask, HtmlUnit, JNI

Education

1998 - 2002

Bachelor's Degree in Computer Science

Michigan Technological University - Houghton, MI

Certifications

JUNE 2018 - PRESENT

Scala and Spark for Big Data and Machine Learning

https://ude.my/UC-YQLYSESA

JUNE 2018 - PRESENT

Artificial Intelligence A-Z™: Learn How To Build An AI

https://ude.my/UC-8SF178VZ

MAY 2018 - PRESENT

Machine Learning A-Z™: Hands-On Python and R In Data Science

https://ude.my/UC-CEXLJOGM