
Dan Cowles
- Senior SAP Project Manager
- Irvine, CA
- Member Since May 06, 2023
Dan Cowles
Professional Experience
May 2006 – present
Senior Manager, Software Development
Managing a department of software developers (both full time resources as well as on-site and off-site contract resources). Responsible for the global development, support, and infrastructure of all custom, non-SAP systems and system integrations. These systems range from Mobile iOS and Android apps, smart client applications, full fledged client/server applications and systems, web server applications, and SAP integrations. The technologies employed consist of C# .NET 2.0, 3.5, and 4.0, 4.5 SQL Server 2000, 2005, 2008, 2012, Microsoft Reporting Services, Microsoft IIS, Microsoft BizTalk, Microsoft CRM, Microsoft SharePoint, and SAP. Implement cloud based enterprise solutions utilizing Microsoft Azure and SQL Azure environments.
Act as the technical lead and architect for many of the complex solutions implemented by the department, ensuring that the overall technical visions are met, as well as the various business needs and requirements are fulfilled. Review and manage project requests, priorities, schedule and budget with end business system owners and technical staff. Review and manage annual department budget. Coordinate department tasks and needs with other IT departments (i.e. SAP Sales and Distribution, SAP Master Data, SAP Manufacturing and Distribution, Wintel). Conduct annual staff performance reviews. Also ensure that the development staff is receives adequate training and exposure to new and upcoming technologies. Implemented an Agile software development methodology, utilizing SCRUM, for all large and medium scale projects that are lead by my department.
Successfully led the re-launch of a major B2B ecommerce site, www.CallawayConnect.com, which allows retailers to submit product orders into the SAP ERP system, check order status, view invoices, and perform online payments. This project was implemented in less than one year (from conception to world-wide release) utilizing both internal and external resources. This system was launched for the U.S., Canada, Europe, Japan, and Australian markets (and was localized in the Japanese language, as well as honoring currency and date formats for the various regions). This system accounts for $35 million in revenue and $50 million in online payments.
Implemented from the ground up, a SOA architecture utilizing a combination of SOAP based services in ASP.NET C# web services, Microsoft WFC services, Microsoft BizTalk, and Microsoft Azure Cloud based services. A majority of the enterprise wide systems within Callaway now utilize these services. This infrastructure also integrates with a number of third party services, such as the Chase PaymentTech gateway and the SecurePay payment gateway.
Completely re-architected and implemented the primary ordering system for Callaway’s worldwide sales staff. The system is a Windows based client/server application implemented .Net 4.0 in C# utilizing WPF, WCF, Microsoft Sync, and Microsoft SQL Compact. This system accounts for $500 million in sales revenue.
Hands on development manager that deals with all aspects of software development. Perform software systems architecture, developer code reviews, system integration testing and QA, and implement and modify C# for Azure Cloud based SOAP services, SQL Azure Cloud based database implementations, ASP.NET ecommerce web sites, SOAP web services, and Winform/WPF applications. Hands on database architecture and implementation utilizing SQL Server 2005/2008/2012.
Jan 2005 – May 2006
Software Development Manager
Hands on software development manager. Oversaw the closure of a remote development office located in Nashville, TN. Built a development team from the ground up that was located at the corporate headquarters. Managed a team of software developers, tech support engineers, and infrastructure support to develop and support existing and new ACH financial processing software. One system was implemented as an ASP web application, where a data center is hosted by the company. This system processed electronic checks over the Internet.
Oversaw the successful move of the data center for this system from Nashville, TN to a new location in West Virginia. Projects included a new version of this system; it was implemented as a set of web services (in C#) with a web administration application implemented in ASP.NET and a Microsoft SQL Server back end. Lead in both the hardware and software architecture for this system. Other financial systems are based on a combination of various Microsoft based technologies: C#, ASP.NET, Microsoft Visual C++, Borland C++, and Visual Basic. I was involved with sales and support discussions with both company sales staff and outside customers. Put in place formal configuration and build management processes. I also discovered that the quality of the software products was very low, since Troy didn’t have in place any dedicated QA resources or processes in place. Hired QA resources to fill this needed role. Implemented normal software development and release procedures and practices within Troy.
April 2004 – Dec 2004
Principle Software Engineer
This was a small start-up company. Worked with a small group of senior level engineers to develop a client-server shoe fitting kiosk based on image scanners. This system was developed with Microsoft .NET technologies (C# and VB.NET) and Java. The front end resided on a hardware kiosk with an Internet Explorer web application interface, while the back end consisted of a set of web services implemented in Java with a backend database. Some of my responsibilities included database schema design and implementation for a client side and a back end server based on the PostgressSQL database. Designed SQL commands that was used by other developers for server access to the product’s client side and server side database via web services. Architected and implemented (in C#) a componentized client software update mechanism that was partially based on RTPatch technology. Implemented a back end server responsible for sending customers multipart html/plain text promotional information emails via SMTP using .NET sockets. Wrote build scripts (in Windows Scripting Host via JScript and XML (via Ant) for both client and server deliverables. Wrote various utilities in C++, C# and VB.NET to perform client, server, and in-house automated tasks (system reboot, automatic file cleanup and ftp transfer, automatically creating Windows scheduled tasks via the Win32 API). Designed and implemented a C# application that facilitated the registration of a hardware kiosk with a back end server. Maintained Wise installation scripts for both client and server applications. Maintained FireBox VPN/Firewall hardware, Microsoft Exchange Server, and several aspects of FormaLogix’s Windows 2003 Server based network infrastructure. Developed and deployed Perforce source control. This start-up could not generate sales and all development work was shut down in December 2004.
Sept 1999 – April 2004
Software Development Manager
Managed a group of up to 9 senior and mid level engineers and architects for an Internet based application. The application is developed primarily in C++ using COM, Visual Basic, and ASP on Windows 9x/Me and Windows NT/2000/XP platforms using Visual Studio .Net and Visual Studio 6.0. Have been responsible for the successful and on time delivery of six separate software releases in a one-year time frame. Transitioned the client development team from a rapid application development, startup mode of developing software (where little or no product requirements or specifications was provided before or during development) to a more traditional software development lifecycle (where product requirements and specifications where provided before and during the software development release, but closer to a SCRUM development process).
Responsible for management of a development team for the client component of the Stamps.com service. This software consisted on a thick client web application, making http and https requests to a remote set of servers over the Internet. Also managed a team of engineers who architected, designed, and implemented an ASP web application to facilitate a web based customer acquisition and registration server. Management responsibilities have included the overview and architecture of new software development, task definition, scheduling and assignment of tasks to individual developers, review of and approval of marketing and program management requirements documentation, assignment of defects discovered by quality assurance or customer support to individual developers.
Designed and architected an interface for third party applications to integrate with the Stamps.com software solution. These designs have been submitted for a U.S. Patent. Also responsible for the complete architecture and development of the following subsystems/areas: client printing implementing a componentized, generic engine that is used for printing on various printers, data-warehousing applications using Windows NT services that compress and ftp Microsoft SQL Server data and application logs across several network hops, server testing tools built on top of both client API’s and WinInet (using both SSL and non-SSL HTTP transactions) which are scheduled to run on a periodic basis to test production servers and inform server administrators immediately of any problems that were detected.
Sept 1996 – Sept 1999
Project Engineer / Principle Engineer
Managed small projects for a Windows 2000 based document management server product. These projects consisted of one or two engineers (including myself). Duties included team leadership on requirements specification, task identification, task scheduling, usability testing, software component architecture and implementation. Technologies used included COM/DCOM implemented in C++, Microsoft MSI installer technology, Microsoft MMC development, and Microsoft Active Directory. Also led a prototype effort in which Bill Gates demonstrated the resultant software at a Microsoft Professional Developers conference. Also developed small in-house applications in Visual Basic.
Worked in the product marketing department as a product specialist to interface with customers to obtain customer feedback and requirements for the document management and workflow management product lines. Relayed product marketing strategies to the software engineering department. Provided high level product presentations to customers and trade publications at conferences.
Senior Software Engineer
Designed and implemented a multi-platform UNIX application which was used to automate the installation and configuration of the FileNET Image Servers. This application was designed so that it could be running on any one of three different flavors of the UNIX operating system. The design of this application called for the implementation of a proprietary scripting engine.
Sept 1996 – May 1997
Part-Time Faculty
Taught senior and graduate level courses on Java (version 1.02). Was responsible for the selection of textbooks for these classes as well as the entire lesson plan. Courses covered development of basic Java applets (graphics, UI components, exception handling, multithreading, I/O, and networking).
May 1993 – Sept 1996
Senior Software Developer
Worked with a team of engineers on a project that developed and maintained a multi-platform, UNIX, and Motif based software application. This software was written in C. Also set up a World-Wide-Web server and various HTML documents that allowed for the search and retrieval of data from a proprietary database server. Other assignments have included working on a team of software developers to develop real-time, embedded software systems, preparation of requirements documents, software detail design specifications, translation of design to code, unit testing of code, development of software qualification test procedures, and hardware/software interface testing. Also have developed software test tools in C on UNIX and VAX/VMS operating environments.
July 1990 - May 1993
Software Engineer
Worked with a team of software engineers to develop a real-time applications system. Created and modified software requirements specifications. Performed detail design of system modules which were based on software requirements specifications. Coded, unit tested, and integrated application modules implemented in C on a UNIX operating system platform targeted for a 68040 microprocessor.
June 1989 - July 1990
Systems Analyst, Intern
Obtained requirements, designed, and implemented relational database systems for Contract Administrators for the MD11 and MD80 aircraft programs. Was responsible for all documentation, presentation, and training of system users. These systems were implemented in the fourth generation language Nomad on a VM/CMS operating system platform.
June 1989 - January 1990
Programmer, Intern
Designed and coded file transfer protocols (Xmodem, Ymodem, Compuserve B+) and GUI for IBM PC telecommunications software. This software was implemented in Microsoft C on a MS-Dos operating system platform.
Technical Background
Computer Languages: .NET (C#, C++), Javascript, Ajax, C++, C, COM, ATL, MFC, Java, Jscript,
HTML, Visual Basic, Microsoft SQL Server, PostgreSQL, Windows
Scripting Host, XML
Software Applications: SAP R/3, Subversion, MS Project, Microsoft BizTalk, Microsoft CRM, Siebel,
Microsoft SharePoint, Perforce, MS Source Safe, CruiseControl .NET
Operating Systems: Windows NT/95/XP/2000/2003, Solaris UNIX, HP-UX UNIX, AIX UNIX
Technical Accomplishments
Co-author of 2 U.S. patent involving software mailing systems.
Education
Loyola Marymount University, Los Angeles, California May 1996
M.S. Computer Science
Thesis project was in data compression (specifically LZW).
University of California, Irvine June 1990
B.S. Information & Computer Science