Ruffin Bailey
Verified Expert in Engineering
Software Developer
Charleston, SC, United States
Toptal member since March 26, 2018
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
Experience
Availability
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
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.
Project Lead
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.
President | Contractor | Indie App Developer
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.
Senior Programmer
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.
Senior Software Developer | Team Lead
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.
GIS Programmer
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.
ASP.NET Developer (SystemTec Contractor)
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.
President
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.
Lead Programmer
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.
Custom Solutions Developer
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.
Database Administrator | Internet Mapping Specialist
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.
Experience
UTF-8 Code
https://stackoverflow.com/questions/1225052/best-way-to-shorten-utf8-string-based-on-byte-length#1225319The 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#grantmakingI 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
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
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.comAside 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.
Education
PhD Degree (Coursework Only) in Rhetoric of Digital Media
North Carolina State University - Raleigh, NC, USA
Master of Arts Degree (Qualification Only) in Early American Literature
University of South Carolina - Columbia, SC, USA
Bachelor of Arts Degree in English Literature
North Carolina State University - Raleigh, NC, USA
Certifications
Security+
CompTIA
Skills
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring