March 2017 – present
· Designed and developed a web service and windows services for Publix’s digital receipt initiative. The web service handles incoming requests from roughly 15,000 point of sale machines across all of Publix’s retail stores, storing receipt information in a database for emailing and online display to their customers. The windows services provide fail over redundancy in case the web service is not available. The Digital Receipts project was my first project writing software that would have to deal with a high volume of requests (500,000 per week and growing. My take-away from the project is that the computer hardware (servers and load balancers) running the software matters. The software was written in C#, using .NET Web API. The database was SQL Server 2008
· Part of a team that designed and developed a windows service for use in handling proprietary payments at the Point of Sale. This service utilized both Signal R and Google Remote Procedure Calls (GRPC) for communication with the Point of Sale terminal, and a centralized web service. Work was done in C#.
April 2016 to March 2017
· Designed and developed the communications layer for a factory floor batch processing system. The communication layer runs as a separate windows service and functions as a state machine to control and monitor the processing of baked goods on a factory floor. This project was an upgrade of a batching system I helped develop for Computrol ten years ago. Work was done in C# and uses TCP/IP for communication with a desktop application, and Ethernet/IP, which is a standard developed for use in manufacturing environments, for communication with a PLC on the factory floor.
· Designed and developed a proof of concept voice controlled augmented reality projection mapping headset for use by workers in an industrial setting. This was a project initiated by me to allow workers to visualize factory floor data, hands free, from anywhere in the factory through a head mounted pico projector and audio headset. In preparation for this project, I spent considerable time sifting through research papers on the subject of AR to ensure our product would not infringe on existing patents. The software for the project is written in C#. I developed a web service that interfaces with Amazon Alexa for natural language processing, and worked on a separate version that uses the Microsoft Speech SDK.
September 2015 to March 2017
· Designed and developed a fully functioning internet search engine. Work was done in C# with SQL Server 2008 as the database. The application allowed visitors to submit websites for inclusion in search results. A separate job continuously monitored the database for new website submissions, recursively downloading and parsing each page in the website, all while building up a searchable database of keywords mapped to meaningful text and website links.
· Designed and developed a natural language grammar processing engine. The engine accepts text based sentences as input, and outputs a multiply linked list graph like data structure, with each node in the list mapped to a word in the sentence, and each node “word” linked to other node words in the list according to the grammatical rules of the English language. The result is a recursive, graph like data structure that allows a programmer to quickly and easily ascertain what the sentence is about (subject), what the subject node is referring to (predicate), and what attributes describe the subject and predicate (adjectives, adverbs, and prepositions) all by following the nodes in the linked list data structure. Work was done in C#. I spent considerable time pouring through English grammar textbooks in preparation for this project.
April 2006 to March 2017
· Worked as part of a team developing and maintaining numerous .NET web applications, web services, desktop apps, windows services, Oracle PL/SQL packages, and Unix Kornshell scripts all for use in boarding merchants onto Paymentech’s payment processing system. .NET work was primarily done in VB.NET.
· Paymentech has an enormous integration layout with possibly hundreds of in-house developed software sub systems feeding into one another, and into external third party systems, in order to successfully set up a merchant for credit card processing. On the job learning of new systems, and the ability to work and communicate as part of a team, were essential in order to function as a developer in this environment. Of equal importance was developing a conceptual understanding of how payment processing worked, and how the software system you happened to be working on fit into the “big picture”.
· The development teams initially used waterfall software development methodologies, and were early adopters of Agile software development, so I gained experience with both styles while at Paymentech