
Sai-yu Ng
- .Net Full Stack Programmer
- Somerville, MA
- Member Since Mar 27, 2023
Sai-yu Ng
-----------------------------------------------------
Application Developer
An application developer with more than 10 years of experience, particularly strong in troubleshooting, design, and with excellent programming skills, looks for challenging work.
Professional Experience
MicroServices Automation Group (MSAG)
July, 2017 – Present
Full Stack Programmer at National Center of Transportation (Volpe Center, MA)
Migrating a vintage .Net application, called Ground Transportation Information System (GTIS), from .Net 1.0.1 to .Net 4.6.1
Migrating a current .Net application, called Safety Assessment System (SAS), from .Net Core 1.0 to Angular HTML5
Sabbatical
Mid Dec. 2016 – June, 2017
For person reason, I had to go out of town for 2~3 weeks, so I quitted Epsilon in mid December, 2016. Before I took off from Epsilon, I had been practicing React.js and Angular.js 1.5 skills via sample practices. The practices included coding javascript in ES6, template in JSX, and setting up build and server environments, using Babel, Gulp, and Webpack bundler Node.js packages.
Epsilon (subsidiary of Alliance Data)
May, 2015 – mid Dec., 2016
Javascript UI Programmer at Epsilon (Wakefield, MA)
The Epsilon Agility Harmony is a digital messaging tool platform for email and mobile marketing. It is a cloud-based platform that lets the digital marketing teams to create digital messaging campaigns and automate campaigns. The platform also provides insight into campaign performance, along with the ability to improve campaign results.
The goal of this project is about fixing issues and adding new features to the frontend UI of application. The UI includes Harmony Backoffice (HBO), Segmentation Rules, Mailing List, Reference Table, Transaction Table, email Campaign, and etc.
- Use Spring Thymeleaf template engine for UI page scaffolding.
- Use Bootstrap, Require.js, Underscore.js, jQuery,js, Backbone.js, Ext.js, Handlebars.js, Compass SCSS, and more, on client side UI page rendering.
- Familiar with Angular js and Node js
Source Controls: Rally CA, Git, and Gradle
New Directions Staffing Service (Contractor)
July, 2014 - April, 2015
Javascript UI Programmer at MIT I.S.T. (Cambridge, MA)
MIT Learning Management System UI development
Learning Management System (LMS) is a web application that enables faculty to organize and manage many aspects of teaching a class. The application allows sharing and updating class materials and assignments. It manages class membership, tracks students’ class performance, and facilitates course-based collaboration and information exchange.
The goal of this project to fix issues and add new features to the front end side of membership module, grade book module, calendar module, materials module, and configuration module of LMS.
- Use Knockout.js to define data-binding observable classes, and use them on HTML pages and in view models.
- Use Grunt to manage the UI build automation.
- Use Zurb's Foundation UI framework on HTML pages.
Source Controls: JIRA, SVN
Mobiquity (Contractor)
Jan., 2014 - May, 2014
Javascript UI Programmer at Vecna (Cambridge, MA)
Application development
The goal of this project is to add features to the client's Patient Self Service (PSS) one page UI application to meet Q2 certification, which is about providing patients with a means to view clinical information online.
- Use Backbone js to create models and views: Allergies, Medications, Vital Signs, and more.
- Use Handlebars js to create templates and helper functions.
- Use Apache CXF to provide JAX-RS and JAX-WS services.
- Use Jasig CAS to provide single sign on service.
DISYS (Contractor)
June, 2013 - Oct. ,2013
Senior Java Programmer
Application development
- Investigate current Loan/Debt processes in OpenEdge Progress database. Loan/Debt processes include daily loan processing and late-charge calculation.
- Develop (JAX-RS) Restful API services to retrieve debt, loan, collateral, and investor information from MySQL database.
Build: Spring Tool Suite, Java 6, Spring 3.0.2, Hibernate 3, JPA 2, DBUnit, MySQL, Tomcat
- Develop UI widgets to consume collateral and investor Restful API services.
- Use Backbone js to create models that map to the body of the returned Restful web service responses.
- Use Backbone js to create views that render the backbone models.
- Use Tomcat to host the (JAX-RS) Restful web service.
- Use Tomcat and Node js to host the UI alternatively.
- The goal of using open-source javascript frameworks is to create one-page UI.
Build: Node.js, Backbone.js, jQuery, Underscore js, Bootstrap js, Require js
Source Controls: JIRA, Git, Maven
IBM
1992 - February 2013
Software Programmer
IBM Payment Director Application Development & Support
Sept. 2012 – Feb. 2013
A J2EE application for processing electronic check images from bank ATMs.
- Bug fixing and add enhancement.
- DB2, WebSphere Application Server, WebSphere MQ, Java, JavaScript, Struts, Tiles, JDBC
Lotus Connections Communities Application Development
May 2007 - August 2012
A J2EE Social Networking Web application
- Web service development and extensibility, provided POJO API, Atom API, and Feed Content.
- Backend database store procedures maintenance, update, and data corruption detection.
- Build and verification, test cases, build script update, and acceptance alert script.
- Version migration, XML, XSLT, and various scripts for program installer.
- Java, JavaScript, SQL, iBatis, Dojo, Abdera, ANT, XML, XSLT, SQL, JUnit, Struts, Tiles, JDBC, JSP, JSTL
IBM WebSphere Portal Server & Application Development May 2006 - May 2007
- Development and maintenance of the Web Components Library (WCL).
- Java, Javascript, HTML, CSS
IBM Workplace Application Development Oct. 2002 - May 2006
A J2EE Groupware Application
- IBM Websphere Workplace Admin Console UI development from version 5.x to 6.1.
- Java, Java Eclipse plug-in, Struts, Tiles,
Lotus Discovery Server Nov. 2000 – Oct. 2002
- An early form of J2EE Big Data Application
- Java, XML, XSLT, Domino Server,
Lotus SmartSuite and Lotus Organizer Development Apr. 1996 - Nov. 2002
- C++, Win32
IBM OS/2 2.0 PC Operating System Installation Jan. 1994 – Feb. 1996
- C, C++, Microsoft Assembler
EDUCATION:
The City College of New York, School of Engineering
Bachelor in Electrical Engineering with minor in Computer Science June, 1992