Smug For Hire

About Me

I give a shit. Sometimes that makes me come off like a smug asshole and that’s unfortunate, because most of the time I’m just a curious, affable nerd who likes to help people make their software suck less. To be fair, it’s not their fault the software is awful, all software is awful, all we can do is try to make it better, one byte at a time.

Hobbies

  • Programming
  • Gaming
  • Teaching
  • Building box forts for my son

Projects

  • Database Toolkit (WIP)
    • Started as a tool for just doing command line SQL migrations with a curses-like UI, and then started morphing into an all-purpose sql toolkit for doing backups and stuff, which then spun off into a sql parser / linter / flow analyzer that I’m still working on.
  • Slack Ops
    • My little chatbot friend. Forked and rewriting this in Typescript.
  • YouTube Videos
    • My YouTube channel, maybe I’ll make more…

TOOLS & LANGUAGES

A big bag of keywords:

Git, TFS, SVN, C#, .Net Core, Visual Studio, JavaScript, Typescript, Powershell, IIS, MVC, EF Core, HTML, SCSS, Markdown Node, AWS Lambda Sqlite, SQL Server, Parallel Data Warehouse


Argument Starters

Favorite Editor
VSCode (Electron gets a lot of hate, and yeah, it’s slower than sublime but ahhhh the features.)

Favorite Language
Typescript, all around winner.

Favorite Variable Casing
snake_case

Tabs vs Spaces
Spaces, indent-size=2

Static vs Dynamic Languages
Gradually typed. Ha!

Vim vs Emacs
Emacs until my pinky hurts from smashing ctrl. That’s not to say that I don’t love the idea of composing keyboard shortcuts to make tiny text editing programs, I think I just haven’t invested the time to reach Vim nirvana you guys.

Key Switches
Cherry MX Blue


Professional Experience

Senior Application Developer, Exeter Finance

Irving, TX | Mar 2017 – Sept 2018

Senior developer on a small team developing AngularJS web applications leveraging WebApi 2 micro-services and Entity Framework 6.

Dealer Recovery UI

  • Implemented SQL full-text search functionality which provided a natural way to find related documents.
  • Developed custom vim-like hotkey library to facilitate faster page navigation.
  • Created mechanism for alerting a user in real-time when multiple concurrent edits were happening on a page which prevented conflicts.

Credit / Funding UI

Developed concurrent rule-based sql server queue which simplified and improved credit approval and underwriting workflows, and completely eliminated duplicate work via definite assignment.

Lead Engineer / Co-creator, SC Labs

Dallas, TX | 2016-17

Pitched and sucessfully started a small project incubator within the company with the goal of delivering innovative solutions to entrenched business problems. This team operated more or less independently from the larger IT organization, separate networks, no support, no IT ops, etc.

Responsibilities included:

  • Managing AWS cloud infrastructure (EC2 instances, dns names, certificates)
  • Delivering C-suite presentations
  • Performing UX research
  • Developing prototypes

Alexa Skill

Prototyped an Amazon Alexa skill which would allow our customers to perform balance inquiries, make payments, and ask simple questions about their loans via voice commands.

The skill handling code was written in NodeJS and hosted on AWS Lambda, and leveraged a fake OAuth2-enabled backend server which handled the authentication and account inquiries.

Facebook Chat Bot

Similar motivation here, to provide automated customer support via as many channels as possible. Started working on a Wit AI model and integrated facebook chat api for handling customer support inquiries. Extracted text transcripts from recorded customer phone calls, and used Python NLTK to develop clusters of commonly requested information.

Slack Bot Prototype

Developed a bot framework in NodeJS and Sqlite3 to integrate Slack with project time tracking, build server, custom deployment tools, and incident ticketing which allowed team members to streamline mundane tasks while notifying the team of their progress.

iOS Prototype + User Research

Working with a colleague, prototyped a customer-facing iOS app using Apache Cordova and Kendo UI which displays relevant loan statistics on performance and account remediation strategies using an animated D3 chart to provide amortization schedule aproimations. Produced UI mocks in Sketch. Performed UX interviews to determine customer viability using Google Ventures’ Sprint UX Method.

Lead Engineer, SC USA

Dallas, TX | 2016-2017

Responsible for leading an agile team through all the various ceremonies, planning, design, and implementation of our product. Worked closely with the product owner and business stakeholders to ensure that we were always delivering an excellent experience for our users.

Residual / Incentive Management

Leading a team of four other developers, developed a web application utilizing RequireJS, Knockout, and Asp.Net MVC. This application replaced an error-prone manual process involving email and spreadsheets, and improved time to market of critical financial decisions.

  • A purpose-built javascript grid with excel-like functionality
    • Server-side Pagination, Cell-level editing / validation, Copy / paste, Range drag copy
  • > 50% code coverage by JasmineJS test specs + Karma test runner
  • All architectural / most UX decisions

Intern Bootcamp

Over the course of three years, organized and mentored a group of 8-15 college students, providing coaching, programming lectures, and guided group projects to give them a more fulfilling internship experience.

Solutions Architect, SC USA

Dallas, TX | 2013-2015

This role afforded a lot of flexibility, as well as the ability to work on larger architectural issues, and provided exposure to other technologies.

Principal Code Reviewer

  • Responsible for performing code quality checks on samples of developer checkins looking for performance issues and code standard violations.
  • Developed the company code standards for Javascript.
  • Improved the process through powershell automation to scrape SVN logs, open diffs, and automate code review emails.

CI Admin

Handled the SVN, build and deployment infrastructure. Performed regular maintenance, merges, and version upgrades.

Loan Accounting System

Developed a loan accounting system for handling overages and refunds of misapplied checks.

Async Query Support

Over a weekend, developed an unobtrusive in-place upgrade to our data access framework to facilitate async database queries. This was before asynchrony had really become “a thing” in .net. There were larger issues in the data access code (rampant select n+1), but this single improvement cut the effective wall-clock time in half.

SQL Trainee Program

Worked with the Talent Development department to develop a curriculum for teaching basic SQL to a group of non-technical associates. Facilitated classroom instruction, developed skill evaluation tests, and provided individualized coaching.

These trainees had a 90% success rate when applying to other technical roles within the company following the class.

Software Developer I-IV, SC USA

Dallas, TX | 2005-2013

Held all roles from Junior to Senior developer, responsible for all stages of the software development lifecycle, design, code reviews, deployments etc.

Developer Conference / Hackathon

Key organizer and speaker. See the post: Here

Document Fax

  • WPF rewrite of legacy WinForms document faxing application.
  • Bitmap image redaction features.
  • Controls to audit each template usage to ensure compliance.
  • Static verification tests to ensure that XPath queries were verifiably correct across 100+ templates.

Collections Platform

  • An IP telephony-integrated WinForms application for managing customer demographics and processing loans.
  • Improved load times of customer applications by 10x
  • Solved critical memory leaks in production using WinDbg
  • Maintained telephony state-machine, with asynchronous control flow (before it was easy).

Miscellaneous

Tuned performance critical applications, UI design, optimized stored procedures, developed utilities to aid testing, developed core framework libraries.