Expertise

Big Data is my passion.

That's why I built, for fun, the self-service reporting infrastructure for a company of nearly 10k employees. I've continued to manage the project and its contributors for 5 years because I believe the ROI is worth it. Big data is incredibly interesting, incredibly hard to work with, and incredibly easy to misrepresent. I love the challenge

Areas of Expertise

  • Foundations-level Build, full stack
  • Security
  • Testing Frameworks
  • Reporting
  • Massive Data Sets
  • End User Education
  • Demos
  • Technical writing

The most important thing isn't what languages or frameworks a developer knows, it's whether they pick the right tool for the task. For example

  • For data cleanup, parsing, and machine learning tasks, Python
  • For UI-heavy projects, like web pages, Node.js and React
  • For server-heavy projects or desktop apps, one of the three C's
  • For databases, SQL (and SSIS) for more structured data, and various kinds of NoSQL (like MongodB) for sparse or temporary data
Choosing a tool requires research.

Languages

  • C#
  • Typescript
  • Javascript
  • Python
  • React
  • C++/C
Databases and Frameworks

  • .NET Core
  • Node.js
  • Next.js
  • SQL/MySQL
  • MongoDb
Quality

Software must be secure.

It must be beautiful

It must make it easy for the user to do what they need and want to do, protect them from incidental mistakes, and guide them seamlessly to the correct outcome.

It. Must. Work.

After nearly a decade spent working as a software test engineer, I know how important quality is. Developers need to understand what quality means.

I do.

Skills and Experience

  • Design meetings
  • Pre-mortems
  • Root Cause Analysis
  • Usability
  • Beta tests and test user coordination
  • Accessibility standards
  • Screen readers
  • ADA/WCAG
  • Framework transitions
  • mobile add-ons
Management

One of the trickiest things about project management is defining scope. Scope creep comes from a lack of knowledge about what the customer really wants or needs, or from pressures within the team or management. I'm not new to finding the balance.

Good managers are guides lighting the way, finding resources an opportunities for their team members, serving as a sounding board for ideas, providing context for prioritization and initiatives, and enforcing the culture of the team. Good managers do not micro-manage. They learn their team members quirks and trust in their judgement.

When there is a disconnect between the user and the developer, users feel they have less stake in its future as well as its present. By communicating openly and often with users, developers draw them into the process, and create a product they feel invested in from day one.

Management Experience

  • Identify/prevent scope creep
  • Manage competing projects
  • Project coordination
  • Coordinate design, testing, release efforts
  • Server and resource management
  • Database management
  • Security and Access
  • Small team (4-12 members) from product inception to release
Building Relationships

  • Usability tests
  • Coordinating with prospective users
  • Software requirements
  • Users and IT support during software implementations remotely, on the floor, and in call centers
  • Technical documentation for users and system administrators
  • Product demos
  • Education for new users
  • data interpretation and analysis