Development Portfolio
Hi, I'm a Full-Stack Software Development Engineer, Architect, IT Team Leader, DevOps, Programming Tutor, and Best Practice Enforcer. The following principles I embrace are KISS (Keep It Simple, Stupid), YAGNI (You Aren't Gonna Need It), Component-Based Development (CBD), and Service-Oriented Architecture (SOA). I have a passion for creating and enhancing anything technology related. My motivation in development is to help end-users achieve their objectives and to empower them to excel.
Specialities
I have extensive experience in many fields of technology, but the work I am most passionate about are related to developing full-stack web applications, creating mobile apps, designing user experiences, IT release management, and managing various teams. The CMS (Content Management System) is another field of technology I have many years of experience. The popular CMS I work with mostly are WordPress, Drupal, Umbraco, and Sitecore. My specialization in CMS development is migrating content from old systems, integrating services (eg Analytics, Coveo, Lucene, Solr), and architecting multiple sites. IT Infrastructure is another specialty that I lead as DevOps establishing strategies from source control branching to release management, creating environments (DEV, QA, STAGE, PROD) to be deployed sequentially, and automating the process of software delivery (aka Continuous Delivery).
Featured
Take a look at what I've done so far. Below is a long history of featured projects from my development hobby and jobs. The most recent projects are on the top and the oldest projects are at the bottom of the list.
GitHub Projects .NET, Java, SQL, PowerShell, MSBuild, Sitecore, Umbraco
Highlighting some of my Git repositories or see all by visiting my GitHub. I have used many version control systems (VCS) and project hosting services, like SourceForge and CodePlex. The previous hosting service that I migrated from was Google Code, under the organization name I founded and started called Creative Crew (was known as, Developers Club) at University of Central Florida (UCF).
Enterprise Apps, SeaWorld Parks & Entertainment Sitecore Certified, ASP.NET MVC C#, MS SQL, JavaScript
An enterprise system composed of many applications (eg sitecore, ecommerce, resellers), services (eg reservations, payments), and data (eg accounts, products, orders) all working together in unison. I started as a full-stack developer and then taking on many roles as a Sitecore Architect, IT Team Leader, and DevOps. For many years, I developed many enterprise applications for the company, implemented many features, and automated the infrastructure for the IT department. My colleagues recognized me as their production problem solver (digging through layers of code and data to find the cause) and their CMS expert for all Sitecore projects.
The following documents I created to enforce company standards and best practices:
SubmittalCheck, Elite Technical ASP.NET MVC C#, MS SQL, JavaScript
This project started in 2008 using two emerging technologies, ASP.NET MVC and NHibernate ORM (Object-Relational Mapping). I developed an innovative web application called "SubmittalCheck", a digital handshake or authorization service that guarantees that all submitted candidates have been informed regarding pertinent job details and have expressly authorized the presenting staffing vendor to represent their interest in pursuing each job position. The candidates are also empowered to authorize their resume submittals and validate their staffing agency relationship.
JS Components, JS Helpers, jQuery Plugins JavaScript
The following JavaScript components and helper functions I created and reused to meet the needs of many web applications.
Demos and Documentations
Source Codes
- Push Board Game (WebSocket, Java EE, Maven, SQLite, Apache Tomcat Embed)
- Collapsible Component (jQuery Plugin)
- Tabs Component (jQuery Plugin)
- Validation Highlighter Component (jQuery Plugin)
- Rich Text Editor On-demand Loader Component (TinyMCE)
- Image Gallery Component (jQuery Plugin)
- Helper Functions (Vanilla JavaScript)
Domain Generator PHP, MySQL, jQuery
A hobby project I created to learn about Single-Page Application (SPA), which is mostly moving the business logic layer to the client-side. All communications (HTTP, request and response protocols) to the database is by AJAX and JSON to the server-side, as a Web Service API (Application Program Interface).
Review My Source Code and Demo
FINDER, Florida Law Enforcement ASP.NET C#, MS SQL
A large project started in 2002 that I helped developed with a team. The first version of FINDER (Florida Integrated Network for Data Exchange and Retrieval) was installed in October 2003 connecting five law enforcement agencies in a federated peer-to-peer data sharing system and now has users from nearly every major law enforcement agency in the state of Florida. This application provides searching capability of hundreds of data sources and has provided a key role in solving hundreds of crimes.
Tournament Management, UCF CECS Diversity ASP.NET VB, MS SQL, YUI JavaScript
A "one person team" taking on a medium size project, I was assigned to rapidly develop a web application to manage tournaments (aka tournament management system). Everything was designed and architected by me, from the backend (SQL database schema and ASP.NET Web Forms) to the frontend (HTML, CSS, JavaScript). This application features user management, competition registration (events, teams, volunteers, judges), scoring, ranking, and surveying.
Knightverse, Charlotte County Government Florida ASP.NET C#, MS SQL, jQuery
Before any major web-based word processors emerged like Google Docs and Microsoft Word Online, this project I developed is a web application that allows users to collaborate and create documents. The sharing feature has ability to assign privileges to read, comment, and modify documents. The original vision for Knightverse came from the planning department of Charlotte County Florida. They were looking for a new way to produce web-based documents versus traditional ways for their operation.
Waste Assessment, Brevard County Government Florida ASP.NET VB, MS SQL, jQuery
A web application that manages all aspects of determining the solid waste non-ad valorem assessment for all residentials and commercial properties based on different assessment types. This process is accomplished to provide the tax collector's office with solid waste non-ad valorem assessments that become part of the annual property tax bills.
Foodosaurus, Wackadoo's Grub & Brew ASP.NET C#, MS SQL, jQuery
A proof-of-concept (POC) that I rapidly developed with the restaurant owner funding the project, it is to explore the possibility of a potential product or service to be successful. This web application features searching menu items in all restaurants, calling out favorites, and managing menus for restaurants.
Content Management, UCF CECS Engineering Technology ASP.NET C#, MS SQL, jQuery
Before any popular content management systems (CMS) emerged for ASP.NET 2.0, I was assigned to develop a web application to empower professors to manage content and files easily. I architect the application for professors to privately control their own set of pages and blogs using a friendly rich text editor and to quickly attach files using AJAX.
Apple iPhone App Objective-C, C++, OpenGL ES, Physics 2D
One of my hobby projects I do on my spare time. I created a console (CLI, command line interface) to quickly experiment features and a game using OpenGL ES 1.1 and Box2D physics engine for collision, bounce, and friction. This project is a prototype, by creating a simple application that explore the possibilities on Apple iPhone.
Review My Source Code
Google Android App Java
One of my hobby projects I do on my spare time is creating a simple prototype application that explore the possibilities on Google Android. I created a console (CLI, command line interface) to quickly experiment features and a 2D graphics simulation by side scrolling a level using tiles. The tiles are cutouts from a single image for graphics performance and conserving memory. The tiles are used as building blocks to construct a seamless world.
Review My Source Code
SCINET, Seminole County Government Florida ASP.NET VB, MS SQL, YUI JavaScript, Ext JS
A large project started in June 2003 that I helped developed with the goal of analyzing government business process, providing recommendations for process improvement, and software development to support the process changes. Since then analysis and refinement of hundreds of processes has taken place along with the supporting software development saving Seminole County millions of dollars in efficiency improvements annually.
Program Assessment, UCF OEAS ASP.NET VB, MS SQL, YUI JavaScript
A web application designed to streamline and improve the assessment process at University of Central Florida (UCF). It includes complex state-based workflow and implements some software advances such as non-programmatic interface control and automated video-based embedded training.
US Y-STR Database ASP.NET VB, MS SQL, jQuery
A small project assigned to me to develop the front-end and the server-side code for the web forms. This NIJ funded project is a web application that searches an existing database of Y chromosome haplotypes.
Swing GUI and Java ME Java, Swing, Windows Mobile
A collection of small hobby projects I created for exploring, experimenting, and prototyping Java on desktop using GUI Swing and on mobile using Windows Mobile. The projects use Eclipse IDE (Integrated Development Environment).
Download and Review Source Code Source Code
Game Engine C++, OpenGL, DirectX, Physics 3D
An old project started in 2004 for my organization called Creative Crew (was known as, Developers Club) at University of Central Florida (UCF). I developed a game engine called "Discovery" using OGRE, a object-oriented graphics rendering engine, seamlessly using OpenGL and DirectX on multiple operating systems: Microsoft Windows, Linux, and Apple Mac OS X. The following physics engines have been replaced multiple times because of operating system compatibility issues or licensing issues: Newton Game Dynamics, NVIDIA PhysX, and Bullet.
Level Design for Quake 3 Weapons Factory Arena QERadiant, GtkRadiant
A very old hobby project I done during my teenage years, I was a level designer (aka mapper) for a game mod called Weapons Factory Arena (WFA) for Quake 3 Arena (Q3). The level editor tool I used was QERadiant and later switched to GtkRadiant, with a better lightmap ".bsp" compiler called "ydnar Q3Map". I renamed the file types below from ".pk3" to ".zip" for your convenience. The ".pk3" file type is simply an archive file used by the Quake 3 engine. Unfortunately, the source maps were lost or misplaced.
Available for download: Gensurf, Classic Cancer, C-Bases
Resume
I'm looking to join a great team where I can work on a variety of projects, be a team leader and collaborate with members, and continue to expand my knowledge and hone my skills.
I believe in "Jack of All Trades, Master of Many" is possible because of the fundamentals are similar between technologies. The following tools and skills I acquired during my professional career as a full-stack developer.
Front-End Web Development Tools & Skills
- HTML, CSS, JavaScript, JSON, XML
- Responsive Web Design (RWD), Canvas, WebSocket, and DOM (Document Object Model)
- jQuery, AngularJS, Bootstrap, YUI, Ext JS, Microsoft Ajax Library
- Google Chrome DevTools (Debug Client-Side and Network)
- Adobe Photoshop and Illustrator
.NET Development Tools & Skills
- C#, Visual Basic (VB)
- MVC, Web API, Web Forms, ASMX, WCF aka SVC, Class Library, Console
- Sitecore, Umbraco, Sitefinity
- Stored Procedure, ADO.NET (DataSet and DataTable), Entity Framework, NHibernate ORM
- Microsoft SQL Server (MSSQL)
- PowerShell, MSBuild, TFS (Team Founderation Server)
- Microsoft Visual Studio
- Microsoft IIS
Java Development Tools & Skills
- Java EE (Servlet and JSP), Swing GUI, Console
- JDBC (Java Database Connectivity) and JPA (Java Persistence API)
- MySQL and SQLite with SQLiteStudio
- Maven
- Eclipse IDE and Netbeans
- Apache Tomcat
PHP Development Tools & Skills
- WordPress and Drupal
- MySQL with phpMyAdmin and SQLite
- Eclipse IDE PDT (PHP Development Tools)
- Linux Apache HTTP Server and Microsoft IIS 7+
General Development Tools & Skills
- Repository Pattern for DAL (Data Access Layer)
- Git, SVN (Subversion and TortoiseSVN), Microsoft Visual SourceSafe (VSS), CVS
- Notepad++, Sublime Text, Beyond Compare
- Doxygen (Source Code Documentation Generator)
- WebService Studio and Wizdler (Debug SOAP)
- Postman (Debug REST)
Connect
If you have a job available or simply interested in finding out more, then get in touch and let's get things moving. Please feel free to contact me using the list below.
- Email: business@williamchang.org
- LinkedIn: https://www.linkedin.com/in/william-chang-11971020
- Twitter: https://twitter.com/williamchang
More About Me And This Website
I'm a minimalist, always pushing for efficiency and reducing technical debt. I read a lot of technology and science news. During my spare time, I enjoy researching and prototyping experimental technologies around the corner. When I'm not in front of a computer screen, I'm probably practicing guitar, playing tennis, latin dancing, or traveling.
This responsive website has been designed, developed, and maintained by William Chang. It is purpose-built to be a single webpage using one file with minimal dependencies, hand-coded in pure vanilla HTML/CSS/JavaScript, and optimized for fast page load.