SUMMARY
I have a proven record of designing, architecting and delivering software solutions. With seventeen years of software development experience in a variety of industries, I have honed the skills needed to deliver software solutions under the tight constraints of time and budget. Having excellent communication and problem solving skills, I’m able to interpret customer requirements and translate them into technical specifications and ultimately a deliverable product.
My experience has taught me that to build reliable, scalable and performant .NET solutions, teams would do well to leverage design patterns, tools and best practices for the .NET universe. Aside from having experience with C# and ASP.NET, I’ve worked with MVC, WCF, Web API, the Enterprise Library, Entity Framework, Microsoft’s implementation of the Dependency Injection pattern – Unity, leveraging Automapper to implement the repository pattern. On the database side of the application, I’m fluent in SQL, writing stored procedures, and working on SSIS packages. In the UI layer I’ve worked with Bootstrap, jQuery, AJAX and JSON to provide a responsive experience for the web app.
TECHNICAL SKILLS
IDE: Visual Studio 2015, Eclipse Juno
Databases: SQL Server 2014, Oracle 8
Platform: IIS 6, 7.5
Languages: C#, JavaScript, Java, VB.Net, VBScript, Visual Basic 6
Tools: ADO.NET, AJAX, ASP, ASP.NET, Attribute Routing, Automapper, Bootstrap, COM, Crystal Reports 8, Dapper, DataTable, Entity Framework 6.1.3, HL7, jQuery, JSON, LINQ, MSXML Mustache, MVC 5.2.3, .NET Framework 4.6.2, T4MVC, Unity, XSLT, Web API.
PROFESSIONAL EXPERIENCE
Jun 2017 – Current Cross & Park Solutions, Cincinnati, OH
Sr. Software Developer
Built a web application which provides reporting functionality on data generated by lab tests. The lab test data is imported into the SQL database using JSON post requests. The reports are served up via RDLCs. Wrote the SQL stored procedures which provide the data for the reports. Technologies used are C#, Unity DI, Entity Framework, Linq, bootstrap, Identity Framework, jQuery.
Feb 2006 – Jan 2017 Omnicare, Cincinnati, OH
Sr. Software Developer
Responsible for designing and developing solutions for the Omniview suite of applications. These include the Omniview, MyOmniview and OmniviewDr websites and several supporting web services, windows services and SQL jobs. The Omniview solution contains almost 50 projects containing web apps, WCF and Web API web services, and several supporting libraries. The web apps are written in C#, MVC, and utilize the repository pattern to persist and query data from the data layer. The repositories leverage Automapper to return domain objects to the data layer. The data layer makes use of EF models, POCOs, Dapper and ADO.NET to return and persist data to the database. The domain layer is vast and tackles a range of business logic, examples of which are highlighted below. The UI layer uses Bootstrap, jQuery, AJAX and JSON to provide a responsive experience for the web app. The web app uses Unity to implement the Dependency Injection pattern.
Performed the role of Scrum Master for a Scrum team. Our 2 week sprints helped us deliver functionality on an incremental basis allowing for course corrections based on shifting requirements.
Assisted junior developers with code design decisions given the system architecture.
Built the Refill Medications section of the Omniview website. The system called a web service to display a list of refills due and allowed the user to select which ones they wanted to refill.
Enhanced the reject resolution center which allowed facility staff to interact with pharmacy staff to determine the outcome of prescription attempts that had been initially rejected.
Built the Order Status feature of the Omniview website. This feature allowed users to view the status of orders for a given resident.
Built the Medication Administration Record (MAR) feature of the Omniview website which allowed users, typically nurses, to print out the MAR report for a given patient.
Designed and developed the HL7 census intake process for the census reporting section of the website.
Built the census reporting pages to provide users visibility on the resident population at each facility.
Built the census publishing service to feed census data into the dispensing systems.
Built the Resident Profile feature of the Omniview website which allowed users to view the given resident’s rx orders, and any relevant diagnostic information.
Built RESTful web services for consumption by Omniview, MyOmniview and OmniviewDr.
Built enhancements for the invoice intake process for the billing section of the website.
Built the Unbilled Charges section of the site which let users view all unbilled charges for a given facility.
Enhanced the administration section of the website which allows administrators to manage users, permissions, account and pharmacy structures, and various other configurations that impact the functionality of the website.
Built the Proof of Delivery feature which let users search for deliveries of rx orders by user to see if the orders had been received at the facility.
Enhanced the Credit Memo feature which allows customers to dispute charges on their invoice. The pharmacy biller is then notified to manage this dispute. If the dispute is accepted, a credit is issued which then needs to be reconciled between the dispensing system and Omniview.
Enhanced the Billing Summary feature which shows billing related data broken out into specific categories. This feature relies on nightly jobs which rollup invoice data into tables for reporting purposes.
Apr 2005 – Feb 2006 American Empire Surplus Lines Insurance Company, Cincinnati, OH
Sr. Software Developer
Responsible for designing the prototype and authoring specifications for an insurance policy management system.
Worked with other members of the development team to resolve issues regarding the business processes and data modeling.
Used prototypes to demonstrate to the customer how the solution will address their business needs.
Authored technical specifications to be used by developers on the offshore team.
Coordinated communications with the offshore team to ensure the technical specifications were being understood and code was being written accordingly.
Designed and developed controls to be used in the application.
Wrote code for key sections of the application to demonstrate how similar functionality in other areas of the application should be handled.
Technologies used: Visual Studio Team Foundation Server 2005, SQL Server 2005, VB.NET, ASP.NET, ADO.NET, Microsoft Enterprise Library.
Mar 2003 – Apr 2005 Conexio Inc., Cincinnati, Ohio
Customer Relationship Management Consultant
Performed business analysis and developed solutions in the form of ASP.NET pages written in C#, utilizing ADO.NET and XML to interact with the Microsoft CRM API and SQL Server 2000.
Met with clients to determine requirements and establish scope of the application.
Microsoft CRM is a .NET application that relies heavily on MS Exchange 2000, Active Directory, SQL Server 2000 and XML. By developing solutions for MS CRM, I gained valuable experience in installing and administering MS Exchange and Active Directory.
Performed extensive data management, including writing SQL stored procedures for migrating and scrubbing data.
May 2001 – Feb 2002 FACS Group, Cincinnati, Ohio
Software Developer
Designed and developed an online transaction processing order entry system for the FACS Group. The application was developed in Visual Basic utilizing technologies like COM, MSXML 4.0, XSLT, and “screen-scraping”.
Led the effort to construct design documents for several pieces of the application, including "Placing an Order" and "Registry".
Leading the design process included scheduling meetings for my team to establish requirements and delivery dates for those requirements. This process involved extensive interaction with the client.
As leader of the design team, I was responsible for writing design documents that the client would sign off on.
Worked closely with other developers to ensure that object models we developed would meet the requirements established in the design documents.
Wrote code for multiple sections of the Place Order process, including "Add to Shopping Bag", "Place Order Wizard", and "Payment".
July 2000 – April 2001 GovConnect Inc., Cincinnati, Ohio
Software Developer
Developed the Administration component for the DAT application. The DAT Administrator allowed users to configure the DAT application by changing numerous settings stored in the registry.
Developed COM objects that wrapped certain WIN API calls to facilitate editing of registry contents.
Developed the GUI interface for the DAT Administrator.
Developed web applications using ASP to illustrate how the DAT components can be used in building web applications for clients.
Assisted developers across multiple project teams in utilizing the DAT components in their applications.
Developed COM objects for use on web-servers to process “Dynamic Web Imports”. Dynamic Web Imports was a web-based utility that allowed users to import multiple records of data from a delimited, or fixed length, text file.
Once the file was uploaded, the records were processed based on the configuration specified by the user.
Developed and implemented test plans for the DAT application. The DAT application was a development tool, composed of various components, allowing developers to access data and execute predefined transactions.
Due to the complex nature of this tool, testing various scenarios in which the tool could be used was essential in delivering a product that developers could use effectively in their web applications.
Used DHTML and client-side JavaScript to create reference documentation for the DAT components.
Nov 1999 – July 2000 Charlson Broadcast Technologies, Cincinnati, Ohio
Programmer/Analyst
Developed the Administration component for the OH2 application using VB 6.0 and SQL Server 6.5
The OH2 application reads data from a ‘Tote’ line and stored it in a SQL Server database. It also formats the data and sends it to audio/visual equipment in the form of pages.
The Administration component allowed users to manage the data in the database.
Made extensive use of COM and Activex technology to make and use classes.
Worked on enhancing OH2 to format the data and create HTML pages, instead of sending the pages to the audio/visual equipment.
Wrote the Install Shield scripts used in the installation of all the components in the OH2 application.
Jan 1999 – Oct 1999 Hill-Top Research, Cincinnati, Ohio
Programmer/Analyst
Developed a recruiting system for the Consumer Division using Visual Basic 6.0 and Oracle 8
Met with recruiting managers on a weekly basis to discuss system requirements and provide progress updates.
Played a vital role in designing the table structure for the database.
Used Oracle Objects to provide connectivity to the Oracle database.
Wrote the Visual Basic module that generates dynamic SQL for the ‘Call List’ – a crucial component of the recruiting system.
Wrote a data conversion program to convert data from the old recruiting system.
Installed the application and trained users at several branches.
Sep 1997 – Jan 1999 Trinity Industries, Cincinnati, Ohio
Programmer/Analyst
Implemented a job tracking system using Visual Basic 4.0.
Ran queries against Image data files.
The queries returned estimated and actual hours spent on each ‘Activity’ for each open ‘Job’.
The application then put these figures on Excel Worksheet objects and filed them on a server.
These spreadsheets were used by estimators to determine if their ‘Jobs’ were on schedule.
Performed system administration and support tasks on a HP 3000 running MPE/IX 5.5.
EDUCATION
Bachelor of Business Administration in Information Systems, May ‘95
Xavier University, Cincinnati, Ohio
CERTIFICATIONS
MCAD (Microsoft .NET)
Developing and Implementing Web Applications with Microsoft Visual C#.NET and Microsoft Visual Studio.NET
Developing XML Web Services and Server Components with Microsoft Visual C# .NET and the Microsoft .NET Framework
Developing and Implementing Windows-based Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET
MCSD (Microsoft Visual Studio 6.0), MCP
Designing and Implementing Databases with Microsoft SQL Server 7
Analyzing Requirements and Defining Solutions Architecture
Designing and Implementing Desktop Applications with Microsoft Visual Basic 6
Designing and Implementing Distributed Applications with Microsoft Visual Basic 6