Seasoned engineer with over 15 years of professional experience. I specialize in code efficiency/optimization and am known for my outside-the-box problem solving skills.
Work on bond and speciality insurance products. Responsible for both front-end and back-end development
Worked with enterprise architecture team. Responsible for core application development as well as R&D.
Initially worked on services team to design and implement customizations to our applications based on customer requirements. Also lead internal tool development team.
Lead developer of application development. Primarily focused on software used to track patient blood transfusions.
Windows-based application to allow crypto mining hobbyists to easy setup their PC and monitor all mining activities.
Written entirely in TypeScript using Electron. Self-taught both technologies just to create this application.
Used within company's flagship application to allow data feeds from a variety of different sources (e.g. XML, Pipe, X12).
Required writing two custom scripting languages. The first (SimpleC) was modeled after the Java 8 syntax and implemented using ANTLR. The second (LISP) was written by hand. Both generated custom expression trees that were dynamically compiled at runtime.
Enabled our software to interoperate with customer vendors that would have been inaccessible otherwise.
Ported from C++ to C#.
Higher performance and smaller memory footprint than its C++ equivalent
N-Key resursive primary keys. Allowed 'tables' to be created with any number of keys.
Used by several internal applications
Ported from C++ to C#.
Higher performance and more flexible than its C++ equivalent
Supported both 'advanced' rules written in C# and 'simple' rules written in a custom DSL called RML. Wrote a compiler for the latter.
Could dynamically consume RML-based rules at run-time without first compiling them, dramtically simplying testing and deployment.
Behavior driven testing is a bit of an oddity in software development. Ask any developer about the tests they write on a daily basis and you'll commonly hear about unit and integration tests. Bring up behavior testing however and you'll likely be met with a bemused stare followed by them walking away while muttering a soliloquy about how they're just integration tests or that it's someone else's job. "But we use integration testing to verify our behavior." is a common response, and to be fair it's not entirely wrong either. There absolutely is a significant amount of overlap between the two and it doesn't help that the strata of testing methodologies is littered with proverbial landmines that can (and probably have) lead to gun fights between warring factions… »