Ruffin Bailey, Developer in Charleston, SC, United States
Ruffin is available for hire
Hire Ruffin

Ruffin Bailey

Verified Expert  in Engineering

Bio

Ruffin is one of two Stack Overflow users with the JSLint badge, has served as a project lead for a $30 million/year revenue product, and has several publications in digital media and cultural studies. His recent professional experience includes migrating a large legacy app from .NET MVC—and older—to React via Vite, moving the back end to ASP.NET Core Web APIs with token-based auth and an SQL Server back end. He also works with .NET MAUI to create cross-platform mobile and desktop applications.

Portfolio

Hawkes Learning Systems
React, Vite, Vitest, C#, Microsoft SQL Server, TypeScript...
Blackbaud Grantmaking
C#, TypeScript, Angular 6, JSON, MongoDB, Microsoft SQL Server, Azure, CSLA...
Rufwork.com, LLC
Git, ASP.NET Core, ASP.NET Web API, ASP.NET MVC, Xamarin, MySQL, Node.js, XMPP...

Experience

Availability

Part-time

Preferred Environment

SourceTree, Vim Text Editor, Visual Studio Code (VS Code), Sublime Text, Visual Studio, SQL Server Management Studio (SSMS)

The most amazing...

...apps I've created are MarkUpDown—the best pro Markdown editor for Windows 10—and a 6507 cross-assembler suite for making Atari 2600 games on classic macOS.

Work Experience

Full-stack Developer

2020 - 2024
Hawkes Learning Systems
  • Architected and successfully moved the company's test builder code from ASP.NET MVC to the ASP.NET Core Web API with token-based authentication.
  • Researched, documented, and introduced the development team to a Vite-powered client stack built on React. Previously, the most modern client stack used was AngularJS.
  • Created a transpilation-free Preact-powered client stack to allow minimally invasive but modern client development within dated jQuery-powered Classic ASP pages and AngularJS code.
  • Invited to participate—and eagerly participated—in a 360-degree review of the development process and management with the new company owner and consultant.
Technologies: React, Vite, Vitest, C#, Microsoft SQL Server, TypeScript, Active Server Pages (ASP), ASPX, VBScript, HTML, CSS, Preact, Front-end Development, ASP.NET MVC, Scrum, JSX, jQuery, Bootstrap 3+, Knockout (Knockout.js), Microsoft Visual Studio, Visual Studio Code (VS Code), Full-stack, .NET, .NET Core, Entity Framework, Entity Framework Core, Azure, SCSS, Selenium, IIS, ASP.NET, Web Server (IIS), Architecture, Databases, Web Development, VB.NET

Project Lead

2018 - 2020
Blackbaud Grantmaking
  • Served as project lead on an 18-month application rewrite for Blackbaud's grantmaking system, which brought in approximately $30 million a year in revenue.
  • Worked closely with product management to define the strategy, make tech stack decisions, create the backlog (from the epic, feature, and milestone macro to scrum story micro), and set development priorities for four teams of developers.
  • Remained a key hands-on contributor, coding about 50% of each working day to demonstrate best practices, review new code, and complete complex tasks.
  • Re-architected an undeployable rewrite quickly that had taken three years and millions to create by canceling back-end replacement, modernizing a CSLA back end with ASP.NET API microservices and an Angular front end, released within two years.
Technologies: C#, TypeScript, Angular 6, JSON, MongoDB, Microsoft SQL Server, Azure, CSLA, Bootstrap, Front-end Development, Agile, Scrum, Azure Cosmos DB, Full-stack, Front-end Architecture, .NET, IIS, Web Server (IIS), Architecture, Databases, Web Development

President | Contractor | Indie App Developer

2015 - 2018
Rufwork.com, LLC
  • Worked for Rufwork.com, LLC, the umbrella corporation for my independent application development and software contracts.
  • Contracted and consulted on several projects for Rufwork.com, including the creation of a .NET MVC asset management system for customer-facing (snail) mail creation for major Fortune 500 companies at one of the US's largest mail distribution companies.
  • Worked with a healthcare practice management SaaS focused on creating a site-wide HIPAA-compliant chat service. Leveraged XMPP and Strophe providers wrapped with a custom .NET Web API framework. The client code was written in React, JSX, and Babel.
  • Developed—solely—a direct-sales Windows Store application called MarkUpDown, the most thoughtful Markdown editor for professionals on Windows 10. It is a Universal Windows Platform (UWP) app written in C# with server support in Node.js.
  • Worked with the Hands of Christ nonprofit to fairly distribute clothes, school supplies, and other resources to grammar and middle-school-aged tri-county students. Gained Xamarin on iOS experience.
  • Performed follow-up work at the Navy Enterprise Data Center (NEDC) from the previous position to keep the NEDC's PowerShell and PowerCLI lights on after ESN's onsite contract expired.
