Twenty two years of experience dealing with Inter/Intranet technologies (Microsoft, PHP and Java based). Twenty two years of experience with relational database management systems. Twenty two years of experience with client-server applications (Microsoft, PHP and Java based). Nineteen years of experience designing and implementing service oriented architectures utilizing XML-based web services and REST APIs. Four years of experience on the iPhone/iPad platform. Twelve years experience building SPA/SPI Javascript applications.
TECHNICAL EXPERIENCE
Languages: PHP, C#, Javascript and JSON, HTML, CSS (including Less and Sass), SQL/T-SQL, Java, Objective-C
Technologies: .NET (including ASP.NET, ASP.NET MVC, ASP.NET Core, Windows Forms, Windows Services, Web Services/Web API), SPA/SPI, Node.js, Redis/AWS Elasticache, AWS OpenSearch, NoSQL (primarily MongoDB), Responsive Design, LinkedIn Dust.js, Web Sockets/SignalR, React.js, ffmpeg automation, XML
Operating Systems: MS Windows (all desktop versions through Windows 10 and server versions through 2016), OS X (all versions through present), Linux (Ubuntu and CentOS), Unix
Database Management Systems: MS SQL Server (all versions up through 2019), MySql, MongoDB
Application Packages: WordPress, Epicor, CodeIgniter, Ektron CMS, DotNetNuke, Magento, Drupal (including CCK, Ubercart and various other modules)
Web/Application Servers: IIS, Apache, Nginx
PROFESSIONAL AND BUSINESS EXPERIENCE HIGHLIGHTS
Freelance Developer – December 2010 to present Senior Developer/Architect
Specialized in everything from simple CMS backed content sites to full featured B2B/B2C e-Commerce applications. For a full portfolio of freelance work, please visit my portfolio page.
Budnick Converting, Inc – April 2003 to Present Application Architect/Senior Developer
Budnick.com: Architected and developed a B2B eCommerce site using ASP.NET. Integrated with existing back end inventory and order processing system. As one of only two technical resources on the project, was responsible for all facets of development, from gathering business requirements to setting up and maintaining Windows servers.
In later phases, worked with manufacturing team to create utilities integrated with back end ERP system to create various tools used to streamline the production and manufacturing pipeline.
Technical Environment: ASP.NET (through ASP.NET Core MVC) hosted at AWS, jQuery, IIS, Sql Server (2000 and 2016), Windows Server (2000, 2003 and 2016), WebSockets/SignalR, React.js, Epicor (as a back end), .NET Enterprise Framework (retired from project), DotNetNuke (retired from project).
Texas Podiatric Medical Association – April 2015 to Present Application Architect/Senior Developer
txpma.org: Created a new WordPress-backed web presence including large amounts of custom functionality supporting PAC donations, membership payments (including automated monthly payment processing) and event registrations.
Technical Environment: WordPress, custom PHP, jQuery, Dust.js, MySql, hosted Linux
Gluespec – August 2014 to Present Application Architect/Senior Developer
Gluespec.com:Took over development of Gluespec.com (an ASP.NET MVC-based B2B website, focused on large amounts of highly technical specifications on adhesives). Converted existing site to responsive design, enhanced all aspects of both front- and back-end workflows. Worked within a constrained budget and an existing un-optimized architecture to meet client needs while choosing from various acceptable compromises.
Technical Environment: ASP.NET MVC, jQuery, AWS Elasticache/Redis, AWS OpenSearch, knockout.js, .NET Enterprise Framework, IIS, Sql Server 2016, Windows Server 2012 R2.
Red Letter Communications – January 2013 to February 2016 Application Architect/Senior Developer
Created a tool to automatically create customized 30 second video commercials for broadcast television from a single source video, overlaying regional dealer information as images and audio. Involved heavy use of ffmpeg scripting to create videos of appropriate bitrates and resolutions for different station requirements per region. Overlays and custom audio were created/injected with SoX and built-in PHP image manipulation functionality.
Art & Logic – December 2010 to April 2012 Senior Developer
Worked remotely as a Senior Developer/Team Lead. Responsible for .NET, PHP and iPhone/iPad development. Additionally provided estimates for many varied projects for the sales staff.
Zeitgeist & Coffee: Built the next generation of a web application to allow companies to easily manage their social media presence. Included API integration to Facebook, Twitter, WordPress, YouTube, Flickr, LinkedIn and Foursquare. Included workflow capabilities, allowing multiple users to review, comment on and approve messages to be posted automatically to the various social media services on a scheduled basis. Made heavy use of jQuery/ajax technologies. **Not released**
Technical Environment: .NET (C#) 3.5 – ASP.NET MVC, jQuery, CKEditor, SQL Server 2008, IIS
PCS Vocabulary Apps: Built a suite of games utilizing Mayer-Johnson’s PCS library for children with special needs. These games included a simple flash card game, a memory match game, a (single player) bingo-type game and a letter scramble game. These apps include in-app purchases for additional symbol sets through Urban Airship.
Technical Environment: iOS 3.1.3 and up, iPhone/iPod and iPad native (as universal apps)
Anheuser-Busch/SeaWorld – May 2002 to January 2011 Application Architect
Converted to full-time employee from a contract position in June of 2006, accepting the role of Application Architect for all the Guest Arrival systems (ticket sales through the turnstiles) for the Anheuser-Busch Theme Parks (SeaWorld, Busch Gardens, etc).
Global Reservations: Lead a team of 6 developers in a project to combine and enhance two existing reservations systems into one fully integrated solution. Worked extensively with the business units to gather requirements and build out the overall architecture for the project. Responsible for overall system design (both infrastructure and database design) and implementation.
Technical Environment: .NET (C#) – ASP.NET, Windows Forms, WCF, Windows Server 2003, SQL Server 2005, IIS
Turnstile Replacement: Designed the overall architecture for the turnstile replacement project that involved integrating a third party hardware and software solution with Anheuser-Busch’s existing ticketing infrastructure. Additionally added biometric (single finger) verification to season pass products and integrated this new functionality with the third party hardware. Worked with a small team of developers, a large QA team and the vendor to create what the vendor described as “the most advanced integrated solution any customer had ever created.” Also participated in several week-long installations of the new system. After deploy of the new turnstiles, participated in resolving unexpected performance issues with the third-party system. Worked with the vendor to diagnose the parts of the system that were bottlenecks. Proposed solutions to the vendor and validated their inclusion in software updates from the vendor.
Technical Environment: .NET (C#) – Windows Services, Windows Server 2003, MQ Series, Linux (integrated into the third party hardware), SQL Server 2000
Domain Reusable Components: Created several components intended to be re-used throughout the company. These included a logging tool (loosely based on Log4N), a set of common database tools, a security framework and administration tool and a simple, reliable front end to MQ Series message queues.The security framework and MQ Series front ends were implemented as web services, and the security framework included a caching service agent to further simplify integration.
Technical Environment: .NET (C#) – ASP.NET, Web Services, reusable Libraries, Windows 2000, SQL Server 2000, IIS, MQ Series
Marketplace Register: Lead architect and developer for the next-generation register for all of Anheuser-Busch’s theme parks. The register provided different modes of operation including Point-of-Sale, Call Center and Kiosk. Integrated with various back end systems by creating a loosely coupled Service Oriented Architecture using .NET web service front ends to each involved system (regular tickets, season passes, reservations, etc) and the reliable messaging infrastructure mentioned above. Managed a team of both onshore and offshore developers.The kiosk mode allows guests to purchase tickets and redeem internet vouchers. Created several custom controls to provide a “friendly” look and feel for buttons, labels, etc. Hardware included touch-screen monitors, barcode scanners, credit card readers and receipt and ticket (Boca) printers for guest interaction.
Technical Environment: .NET (C#) – Windows Forms and Web Services, Windows 2000, SQL Server 2000, IIS, MQ Series
Biometric Turnstile: Designed and implemented integration of the current turnstiles with a new biometric hand scanner for guest validation. This involved creating a custom sockets-based interface from the current turnstile into a new program that communicated with the biometric unit. The new program was written in .NET utilizing external Platform Invoke to talk to the unit’s API. Coordinated a team of three developers to ensure the project’s on-time delivery.
Technical Environment: .NET (C#) – Windows Services, Windows 2000
Employee Reporting Website: Created several new reports from a Kronos database to display information about minors’ work schedules to enforce compliance with various labor laws.Designed and implemented a de-normalized database structure to facilitate for quicker reporting and less strain on the OLTP tables in Kronos.
Technical Environment: ASP 3, IIS, SQL Server 2000, Windows 2000.
Personal iPhone Development
Created two applications for sale in the iPhone app store. The first application (Voyeur and Voyeur Free – currently unavailable in the app store) shows a slideshow of recently published pictures to Flickr. The second is an online version of Tic-Tac-Toe (removed due to poor sales), allowing players to connect with other users regardless of connection type (Edge, 3G or WiFi).
Technical Environment: iPhone OS 2.0 and up, Mac OS X 10.5 and 10.6 for development, XCode, Interface Builder.
Vertecon, Inc. – April 2000 to May 2002 Senior Application Developer
Worked on several projects for various different clients. Work was performed both in-house and on-site.
Dayton Motors: Managed and assisted a group of three developers in designing a WebSphere Commerce Suite internet store. Heavily customized Commerce Suite’s interface and database to meet with customer’s requirements. Managed both project scope and customer expectations.
Technical Environment: Oracle, WebSphere, WebSphere Commerce Suite, VisualAge for Java
www.barry-wehmiller.com: Created a system to facilitate the buying and selling of new and used packaging equipment. Equipment listings were searched using MS SQL Server’s Full-Text Indexing. In subsequent stages of the site, developed a customizable storefront for Barry-Wehmiller’s partners to use to host storefronts for their spare parts services.
Technical Environment: SQL Server 7, MTS, IIS, Windows NT, Visual Basic, ASP
xtralease.com: Designed and created site-search functionality for the site, since none was available natively in the site’s Informix database. In the second phase of the site, architected a generic reporting tool. Using this tool, new reports could be created with very little coding. Reports were customizable – allowing users to select which accounts to include, time frame for the report and which of the pre-defined columns to include in each instance of the report. A snapshot of the data was saved. This allowed customer service representatives to view the same data as the user to assist with any questions. Also allowed for downloading the report data from the site for use in spreadsheets, etc.
Technical Environment: SOAP, XML, Visual Basic, Windows 2000, COM+, IIS, Informix, PowerBuilder, ASP
Express Scripts: Created a custom J2EE framework (based on the Command design pattern) utilizing EJB calls across a firewall to get to a set of back-end CORBA services. The results of these calls were then serialized to XML via Java reflection. The XML was then forwarded to various Vignette pages for display.Utilized Jess, an expert system shell, to evaluate patients against several alternate funding sources (charitable organizations helping low income patients pay for pharmaceuticals). Patients would answer several questions about their financial situations and their answers would be considered against qualification rules for each of the funding sources in real time. Programming of Jess utilized the LISP language.
Southwestern Bell Telephone – December 1998 to April 2000 Analyst
Implementation of an automated mailing system: Designed and built a system to handle mailing of notices (approximately 5000 a day) to customers. The system retrieved data for which letters to send from a DB2 database on an AS400 mainframe. The client program was a Visual Basic application. Utilized MS Office automation to create and print the letters.
Technical Environment: Visual Basic, Access, DB2, Windows NT
EDUCATION AND CERTIFICATIONS
BS in Computer Science from Southeast Missouri State University, 1999
Resume
Mark Moseley
Senior Application Architect/Developer
Arnold, MO 63010
E-Mail: mark@themoseleys.com
RANGE OF EXPERIENCE
Twenty two years of experience dealing with Inter/Intranet technologies (Microsoft, PHP and Java based). Twenty two years of experience with relational database management systems. Twenty two years of experience with client-server applications (Microsoft, PHP and Java based). Nineteen years of experience designing and implementing service oriented architectures utilizing XML-based web services and REST APIs. Four years of experience on the iPhone/iPad platform. Twelve years experience building SPA/SPI Javascript applications.
TECHNICAL EXPERIENCE
Languages: PHP, C#, Javascript and JSON, HTML, CSS (including Less and Sass), SQL/T-SQL, Java, Objective-C
Technologies: .NET (including ASP.NET, ASP.NET MVC, ASP.NET Core, Windows Forms, Windows Services, Web Services/Web API), SPA/SPI, Node.js, Redis/AWS Elasticache, AWS OpenSearch, NoSQL (primarily MongoDB), Responsive Design, LinkedIn Dust.js, Web Sockets/SignalR, React.js, ffmpeg automation, XML
Operating Systems: MS Windows (all desktop versions through Windows 10 and server versions through 2016), OS X (all versions through present), Linux (Ubuntu and CentOS), Unix
Database Management Systems: MS SQL Server (all versions up through 2019), MySql, MongoDB
Application Packages: WordPress, Epicor, CodeIgniter, Ektron CMS, DotNetNuke, Magento, Drupal (including CCK, Ubercart and various other modules)
Web/Application Servers: IIS, Apache, Nginx
PROFESSIONAL AND BUSINESS EXPERIENCE HIGHLIGHTS
Freelance Developer – December 2010 to present
Senior Developer/Architect
Specialized in everything from simple CMS backed content sites to full featured B2B/B2C e-Commerce applications. For a full portfolio of freelance work, please visit my portfolio page.
Budnick Converting, Inc – April 2003 to Present
Application Architect/Senior Developer
Budnick.com: Architected and developed a B2B eCommerce site using ASP.NET. Integrated with existing back end inventory and order processing system. As one of only two technical resources on the project, was responsible for all facets of development, from gathering business requirements to setting up and maintaining Windows servers.
In later phases, worked with manufacturing team to create utilities integrated with back end ERP system to create various tools used to streamline the production and manufacturing pipeline.
Technical Environment: ASP.NET (through ASP.NET Core MVC) hosted at AWS, jQuery, IIS, Sql Server (2000 and 2016), Windows Server (2000, 2003 and 2016), WebSockets/SignalR, React.js, Epicor (as a back end), .NET Enterprise Framework (retired from project), DotNetNuke (retired from project).
Texas Podiatric Medical Association – April 2015 to Present
Application Architect/Senior Developer
txpma.org: Created a new WordPress-backed web presence including large amounts of custom functionality supporting PAC donations, membership payments (including automated monthly payment processing) and event registrations.
Technical Environment: WordPress, custom PHP, jQuery, Dust.js, MySql, hosted Linux
Gluespec – August 2014 to Present
Application Architect/Senior Developer
Gluespec.com: Took over development of Gluespec.com (an ASP.NET MVC-based B2B website, focused on large amounts of highly technical specifications on adhesives). Converted existing site to responsive design, enhanced all aspects of both front- and back-end workflows. Worked within a constrained budget and an existing un-optimized architecture to meet client needs while choosing from various acceptable compromises.
Technical Environment: ASP.NET MVC, jQuery, AWS Elasticache/Redis, AWS OpenSearch, knockout.js, .NET Enterprise Framework, IIS, Sql Server 2016, Windows Server 2012 R2.
Red Letter Communications – January 2013 to February 2016
Application Architect/Senior Developer
Created a tool to automatically create customized 30 second video commercials for broadcast television from a single source video, overlaying regional dealer information as images and audio. Involved heavy use of ffmpeg scripting to create videos of appropriate bitrates and resolutions for different station requirements per region. Overlays and custom audio were created/injected with SoX and built-in PHP image manipulation functionality.
Technical Environment: PHP, CodeIgniter, Ubuntu, shell scripting, ffmpeg, SoX
Art & Logic – December 2010 to April 2012
Senior Developer
Worked remotely as a Senior Developer/Team Lead. Responsible for .NET, PHP and iPhone/iPad development. Additionally provided estimates for many varied projects for the sales staff.
Zeitgeist & Coffee: Built the next generation of a web application to allow companies to easily manage their social media presence. Included API integration to Facebook, Twitter, WordPress, YouTube, Flickr, LinkedIn and Foursquare. Included workflow capabilities, allowing multiple users to review, comment on and approve messages to be posted automatically to the various social media services on a scheduled basis. Made heavy use of jQuery/ajax technologies. **Not released**
Technical Environment: .NET (C#) 3.5 – ASP.NET MVC, jQuery, CKEditor, SQL Server 2008, IIS
PCS Vocabulary Apps: Built a suite of games utilizing Mayer-Johnson’s PCS library for children with special needs. These games included a simple flash card game, a memory match game, a (single player) bingo-type game and a letter scramble game. These apps include in-app purchases for additional symbol sets through Urban Airship.
Flash Cards
Bingo
Word Scramble
Memory
Technical Environment: iOS 3.1.3 and up, iPhone/iPod and iPad native (as universal apps)
Anheuser-Busch/SeaWorld – May 2002 to January 2011
Application Architect
Converted to full-time employee from a contract position in June of 2006, accepting the role of Application Architect for all the Guest Arrival systems (ticket sales through the turnstiles) for the Anheuser-Busch Theme Parks (SeaWorld, Busch Gardens, etc).
Global Reservations: Lead a team of 6 developers in a project to combine and enhance two existing reservations systems into one fully integrated solution. Worked extensively with the business units to gather requirements and build out the overall architecture for the project. Responsible for overall system design (both infrastructure and database design) and implementation.
Technical Environment: .NET (C#) – ASP.NET, Windows Forms, WCF, Windows Server 2003, SQL Server 2005, IIS
Turnstile Replacement: Designed the overall architecture for the turnstile replacement project that involved integrating a third party hardware and software solution with Anheuser-Busch’s existing ticketing infrastructure. Additionally added biometric (single finger) verification to season pass products and integrated this new functionality with the third party hardware. Worked with a small team of developers, a large QA team and the vendor to create what the vendor described as “the most advanced integrated solution any customer had ever created.” Also participated in several week-long installations of the new system.
After deploy of the new turnstiles, participated in resolving unexpected performance issues with the third-party system. Worked with the vendor to diagnose the parts of the system that were bottlenecks. Proposed solutions to the vendor and validated their inclusion in software updates from the vendor.
Technical Environment: .NET (C#) – Windows Services, Windows Server 2003, MQ Series, Linux (integrated into the third party hardware), SQL Server 2000
Domain Reusable Components: Created several components intended to be re-used throughout the company. These included a logging tool (loosely based on Log4N), a set of common database tools, a security framework and administration tool and a simple, reliable front end to MQ Series message queues.The security framework and MQ Series front ends were implemented as web services, and the security framework included a caching service agent to further simplify integration.
Technical Environment: .NET (C#) – ASP.NET, Web Services, reusable Libraries, Windows 2000, SQL Server 2000, IIS, MQ Series
Marketplace Register: Lead architect and developer for the next-generation register for all of Anheuser-Busch’s theme parks. The register provided different modes of operation including Point-of-Sale, Call Center and Kiosk. Integrated with various back end systems by creating a loosely coupled Service Oriented Architecture using .NET web service front ends to each involved system (regular tickets, season passes, reservations, etc) and the reliable messaging infrastructure mentioned above. Managed a team of both onshore and offshore developers.The kiosk mode allows guests to purchase tickets and redeem internet vouchers. Created several custom controls to provide a “friendly” look and feel for buttons, labels, etc. Hardware included touch-screen monitors, barcode scanners, credit card readers and receipt and ticket (Boca) printers for guest interaction.
Technical Environment: .NET (C#) – Windows Forms and Web Services, Windows 2000, SQL Server 2000, IIS, MQ Series
Biometric Turnstile: Designed and implemented integration of the current turnstiles with a new biometric hand scanner for guest validation. This involved creating a custom sockets-based interface from the current turnstile into a new program that communicated with the biometric unit. The new program was written in .NET utilizing external Platform Invoke to talk to the unit’s API. Coordinated a team of three developers to ensure the project’s on-time delivery.
Technical Environment: .NET (C#) – Windows Services, Windows 2000
Employee Reporting Website: Created several new reports from a Kronos database to display information about minors’ work schedules to enforce compliance with various labor laws.Designed and implemented a de-normalized database structure to facilitate for quicker reporting and less strain on the OLTP tables in Kronos.
Technical Environment: ASP 3, IIS, SQL Server 2000, Windows 2000.
Personal iPhone Development
Created two applications for sale in the iPhone app store. The first application (Voyeur and Voyeur Free – currently unavailable in the app store) shows a slideshow of recently published pictures to Flickr. The second is an online version of Tic-Tac-Toe (removed due to poor sales), allowing players to connect with other users regardless of connection type (Edge, 3G or WiFi).
Technical Environment: iPhone OS 2.0 and up, Mac OS X 10.5 and 10.6 for development, XCode, Interface Builder.
Vertecon, Inc. – April 2000 to May 2002
Senior Application Developer
Worked on several projects for various different clients. Work was performed both in-house and on-site.
Dayton Motors: Managed and assisted a group of three developers in designing a WebSphere Commerce Suite internet store. Heavily customized Commerce Suite’s interface and database to meet with customer’s requirements. Managed both project scope and customer expectations.
Technical Environment: Oracle, WebSphere, WebSphere Commerce Suite, VisualAge for Java
www.barry-wehmiller.com: Created a system to facilitate the buying and selling of new and used packaging equipment. Equipment listings were searched using MS SQL Server’s Full-Text Indexing. In subsequent stages of the site, developed a customizable storefront for Barry-Wehmiller’s partners to use to host storefronts for their spare parts services.
Technical Environment: SQL Server 7, MTS, IIS, Windows NT, Visual Basic, ASP
xtralease.com: Designed and created site-search functionality for the site, since none was available natively in the site’s Informix database. In the second phase of the site, architected a generic reporting tool. Using this tool, new reports could be created with very little coding. Reports were customizable – allowing users to select which accounts to include, time frame for the report and which of the pre-defined columns to include in each instance of the report. A snapshot of the data was saved. This allowed customer service representatives to view the same data as the user to assist with any questions. Also allowed for downloading the report data from the site for use in spreadsheets, etc.
Technical Environment: SOAP, XML, Visual Basic, Windows 2000, COM+, IIS, Informix, PowerBuilder, ASP
Express Scripts: Created a custom J2EE framework (based on the Command design pattern) utilizing EJB calls across a firewall to get to a set of back-end CORBA services. The results of these calls were then serialized to XML via Java reflection. The XML was then forwarded to various Vignette pages for display.Utilized Jess, an expert system shell, to evaluate patients against several alternate funding sources (charitable organizations helping low income patients pay for pharmaceuticals). Patients would answer several questions about their financial situations and their answers would be considered against qualification rules for each of the funding sources in real time. Programming of Jess utilized the LISP language.
Technical Environment: Java, SilverStream, Oracle, CORBA, EJB, Servlets, XML, Vignette, Jess, NetBeans
Southwestern Bell Telephone – December 1998 to April 2000
Analyst
Implementation of an automated mailing system: Designed and built a system to handle mailing of notices (approximately 5000 a day) to customers. The system retrieved data for which letters to send from a DB2 database on an AS400 mainframe. The client program was a Visual Basic application. Utilized MS Office automation to create and print the letters.
Technical Environment: Visual Basic, Access, DB2, Windows NT
EDUCATION AND CERTIFICATIONS
BS in Computer Science from Southeast Missouri State University, 1999