
Ruffin Bailey
Verified Expert in Engineering
Software Developer
Ruffin's recent professional experience includes full-stack .NET MVC and Web API work (incl. Core)—designing SQL Server schemas, C# middleware using NHibernate, LINQ to EF or ADO, and JavaScript clients in Angular, React (JSX & Babel), Vue.js, Knockout.js, Moment.js, and custom pure JS UI libraries. He is one of two StackOverflow users with the JSLint badge, has served as a team lead, and is published in the field of digital media and culture.
Portfolio
Experience
Availability
Preferred Environment
SourceTree, Vim Text Editor, Visual Studio Code (VS Code), Sublime Text
The most amazing...
...apps I've written include MarkUpDown, the best pro Markdown editor for Windows 10, and a 6507 cross-assembler suite to make Atari 2600 games on classic macOS.
Work Experience
President | Contractor | Indie App Developer
Rufwork.com, LLC
- Worked for Rufwork.com, LLC, the umbrella corporation for my independent application development and software contracts.
- Served as project lead on an 18-month application rewrite for a system bringing in $30 million/year in revenue. The new architecture moved to an Azure cloud-hosted, with a multi-tenant MongoDB datastore and .NET Core MVC (REST API) microservice-based application stack, utilizing an Angular 6 and TypeScript-powered client from a legacy stack of 1500 single-tenant SQL Server instances hosted in a single datacenter with a Silverlight (and CSLA) powered client. Mr. Bailey worked closely with product management to define strategy, make tech stack decisions, create the backlog (from the feature and milestone macro to Scrum story micro), and to set development priorities for four teams of developers. Mr. Bailey was a key hands-on contributor as well, coding about 50% of each working day to demonstrate best practices, review new code, and to complete complex tasks.
- Soley developed a direct-sales commercial 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. MarkUpDown's marketing website can be found here and the app is available for purchase from the Windows Store.
- Contracted and consulted on several projects for Rufwork.com; including the creation of a .NET MVC system to handle asset management for customer-facing (snail) mail services for major Fortune 500 companies at one of the US's largest mail distribution companies.
- Worked with a small healthcare practice management SaaS focused primarily on creating a site-wide, customized, HIPAA-compliant chat service for providing site support and provider-patient communication. Leveraged XMPP and Strophe providers that were wrapped with a custom .NET Web API framework. The client code was created with React, JSX, Babel, and a home-grown routing system.
- 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 (Xamarin on iOS experience).
- Eagerly performed follow-on work at the Navy Enterprise Data Center (NEDC) from the previous position (see below) to keep the NEDC's PowerShell and PowerCLI lights on after ESN's onsite contract expired.
- Made open-source contributions during this time including TagifyJS (a single-file, zero dependencies, plain JavaScript tag UI library that's easy to use) and SqlDbSharp (an open-source, C#-native relational database management system) written in his spare time. The work is managed in Git via Bitbucket and GitHub, and TFS is used for some contracting positions.
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 which was an online schedule maker, manager, and communicator. The PeopleMatter stack included fairly strict Microsoft MVC 4.0 with Microsoft SQL Server 2008 R2 on the server, and an exceptionally data-rich Knockout.js-powered client.
- Developed, in a team, PeopleMatter's schedule component which made employee schedules for those mainly in the hourly service/restaurant positions, integrated the employee background check service with products from Sterling Infosystems, and created a JSLint-powered Team Foundation Server (TFS) build policy to ensure that all JavaScript code deposited into the PeopleMatter repository is (reasonably) well-formatted.
- Acted as the sole coder for two features, the save-for-later status and the reasons-for-applicant status changes; was featured on the PeopleMatter Spring 2014 product release page.
- Revitalized the new flagship SaaS app called Schedule—which had been near release but didn’t test well on Internet Explorer 6 for a major client—by initiating two sprints with a designer and implemented a custom defensive fix that could be completely turned off by changing one boolean in the client-side code. This client-only, minimal risk fix enabled Schedule's release to logo clients just a few weeks before decisions were made on another—and, with the release, successful—funding round for the company.
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.
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.
Skills
Languages
JavaScript, SQL, C#, CSS, Java, Visual Basic, VB.NET, XML, PHP, Perl, Visual Basic .NET (VB.NET), Visual Basic 6 (VB6), VBScript
Frameworks
ASP.NET MVC 5, Windows PowerShell, Bootstrap 3, Knockout (Knockout.js), Ext JS, Angular, ASP, Jakarta Server Pages (JSP), Windows Communication Framework (WCF), Bootstrap, ASP.NET MVC, ASP.NET Web API, ASP.NET Core, Windows Presentation Foundation (WPF), ASP.NET, ASP.NET MVC 4, ADO.NET, NHibernate
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
Paradigms
Scrum, REST, Agile
Storage
SQL Server DBA, MySQL, Azure Cosmos DB, Microsoft SQL Server, Sybase, Oracle9i, SQLite
Other
Front-end Development, EF6 Code First, Ajax, Scrum Master, ArcIMS, ArcSDE, SNMP, XMPP, Xamarin Studio, WCF Web Services, ODP.NET, COM, Xamarin.Forms, UTF-8
Libraries/APIs
React, jQuery, LINQ, XMLHttpRequest, Web API, jQuery UI, Vue, OpenLayers, JDBC, TagifyJS, Moment.js, Node.js
Platforms
Universal Windows Platform (UWP), MapServer, LAMP, Oracle, Xamarin, Visual Studio Code (VS Code)
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