Technologies: Git, ASP.NET Core, ASP.NET Web API, ASP.NET MVC, Xamarin, MySQL, Node.js, XMPP, Vue, Babel, JSX, React, Microsoft SQL Server, JSLint, JavaScript, C#, Front-end Development, CSS, Universal Windows Platform (UWP), Full-stack, Healthcare IT, HIPAA Compliance, PostgreSQL, .NET, Express.js, Web Server (IIS), Architecture, Databases, Web Development, Desktop App Development, Visual Basic for Applications (VBA)

Senior Programmer

2014 - 2015
Engineering Services Network
  • Worked in an onsite contracting position at a navy enterprise data center requiring secret clearance; the work began with updating the legacy VMware Cops reporting PowerShell scripts delivered under another contract and help coordinate the optimization of VMware resources and EMC VNX storage.
  • Wrote scripts to manage complex data diff and update uses, the automation of VMware utilization metrics, in-stream review, and code repair which were all delivered to NEDC Engineering from other contracting sources, and update of all PowerCLI scripts to 5.5 compliance.
  • Acted as the sole onsite, full-time programmer at SPAWAR LANT NEDC.
Technologies: GitLab, Git, PowerCLI, Perl, Java, C#, Windows Presentation Foundation (WPF), VMware, SNMP, Windows PowerShell

Senior Software Developer | Team Lead

2012 - 2014
PeopleMatter
  • Led one of the five agile scrum teams working on PeopleMatter's schedule module, an online schedule maker, manager, and communicator. The stack was Microsoft MVC 4.0 with Microsoft SQL Server and an especially data-rich Knockout-powered client.
  • Developed, in a team, PeopleMatter's schedule component, which made employee schedules for those mainly in the hourly service/restaurant positions.
  • Created—when a major client demanded IE6 shortly before release—a major performance fix in two sprints, implementing an optional schedule paging feature that could be turned off by changing one boolean in client-side code, allowing release.
  • Integrated the employee background check service with products from Sterling Infosystems.
  • Created a JSLint-powered Team Foundation Server (TFS) build policy to ensure that all JavaScript code deposited into the PeopleMatter repository was reasonably well-formatted.
  • Acted as the sole coder for two features: the save-for-later status and the reasons-for-applicant status changes. I was featured on the PeopleMatter Spring 2014 product release page.
Technologies: TFS, Bootstrap, CSS, SQL, Visual Studio 2013, JSLint, Knockout (Knockout.js), jQuery UI, jQuery, Ajax, JavaScript, NHibernate, Microsoft SQL Server, ASP.NET MVC 4, C#, Front-end Development, Full-stack, .NET, Entity Framework, IIS, ASP.NET, Web Server (IIS), Databases, Web Development

GIS Programmer

2012 - 2012
SYNCADD Systems, Inc.
  • Worked as one of two programmers on a development 1 task of Army Mapper 3.0, the US army's enterprise geographic information system (GIS). Army Mapper is used by the Office of the Assistant Chief of Staff for Installation Management (OACSIM) as a tool to visualize the current state of the army's resource management across army installations (i.e. bases) worldwide.
  • Designed and created exceptionally advanced, user-facing geo/database query tools—allowing common access card (CAC) authenticated end-users to visually construct and save ad-hoc queries of what amounted to complex SQL joins. These joined data sources, cutting across any number of tables, could then be concurrently queried by data values and geospatial constraints. Other tasks included creating a range query tool (RQT) that allows Army support personnel to quickly find firing ranges by munition or weapon type or by querying a number of other range characteristics.
  • Developed Army Mapper 3.0 using MapFish, OpenLayers, and MapServer to interface with spatially aware and flat data in Oracle and ESRI ArcSDE; it also uses in PL/SQL, C#, JavaScript, and Ext JS.
