Charlee Li, Software Developer in Toronto, ON, Canada
Charlee Li

Software Developer in Toronto, ON, Canada

Member since September 4, 2018
Charlee is a full-stack developer specializing in web development (Angular/React, Django, and other Python frameworks). To every project, he brings several years of hands-on experience as well as his extensive knowledge and skills which spans from software design to deployment.
Charlee is now available for hire

Portfolio

Experience

Location

Toronto, ON, Canada

Availability

Part-time

Preferred Environment

VS Code, Git, Linux

The most amazing...

...thing I've done was to integrate popular frameworks and best practices into projects and reliably and quickly reform them into better shape.

Employment

  • Principal Engineer

    2016 - PRESENT
    Juice Mobile
    • Collaborated with the product manager to develop features.
    • Analyzed the requirements and estimated the effort.
    • Designed the software architecture, then coded the feature, and also wrote the unit and E2E tests.
    • Led a refactoring project on the front-end. The old codebase was based on AngularJS which lacked modularity and had a lot of coupling.
    • Analyzed the requirements and our current architecture; then borrowing concepts from React/Redux, designed a new architecture for our codebase.
    • Created a customized web component (AngularJS and Redux) to make the codebase more modular and much easier for future development.
    • Migrated the current product (which was AngularJS) and rewrote every screen with Angular 6 from scratch.
    • Migrated some UI logic from the old codebase; used Angular and ng2-redux.
    Technologies: PostgreSQL, JavaScript, Angular, Django, Python
  • Senior Software Engineer

    2012 - 2016
    Envisage Engagement Technologies
    • Built a CMS system with Python/Django (back-end), jQuery (front-end), and MySQL/Redis (database).
    • Supported the CI team for deployment of the CMS and integration with other systems.
    • Developed a document-sign system for a mobile application with Python/Django (back-end) and AngularJS (front-end).
    • Designed a RESTful API for document management.
    • Conducted corporate research, specifically exploring AR (Augmented Reality) SDKs and created an AR proof of concept on the Android phone.
    Technologies: Android, JavaScript, AngularJS, Django, Python
  • Software Engineer

    2011 - 2012
    Douban, Inc.
    • Designed and implemented a management system with Python for an online music service. The back-end was built with Python and a customized framework which provided the admin UI as well as a RESTful API for a streaming service. The front-end was built with HTML and jQuery for the admin UI.
    • Created a framework to simplify the operations of executing queries and utilizing caches, while making them much more efficient (Python, MySQL, Memcached); this was due to lack of an object-caching mechanism in Django (back in 2011). The framework has a built-in object-cache to support massive concurrent accesses (the service has about 500,000 unique daily users).
    • Designed and implemented the server side with Python for an LBS service operated by Douban (Python and Django).
    • Implemented in this system an algorithm called GeoHex to encode a geolocation to a single string so that locations could be effectively indexed by a database.
    • Developed campaign web pages based on the mockups provided by product managers and UI designers whenever necessary such as top ten songs every year or campaigns with other partners such as MSN. Most of the web pages were built with HTML and CSS while some required Python-based back-end functionalities.
    Technologies: JavaScript, Python
  • Project Manager

    2007 - 2010
    NEC Soft (Jinan) Co., Ltd.
    • Handled the outsourcing of the software development and QA.
    • Managed several teams to develop several applications, including a webmail system, a report-printing system, a display system, and a cell phone.
    • Negotiated the requirements, specifications, and costs with clients.
    • Analyzed and managed the scope, budget, expenditure, and risks of projects.
    • Recruited and evaluated engineers, project leaders, and Japanese translators.
    • Evaluated the requirements and designed the architecture of the systems.
    • Developed the webmail system with Perl and JavaScript.
    • Implemented a report-printing system with C. The system was done on Solaris which takes a printed document from the API and converts it to printer commands.
    Technologies: JavaScript, Perl, C++, C
  • System Engineer

    2003 - 2007
    NEC Soft (Jinan) Co., Ltd.
    • Developed a webmail system (JavaScript, HTML, and Perl); implemented and tested the front-end (JavaScript, HTML, CSS, AJAX, and some Flash) and the back-end (Apache, Perl).
    • Implemented and tested several applications for an NEC-branded featured phone (embedded Linux/C).
    • Built a middle layer which adapts a CPU to the application layer of a DVD recorder (C).
    Technologies: C, JavaScript, Perl

Experience

  • Digital Media Advertising Platform (Development)

    I developed and maintained a digital media advertising platform that helps advertisers to find the most appropriate publishers based on their interests and budgets. The codebase was AngularJS but I integrated Redux to AngularJS as well as other modern front-end technologies such as CSS modules, Webpack, web components to enable a better-managed data flow, a well-structured UI, and ensured that future development could be implemented easily.

    The main technology stack involved AngularJS, Redux, and a CSS module along with some of the original component system (AngularJS 1.5); the build tool was Webpack.

  • Online Shopping and Delivery Management System (Development)

    I developed a delivery management system for my client who owned a small delivery business. The system can manage the life cycles of the delivery orders but the most important feature is the Shopify integration. It can synchronize the purchase orders that customers made via my client's Shopify storefront and create delivery orders automatically based on the purchased content and the destination. Other features included inventory and gift card management.

    The main technology stack was Python/Django for the back-end, React for the front-end, and Jenkins for continuous integration.

Skills

  • Languages

    CSS, JavaScript, Python, C, Go, C++, Perl, TypeScript
  • Frameworks

    AngularJS, Django, Angular
  • Libraries/APIs

    jQuery, React
  • Tools

    Git, Jenkins, VS Code
  • Platforms

    Linux, Docker, Android
  • Storage

    Redis, MySQL, AWS S3, PostgreSQL
  • Paradigms

    Test-driven Development (TDD), Agile Software Development

Education

  • Bachelor's degree in Computer Science
    1999 - 2003
    Beijing University of Posts and Telecommunications - Beijing, China

Certifications

  • The Sun Certified Java Programmer Certification, Version 1.4
    JULY 2005 - PRESENT
    Sun Microsystems
  • Oracle Silver Fellow (Oracle 9i)
    JUNE 2005 - PRESENT
    Oracle University
  • LPI Certificate Level 2
    MAY 2005 - MAY 2010
    Linux Professional Institute
  • LPI Certificate Level 1
    APRIL 2005 - MAY 2010
    Linux Professional Institute

To view more profiles

Join Toptal
Share it with others