Gary Wong, Developer in Flushing, United States
Gary is available for hire
Hire Gary

Gary Wong

Verified Expert  in Engineering

HATEOAS Developer

Location
Flushing, United States
Toptal Member Since
March 15, 2016

Gary is a self-motivated and detail-oriented software engineer with work experience in various programming languages, libraries, and frameworks. His principal interests are in computer-human interaction, algorithm analysis, domain driven design, and distributed systems design. He loves working on innovative products that meaningfully impacts people's lives.

Portfolio

Flatiron Health
React, Python, C#
OnDeck Capital
Makefile, Git, Kibana, New Relic, SonarQube, Jenkins, Ansible, Vagrant...
theLadders.com
CasperJS, CommonJS, Google Tag Manager, Mixpanel, Splunk, Jenkins, Selenium...

Experience

Availability

Part-time

Preferred Environment

Subversion (SVN), Mercurial, Git, Sublime Text, IntelliJ IDEA, Linux, MacOS

The most amazing...

...thing I've developed is a highly scalable RESTful API system with HATEOAS architecture that powers public websites, web services, and a mobile client.

Work Experience

Software Engineer

2017 - PRESENT
Flatiron Health
  • To be announced.
Technologies: React, Python, C#

Senior Software Engineer

2015 - 2017
OnDeck Capital
  • Promoted continuous delivery that involves a Jenkins build and deployment pipeline, an automated unit, integration, GUI (Selenium), and web service test frameworks as well as a code quality analyzer (SonarCube) to ensure the software can be reliably released at any time in short development cycles.
  • Partitioned a monolithic application into standalone microservices that helps the company to scale products and adapt services easily, and enable faster and more agile development cycles with fully automated deployment processes.
  • Develop a REST based micro-service report generator API using Java 8, Play! Framework, and PostgreSQL that automatically generates monthly statement report for all customers to track monthly loan payoff progress.
Technologies: Makefile, Git, Kibana, New Relic, SonarQube, Jenkins, Ansible, Vagrant, PostgreSQL, Apache Tomcat, Jetty, Spring Boot, Spring, Play, JUnit, Java

Full-Stack Software Engineer

2013 - 2015
theLadders.com
  • Developed a dynamic single-page application with Backbone.js data-structuring and user interface primitives for the new public web sites.
  • Promoted domain driven design, test driven development, unit tests,, and code reviews that often cut the amount of code in individual files in half as well as reduced defects.
  • Contributed greatly to increase code quality and productivity through leadership and guidance in areas such as test/behavior driven development, refactoring, pair programming, and agile estimation and planning.
  • Participated in rotational pager duty to provide on-call support including off-hours server administration and problem escalation.
Technologies: CasperJS, CommonJS, Google Tag Manager, Mixpanel, Splunk, Jenkins, Selenium, Mercurial, Jetty, Riak, MySQL, RabbitMQ, Scala, Apache Storm, Sass, Grunt, Jasmine, RequireJS, Backbone.js, JavaScript, Mockito, JUnit, MyBatis, Jersey, Spring, Java

Software Engineer

2011 - 2013
UBS Financial Services
  • Developed a multi-tier scalable and maintainable trade forensic monitor tool that supports various financial products from browser-side technologies, server-side web application servers to a database storage system.
  • Reduced the production troubleshooting time from days to minutes by implementing a dynamic generated sequence diagram using jQuery to illustrate the business activities throughout the life-cycle of a trade order across multiple tiers.
  • Implemented an automated test engine integration; reduced time and memory to generate test cases by 60% by redesigning the recursive combination generator to iterative.
  • Optimized and enhanced browser rendering performance on the client side by 30% as well as handling JavaScript memory usage to avoid memory leaks.
Technologies: WebSphere, Apache Tomcat, Subversion (SVN), jQuery, Ext JS, JavaScript, JUnit, Spring, Java

Teacher Assistant

2009 - 2011
Computer Science Department, Stony Brook University
  • Worked for 2 years aiding courses like internet commerce programming, user interface development, and database management.
  • Gave students more knowledge in the subject by bringing real life examples to help students understand the logical flow.
  • Held TA sessions and office hours for helping students to prepare the exams and the software demonstrations.