Technologies: CSS, SQL, Windows Communication Foundation (WCF), Ajax, OpenLayers, MapServer, Oracle, jQuery, Ext JS, JavaScript, C#, Databases, Web Development

ASP.NET Developer (SystemTec Contractor)

2011 - 2011
The South Carolina Department of Health and Environmental Control | SC DHEC
  • Performed the alpha rewrite of the immunizations directory for the South Carolina Department of Health and Environmental Control (DHEC). The system allows pediatrician and other doctor offices in the state of South Carolina to manage registered children's scheduled immunizations, both those already administered and those due.
  • Learned the schema of the existing database in DB2, coding user interfaces with detailed data quality assurance requirements in .NET, jQuery, and jQuery UI, and connecting the UI and data tiers through a shared middle data tier, then also in development.
Technologies: CSS, JavaScript, Ajax, jQuery UI, Microsoft SQL Server, C#, ASP.NET, Web Server (IIS), Databases, Web Development

President

2002 - 2011
Rufwork Programming, Inc.
  • Incorporated this software development and consulting company in October 2002.
  • Worked as an independent software developer and consultant while attending graduate school.
  • Designed and maintained databases, and created web-based interfaces to those systems,.
  • Designed GIS and geospatial databases.
  • Developed a custom, standalone application.
  • Contributed mostly to web-based projects that utilized AMP stacks (Apache Web Server, MySQL RDBMS, and PHP extensions).
  • Developed on geospatial work includes ArcIMS, ArcGIS Server, MapServer, and Google Maps.
  • Created a number of standalone application designs that use Java, Visual Basic (VB6 and VB.NET), and Mono/Xamarin for iOS.
  • Designed and built an online business directory and coupon management system for SpiderSavings.com, including an administration module, coupon provider module, and forward-facing search and display functions. This site also included enabling users to manipulate images on the server, geocode their business addresses, and used AJAX for several functions, including a method allowing end users to send coupons to themselves via the site's SMS functions.
  • Developed a customized job application processing system (Java) for a cruise line employment service, Cruise Services USA. The application retrieves emails created by a web form (part of the client's existing workflow), parsed their contents, and placed them into Excel files using automation. As of 2010, the application is still in use and maintained by Rufwork Programming.
Technologies: CSS, LAMP, Xamarin, Ajax, JavaScript, MySQL, Microsoft SQL Server, ADO.NET, SQL, PHP, VB.NET, C#, Web Server (IIS), Databases, Web Development, Desktop App Development

Lead Programmer

2003 - 2004
Rok Technologies, Inc.
  • Prototyped a replacement system for a land records/tax parcel system for a county government in North Carolina that was previously written using UNISYS EAE.
  • Acted as the lead programmer for the new database schema design.
  • Managed the complete workflow through to the GUI design and integration with the county's GIS information.
  • Developed in VB.NET, using Windows.Forms for GUIs with some test work with Crystal Reports and HTML for reporting. Oracle 9i via ODP.NET was utilized for the creation of the data tier.
Technologies: XML, CSS, JavaScript, SQL, Oracle, Microsoft SQL Server, Esri, ArcSDE, Apache Tomcat, Jakarta Server Pages (JSP), JDBC, Java, Visual Basic, VB.NET, ASP.NET, Web Server (IIS), Databases, ArcGIS, Visual Basic for Applications (VBA)

Custom Solutions Developer

2003 - 2003
Blackbaud
  • Extended Blackbaud's suite of products through VBA.
  • Created customized Visual Basic 6 standalone applications that interfaced with Blackbaud products through COM or directly with the Blackbaud database in Sybase or Microsoft SQL Server.
  • Developed customized reports for Blackbaud products.
  • Built a web-based online student application system which interfaces with Blackbaud's admissions management application.
  • Created a drop-in replacement view (SQL) that seamlessly added audit-level historical tracking to Blackbaud's flagship non-profit donation tracker, something that product development claimed was impossible to do.
Technologies: ADO.NET, SQL, Microsoft SQL Server, Sybase, COM, Visual Basic, Web Server (IIS), Databases, Visual Basic for Applications (VBA)

Database Administrator | Internet Mapping Specialist

1998 - 2002
TPMC
  • Served as the NOAA Coastal Services Center's (CSC) lead internet mapping server programmer as well as one of two database administrators.
  • Led the programming on a template that most mapping systems utilized; including the Environmental Systems Research Institute, Inc. (ESRI) ArcIMS ActiveX connector (PDF), and provided functionality through dynamic HTML, cascading stylesheets, and JavaScript on the client side with active server pages and Visual Basic Script on the server side.
  • Designed and taught a one-day introduction to "The ArcIMS ActiveX Connector" for approximately ten employees at CSC.
  • Received three TPMC President's Awards for project contributions, and had one site featured on USAToday.com.
  • Led a small programming team in the creation of the first standalone application released by CSC, the Build-A-PIVOT application helps National Estuary Program (NEP) and National Estuarine Research Reserve (NERR) offices build websites interactively, without the need for an onsite HTML expert.
  • Released to a small group of NEP leaders in summer 2002, Build-A-PIVOT was made available to the public on CD in December 2002.
  • Initially served as a junior of two database administrators that were contracted for an NOAA office of over 100 employees.
  • Maintained all existing systems as well as the creating new, non-spatial database systems. This included, the NOAA Coastal Services Center (CSC) Management Information System (MIS). The MIS assists CSC in allowing its more than 15 million dollar budget and nearly 100 employees over scores of projects.
  • Supported CSC Information and Request Tracking System (IRTS), CSC solicits online customer information on a voluntary basis and the IRTS collects and reports this information for internal use.
  • Managed CSC Dynamic Product Pages (CSC home page): this system keeps track of CSC products and descriptions—allowing employees to update the system with new products before in-system managerial review allowed their display in a standardized format on the home page.
Technologies: Java, CSS, SQL, ADO.NET, Active Server Pages (ASP), Visual Basic 6 (VB6), ArcSDE, Microsoft SQL Server, JavaScript, ArcIMS, VBScript, ASP.NET, Web Server (IIS), Databases, Web Development, Desktop App Development, ArcGIS, Visual Basic for Applications (VBA)

UTF-8 Code

https://stackoverflow.com/questions/1225052/best-way-to-shorten-utf8-string-based-on-byte-length#1225319
A code presenting a solution to the StackOverflow question asking for instructions on how to cut a UTF-8 string to a specific byte length. Though seemingly a niche task, it required understanding raw byte work, text encodings, the importance of testing, LINQ and its limitations, and—most importantly—problem-solving with a commitment to performance and efficiency.

The solution can immediately jump within six bytes of the final cut location. Its explanation is also straightforward and clear-cut. The previous answer used LINQ's takeWhile, creating a new string with a substring and remeasuring each time—for each byte—in the string until the requested length was reached. That system was massively inefficient.

Blackblaud Grantmaking

http://ruffinbailey.com/pastWork/web/database.html#grantmaking
As a project lead on an 18-month rewrite of Blackbaud, Inc.'s grantmaking platform, an approximately $30 mil/year revenue product, I was tasked with updating a legacy CSLA.NET-based application whose client side was mired in a Silverlight-dependent presentation stack.

I proposed a new MVP focus to ensure clients would have a new system to use before Silverlight's end-of-life date.

MY ROLE:
• Keep and maintain the legacy system's mature and complex business logic, written in C# and SQL Server using the CSLA framework.
• Create new Azure cloud microservices in the Blackbaud ecosystem using .NET MVC and MongoDB to act as a secure proxy to the legacy system's API
and support Blackbaud single sign-on and support inter-service interoperability/upsells.
• Use an 80/20 rule mentality to port the existing Silverlight UI to Angular 6, leveraging the existing UI as a high-fidelity prototype rather than reconceiving the entire system.

After presenting this plan, I was shifted from team lead to project lead. I worked closely with product management to define strategy, make tech stack decisions, create the backlog (from the epic, feature, and milestone macro to scrum story micro), and set development priorities for four development teams.

PeopleMatter: Schedule

PeopleMatter was a SaaS solution for hiring, training, and scheduling applicants and employees who work in the services sector.

Work for PeopleMatter focused on two pieces:
1) Schedule, the module that creates schedules for employees and different stores, and maintains a running count of their hours worked and costs to staff.
2) Hire, where applicants to companies are tracked, interviews scheduled, and onboarding tasks (I-9 forms, workforce eligibility, training) can be managed.

