Jason Li, Developer in Shanghai, China
Jason is available for hire
Hire Jason

Jason Li

Verified Expert  in Engineering

Software Developer

Location
Shanghai, China
Toptal Member Since
February 1, 2018

Jason has a decade of experience developing applications across various platforms including for the web using jQuery and React, the back-end using Node.js, J2EE, and PHP, and desktop development on Linux and Qt. He's always been an active learner and is willing to listen to the opinions of others. He understands the importance of responsibility and teamwork, and he loves to solve complicated problems and is happy to take on challenges.

Portfolio

Nike
Java, Node.js, React, NestJS, Amazon Web Services (AWS), AWS Lambda...
Owtware
PHP, JavaScript, Python, C++, Docker
Works Applications
Polymer, React, JavaScript, Java

Experience

Availability

Full-time

Preferred Environment

Amazon Web Services (AWS), React, Node.js, Java

The most amazing...

...thing I've worked on was a private cloud storage platform which aimed at providing online cloud storage experience while hosted at the user's home.

Work Experience

Lead Software Engineer

2017 - PRESENT
Nike
  • Led the construction of a back-end team based on Nest.js and AWS.
  • Created a data crawler tool using the tool Puppeteer.
  • Cooperated on the development of the company's new eCommerce website, including a PDP page, cart, and checkout.
  • Participated in the development of the company's first WeChat mini-program.
  • Built a Chrome extension for API developers to validate the API design in real time using the Swagger Editor in adherence to the company's principles.
Technologies: Java, Node.js, React, NestJS, Amazon Web Services (AWS), AWS Lambda, Amazon DynamoDB, AWS ELB, Kubernetes, GitHub API

Senior Software Engineer

2015 - 2017
Owtware
  • Developed a client-based private cloud virtual desktop using Qt Designer. Implemented an instruction set for the virtual desktop experience, including basic image rendering, keyboard and mouse interactions, audio, and video.
  • Built a Chrome extension for users to retrieve their virtual machines and get access with more convenience.
  • Supported a client-based virtual desktop on WebSocket using Canvas. The instructions implemented were similar to the desktop ones.
  • Rewrote the UI part of the virtual desktop management portal using Material Design. Re-implemented the front-end framework and maintained a reusable component set. Led the refactoring of the user experience.
  • Participated in the design and development of a brand-new private cloud storage solution.
  • Supported a file synchronization tool by utilizing Python and the rsync algorithm.
Technologies: PHP, JavaScript, Python, C++, Docker

Software Engineer

2014 - 2015
Works Applications
  • Contributed to the design and development of the "My Number Keeping System" platform, which improves the efficiency and transparency of personal information collection. It was accomplished by using Spring, DynamoDB, and other technologies.
  • Developed an ERP software for a newspaper publishing company based on J2EE and Angular, including a web newspaper editor based on HTML5 canvas, a real-time chat system based on WebSocket, and other basic human resource management features.
  • Built and designed, in a team, an Android app which used OCR technology to recognize characters on images; specifically developing an image crop component and leading the UI/UX design of the app.
  • Helped to migrate a Java-based database during the development process.
  • Participated in the development and design of an open source project.
Technologies: Polymer, React, JavaScript, Java

Software Engineer

2011 - 2014
China Court System Project Team
  • Supported a PowerBuild and Sybase based application for the court system of Jiangsu province.
  • Created a database synchronization tool.
Technologies: Jakarta EE, jQuery, Sybase, PowerBuilder

Crawler of eCommerce Websites (via Toptal)

This was the first project/engagement that I gained via Toptal. It involved building a crawler to scrape products of certain brands from specific eCommerce websites.

Highlights of My Project Contributions:
1. Utilize a proxy service to solve the anti-crawling mechanisms of these eCommerce websites thoroughly.
2. Improve the speed of the crawler significantly by getting data from the product search result pages instead of scraping product detail pages one by one.
3. Create a website for users to visualize data, download data aggregations, check the status of the crawler, and manage users.
4. Create a CI/CD process based on CircleCI and AWS Elastic Container Service which improved the efficiency of development and deployment.
5. Introduce a mechanism to integrate our system with AWS Elastic Container Service which will be responsible to scale the EC2 instances used for crawling; only let them start when the crawler is running and scale the number of ECS services to 0 when crawling is finished. It will help save a significant amount in costs.

FileGear: Private Cloud Storage Hosted at Home

This project involved building a private cloud storage platform that wanted to provide an easy set up of a very accessible and home-based cloud storage solution.

I developed most of the front-end functionality including file-and-folder uploads, drag-n-drop, copy, move, uploads, file tree, explorer, image navigator, and more. I also developed a reusable UI component set based on Material Design.

For the back-end part, I invented a progressive file hash calculation algorithm which improves the file upload experience a lot.

Rhinobird: a Tool for Teamwork

https://github.com/rhinobird-io
This project involved an open-sourced mutual benefit tool for teamwork.

I created a web-based calendar for users to manage and share their activities, where users can also drag-n-drog around to easily create and update activities. I also supported a real-time chat tool similar to Slack.

Sybase ORM

I created a Sybase database object-relational mapping tool.

Angular Infinite Scroll

https://github.com/RonaldoLee/angular-mobile-infinite-scroll
I developed an AngularJS component for infinite scrolling.

Company's React Foundation Library

This is a foundation toolkit based on React and it's shared by all cloud experiences at my current company. I participated in the design and development of components and also improved the CI/CD process.

Languages

JavaScript, CSS, ECMAScript (ES6), HTML, GraphQL, Java, PowerBuilder, ES7, Bash Script, C++, SQL, PHP, XML, Python, YAML, TypeScript, VBScript, Ruby

Frameworks

Express.js, Redux, Ant Design, YARN, Angular, NestJS, Bootstrap, Qt, Jest, Next.js, React Native, Spring, AngularJS, Chrome

Libraries/APIs

React, REST APIs, Puppeteer, Material Design Lite, Redux Form, React Router, Node.js, WebGL, Restify, jQuery UI, jQuery, Scikit-learn, GitHub API, Polymer, PhantomJS, Apache Lucene, React DnD

Tools

JavaScript Debugging, NPM, Chrome Developer Tools, Git, Webpack, Redux Thunk, Qt Creator, Bitbucket, Canvas 2D, PM2, Sequelize, Vim Text Editor, Atom, Shell, Jenkins, Fluentd, NGINX, Cocos Studio, Mocha, AWS ELB

Paradigms

Responsive, Responsive Layout, RESTful Development, Microservices Architecture, Socket Programming, Unit Testing, E2E Testing, Functional Programming, Agile Software Development, Testing, Photoshop Design

Platforms

Amazon Web Services (AWS), AWS Lambda, MacOS, Linux, Linux CentOS 7, Jakarta EE, Android, Docker, Cocos2d-JS, Kubernetes

Storage

JSON, MySQL, NoSQL, Redis, Amazon DynamoDB, Elasticsearch, Sybase, SQLite, MongoDB, PostgreSQL

Other

Responsive UI, WeChat Mini Programs, Lint, Chrome Extensions, GitFlow, Data Structures, Algorithms, Machine Learning, Software Development, Mobile Web, HTTP, WebSockets, UI Testing, Android Development, Deep Learning, Design, Accessibility, HTTP 2, Enzyme, Network Protocols, User Authentication, WeChat Pay

2011 - 2014

Master's Degree in Software Engineering

Nanjing University - Nanjing, Jiangsu, China

2007 - 2011

Bachelor's Degree in Software Engineering

Nanjing University - Nanjing, Jiangsu, China

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring