Zhanlin Shang, C++ and Python Developer in Sydney, New South Wales, Australia
Zhanlin Shang

C++ and Python Developer in Sydney, New South Wales, Australia

Member since February 14, 2021
Zhanlin has been a developer since 2012, specializing in C++ and Python. He has also designed programming languages and developed compilers. In addition to freelancing, he interned at Microsoft Research Asia and worked for a company on the ASX 100 List. Zhanlin is a programming polyglot who learns new business domains and technologies quickly and easily in order to develop and deliver exceptional work.
Zhanlin is now available for hire

Portfolio

  • Immutable
    Go, TypeScript, Python, C++, PostgreSQL, Compilers, Compiler Design, Flask...
  • CSIRO | Data61
    LLVM, Haskell, C, Compilers, Compiler Design
  • WiseTech Global
    Python, C++, C#, Clojure, Common Lisp (CL), Compilers, Compiler Design, Flask...

Experience

  • C++ 9 years
  • Linux 9 years
  • Python 6 years
  • Compilers 5 years
  • Compiler Design 5 years
  • Common Lisp (CL) 5 years
  • Go 2 years
  • Clojure 2 years

Location

Sydney, New South Wales, Australia

Availability

Part-time

Preferred Environment

Linux, C++, Python

The most amazing...

...thing I've created was Graph Assembly, a programming language I developed at Microsoft Research Asia.

Employment

  • Software Developer

    2020 - PRESENT
    Immutable
    • Fine-tuned Go runtime performance by reducing GC times.
    • Implemented an Ethereum event listener and message dispatcher.
    • Deplyed the back-end server of an NFT (cryptocurrency) exchange platform.
    • Implemented a transaction log observation service using Flask and PureScript.
    • Deployed and maintained Python services running on AWS.
    Technologies: Go, TypeScript, Python, C++, PostgreSQL, Compilers, Compiler Design, Flask, AWS, Back-end, SQL, Amazon Web Services (AWS), HTTP, APIs, Docker
  • Research Student

    2019 - 2020
    CSIRO | Data61
    • Initiated the LLVM back end of the purely functional system programming language, Cogent.
    • Wrote an LLVM IR generator in Haskell, which generates an LLVM IR from Cogent AST.
    • Implemented interoperability between Cogent and C through an LLVM IR and LLVM Linker.
    Technologies: LLVM, Haskell, C, Compilers, Compiler Design
  • Software Developer

    2018 - 2020
    WiseTech Global
    • Designed and implemented a configurable pipeline for an internal content service in Python.
    • Led the development of a legal text processing platform.
    • Performance-tuned data science projects using C++.
    • Implemented and deployed data science microservices for internal use.
    Technologies: Python, C++, C#, Clojure, Common Lisp (CL), Compilers, Compiler Design, Flask, AWS, Back-end, SQL, NoSQL, MongoDB, Amazon Web Services (AWS), HTTP, Docker
  • Research Intern

    2018 - 2018
    Microsoft Research Asia
    • Designed a lower-level programming language called Graph Assembly.
    • Executed the specification interpreter of Graph Assembly.
    • Implemented the prototype compiler of Graph Assembly.
    Technologies: C++, LLVM, Compilers, Compiler Design, HTTP
  • Developer

    2012 - 2017
    Freelance
    • Developed a mobile game, using Cocos2d and C++ on iOS.
    • Built a meta web framework in JavaScript and Lisp.
    • Developed a compiler for a superset of JavaScript that supports macros.
    Technologies: C++, Common Lisp (CL), JavaScript, Python, Go, Cocos2d, SQL, NoSQL, MongoDB, HTTP

Experience

  • Graph Assembly
    https://www.graphengine.io/

    A lower-level programming language designed for high-performance usage for Microsoft Research's distributed computational graph engine. I designed the language and implemented the specification interpreter in C++ and the compiler in C++ and LLVM.

  • Cogent
    https://github.com/NICTA/cogent

    Cogent is a purely functional, system-level programming language. I initiated and implemented the LLVM back end for its compiler, using Haskell. In addition, I supported the interoperation between Cogent and C via LLVM.

  • Bytecode
    https://pypi.org/project/bytecode/

    Bytecode is the Python library for generating Python bytecode. I added a proper stack depth computation functionality to it so that code generation will not generate codes that will cause a runtime crash due to stack underflow.

  • LICPP
    https://github.com/Z-Shang/LICPP

    LICPP is a header-only C++ library that heavily utilized modern C++ templates to provide a Lisp-flavored C++ experience and included many Lisp concepts, such as mapping, reducing, and multiple variable binding.

  • Immutable X
    https://www.immutable.com/

    Immutable X is an L2 exchange for trading NFTs on the Ethereum blockchain. My contributions include the core engine and the public API components in Go, the database in PostgreSQL, the committee node in Python, and the request handling library in TypeScript.

Skills

  • Languages

    C++, Python, Common Lisp (CL), Go, TypeScript, JavaScript, Clojure, Haskell, C, SQL, C#
  • Frameworks

    Flask, Cocos2d
  • Platforms

    Linux, Amazon Web Services (AWS), Docker
  • Other

    Back-end, HTTP, Compilers, LLVM, AWS, APIs
  • Paradigms

    Compiler Design
  • Storage

    NoSQL, MongoDB, PostgreSQL

To view more profiles

Join Toptal
Share it with others