Schedule work was done using .NET MVC with C#, SQL Server via NHibernate on the back-end and Knockout.js templating for the client. It initially was a seven-team project that leaned exceptionally forcefully on maximizing data on the client's browser and contained complex JavaScript view models bound to Knockout.js templates. The work centered largely on client validation—ensuring the proper translation of business rules from server to client code, speed optimization, memory management, AJAX interactions with server controller actions, and data serialization.

A link to a more in-depth description, with an explanation of my additional of paging to allow release on IE8 for a major badge client, can be found at the associated link.

Army Mapper

I worked on a development 1 task for Army Mapper 3.0, the US army's enterprise geographic information system (GIS). It is used for a number of functions, including reviewing the utilization of real property (buildings, roads, parking lots) and other infrastructures on U.S. army bases. Army Mapper is used by the Office of the Assistant Chief of Staff for Installation Management (OACSIM) as a tool to visualize the current state of the army's resource management across army installations (bases) worldwide.

Army Mapper 3.0 employed MapFish and MapServer to interface with spatially aware and flat data in Oracle and ESRI ArcSDE. The work was done in PL/SQL, C#, JavaScript, and Ext JS.

MarkUpDown | A Markdown Editor for Pros on Windows 10

http://MarkUpDown.com
MarkUpDown is the most thoughtful Markdown editor for professionals on Windows 10. MarkUpDown is a universal Windows platform (UWP) application written in C# with server support in Node.js. MarkUpDown's marketing website can be viewed via the associated link and is available for purchase from the Windows Store.