Technologies: Swing, Paper Prototyping, Design Principles, SQL, MySQL, Ajax, jQuery, JavaScript, Jakarta EE, Java

IT Intern

2010 - 2010
UBS Financial Services
  • Optimized Java Swing GUI response time by 200% by executing the long-running task in a separate thread and scaling the application to handle more tasks efficiently.
  • Designed and implemented a web-based survey questionnaire using jQuery, PHP, and MySQL for the Desktop Transformation Windows 7 Migration Project that collects team’s application inventory for their job functions.
  • Gave a tech talk presentation and introduced new advanced technology on Comet/Reverse Ajax at the UBS developer conference.
Technologies: MySQL, PHP, jQuery, JavaScript, Java

IT Software Developer

2010 - 2010
DFG Investment Advisers
  • Created a scheduler to collect financial data and reports for daily business operations from multiple web RESTful API in XML, JSON, and CSV format.
  • Implemented and maintained a flexible, automated browser based test by using real time data from database and WATIN which operates by simulating a browser.
  • Optimized and enhanced browser rendering performance on the client side by 50% as well as handling JavaScript memory usage to avoid a memory leak.
Technologies: Subversion (SVN), WatiN, C#, jQuery, JavaScript, Java

Trade Forensic Monitor

Trade Forensic Monitor collects all the business activities of a trade in real-time, and dynamically renders all the events that happen throughout the life cycle of a trade in a sequence diagram. This is done so that the user can easily and efficiently see what the current status of a trade order, and what is going on and what is missing. This helps and reduces the production troubleshooting time from days to seconds.

HATEOAS RESTful API

A highly scalable RESTful API system with Hypermedia as the (HATEOAS) architectural pattern that powers public websites, web services, tablets, and mobile devices. The REST interfaces that is provided by the application server dictates what the domain can do and see.

Languages

Java, SQL, Java 8, JavaScript, Python, PHP, Sass, C#, Scala

Frameworks

Play Framework, ASP.NET Web API, Spring, JUnit, Mockito, Jasmine, Ext JS, Play, Spring Boot, Swing, Redux, React Native, Express.js, Google Guice, Google Guava, ZURB Foundation, Selenium, Jersey

Libraries/APIs

REST APIs, React, jQuery, MyBatis, JDBC, Node.js, Backbone.js, RequireJS

Tools

Eclipse IDE, HipChat, Trello, Jira, Mercurial, ITerm, Sublime Text 3, Makefile, SBT, Apache Maven, Jenkins, SonarQube, Git, IntelliJ IDEA, Sublime Text, WatiN, RabbitMQ, Vagrant, Apache Tomcat, Kibana, Ansible, Subversion (SVN), Jetty, CasperJS, Apache Storm, Splunk, Grunt, Varnish

Paradigms

KISS, Kanban, REST, Gang of Four (GOF) Design Patterns, Object-oriented Programming (OOP), Refactoring, Test Automation, Pair Programming, Agile Software Development, Microservices, Object-oriented Design (OOD), Back-end Architecture, Service-oriented Architecture (SOA), Design Patterns, Domain-driven Development, Continuous Delivery (CD), UI Design, Scrum, Behavior-driven Development (BDD), Human Interface Design, Test-driven Development (TDD), Rapid Prototyping

Other

APIs, HATEOAS, Zen Cart, SOLID Principles, Single-page Applications (SPA), Algorithms, eCommerce, Product Management, Product Development, Product Ownership, Data Structures, System Design, RESTful Web Services, Back-end Development, API Design, Leadership, Prototyping, Google Tag Manager, Ajax, Design Principles, Paper Prototyping, Graphite, log4j, Scalability, CommonJS, TCP/IP, HTTPS

Platforms

Software Design Patterns, Windows, Linux, MacOS, WebSphere, Jakarta EE, New Relic, Mixpanel, Oracle

Storage

PostgreSQL, MySQL, Elasticsearch, Database Modeling, Riak, MongoDB

Industry Expertise

Project Management

2010 - 2011

Master of Science in Computer Science

Stony Brook University - Stony Brook, NY, USA

2007 - 2010

Bachelor of Science in Computer Science

Stony Brook University - Stony Brook, NY, USA

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