Developer with 6+ years' success building correct and flexible solutions in various industries. Diverse experience spanning enterprise backend services, frontend web dev, dashboards, and embedded systems. Strong analytical and interpersonal skills. Statically typed functional programming enthusiast. Git fanatic. Avid consumer of emerging technologies.
I continue to work on the Haskell backend and am a team lead at SimSpace.
Working on the Haskell backend.
In June of 2016, I transitioned from the In-Store team to Catalina's ad platform team. The ad platform aims to fundamentally redefine how Catalina operates with realtime execution via geographically-distributed cloud computing and highly flexible offer rendering. Along the way, it is simplifying offer setup and opening the door for omni-channel opportunities (i.e. in-store, mobile, web, home delivery, etc).
I continued working on the In-Store system at Catalina and became the lead developer for the In-Store production support team. In this time, I significantly improved Awards' performance/debuggability, devised a branching model to better fit Awards development, held sessions for the team where I taught the fundamentals of git, wrote multiple utilities to enhance developer and tester productivity, established group code reviews, and was the main liaison for the team's offshore developers.
I began at Catalina as a programmer for the embedded In-Store system. Catalina has over 30 years' experience offering a personalized digital media network for retailers and the consumer packaged goods industry. The In-Store system, known as Awards, is a collection of over 100 C++ applications and Object REXX scripts that run unattended on Windows Embedded Server 2009 at roughly 47,000 stores around the world. Awards communicates with Catalina's backend, the store's POS terminals, and the store's printers to deliver unique offers to consumers right as they check out.
As a developer on the Awards team, I primarily worked on new features via scrum. Awards has minimal system requirements, so this position once again reinforced in me the idea that performance matters. A solution to an Awards problem must work just as well in a 2-lane US convenience store as an 100-lane store in Japan.
In June of 2015, I visited Microsoft's Redmond campus for a week-long hackathon to get Awards running on Windows 10 Embedded.
At CAE, I worked in C and C++ on the radar and underwater acoustics subsystems for flight simulators and weapon systems trainers. Areas worked include target detection, landmass processing, line of sight, UDP/TCP messaging, acoustics state management, and entity prioritization schemes. I learned a great deal about performance here, much like my time at Applied Research Associates. More importantly, this job often had me interfacing directly with the US Navy to hash out requirements and demonstrate recent changes. This was critical for the development of my soft skills. Communicating, receiving feedback, and knowing when to be assertive versus adaptable are just as important in software development as writing code. I also learned the ins and outs of the waterfall methodology here.
While working on my undergraduate degree in Computer Science, I tutored for graduate- and undergraduate-level courses, such as Graphics Programming under Dr. Sumanta N. Pattanaik, Operating Systems under Dr. Mark Llewellyn, and Web-based Information Technology also under Dr. Mark Llewellyn. Additional responsibilities included evaluating exams and assignments.
This was my first professional dev position and taught me why performance matters, how abstraction reduces cognitive load, and that supporting multiple platforms is challenging. I wrote C++ for ARA's SHADE product, the Shared Architecture for Dynamic Environment. The US Army uses SHADE to provide extensible dynamic environment modeling in training simulations.