Aside from some icon design help, I was solely responsible for all the facets of MarkUpDown, going far beyond simply programming the UWP application and into website design and marketing.
2007 - 2010

PhD Degree (Coursework Only) in Rhetoric of Digital Media

North Carolina State University - Raleigh, NC, USA

2004 - 2006

Master of Arts Degree (Qualification Only) in Early American Literature

University of South Carolina - Columbia, SC, USA

1991 - 1999

Bachelor of Arts Degree in English Literature

North Carolina State University - Raleigh, NC, USA

OCTOBER 2014 - OCTOBER 2017

Security+

CompTIA

Libraries/APIs

React, Entity Framework, jQuery, LINQ, XMLHttpRequest, Web API, Preact, ArcGIS, jQuery UI, Vue, OpenLayers, JDBC, TagifyJS, Moment.js, Node.js, ASPX

Tools

JSX, JSLint, Git, LINQ to SQL, TFS, Vim Text Editor, Apache Tomcat, Esri, Visual Studio 2013, GitLab, Sublime Text, Babel, VMware, Microsoft Visual Studio, SourceTree, GIS, PowerCLI, Visual Studio

Languages

JavaScript, SQL, C#, Visual Basic for Applications (VBA), CSS, TypeScript, SCSS, Active Server Pages (ASP), Java, Visual Basic, VB.NET, XML, PHP, Perl, Visual Basic .NET (VB.NET), Visual Basic 6 (VB6), VBScript, HTML

Frameworks

ASP.NET MVC, ASP.NET Web API, ASP.NET Core, ASP.NET, ASP.NET MVC 4, ASP.NET Core MVC, .NET, .NET Core, Entity Framework Core, Windows PowerShell, Knockout (Knockout.js), Ext JS, Angular, Bootstrap 3+, Selenium, Jakarta Server Pages (JSP), Bootstrap, Windows Presentation Foundation (WPF), ADO.NET, NHibernate, Angular 6, CSLA, .NET MAUI, Express.js

Paradigms

Scrum, REST, Agile, Desktop App Development, HIPAA Compliance

Storage

Databases, Microsoft SQL Server, MySQL, Azure Cosmos DB, PostgreSQL, Sybase, Oracle9i, SQLite, SQL Server Management Studio (SSMS), JSON, MongoDB

Platforms

Universal Windows Platform (UWP), Azure, MapServer, LAMP, Oracle, Xamarin, Visual Studio Code (VS Code)

Other

Front-end Development, Full-stack, Front-end Architecture, IIS, Web Server (IIS), Web Development, EF6 Code First, Ajax, Scrum Master, Architecture, ArcIMS, ArcSDE, Windows Communication Foundation (WCF), SNMP, XMPP, Xamarin Studio, WCF Web Services, ODP.NET, COM, Xamarin.Forms, UTF-8, Vite, Vitest, Healthcare IT, SecOps, Security

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