Shawn Poulson 301 Autumn Court Middletown, DE 19709 (610) 662-4720 jobs@explodingcoder.com http://www.explodingcoder.com Objective To use my technical skills and software development experience to benefit a team of IT professionals. Keywords System Administration experience: Windows NT/2000/2003/XP, MOM 2005, IIS, Apache, Linux, SAP R/3, PeopleSoft, SQL Server, Oracle, MySQL. Software Development talent: .NET, C/C++/C#, Windows forms, STL, DLL, MFC, COM, Win32, SQL Server 2005, HTML/CSS, ASP/ASP.NET, Perl, CGI, mod_perl, VBScript, WMI, Java 2, XML/XSLT, Visual Basic, Palm handheld applications, integrating latest technology and complex data structures, Relational data modeling, Code design patterns, SubVersion source control, Software quality testing, unit testing black box/white box concepts, user interface design/ergonomics. Requirements * Desire to work in Delaware or vicinity. * Travel: 25% or less. * Salary: Market value. Completed Projects Oct 07 Data access layer software development project * Project acquired via rentacoder.com. 1 month term. * Design and develop a data access layer library in .NET 2.0 that maintains 'nodes' of data associated with a variable data member schema. * Deliver test harness application that performs black box quality assurance testing on all library functionality. * Code written in C# .NET 2.0 framework. Aug 04 MMCd Tools * Author of open source project http://mmcdtools.sf.net. * Windows application that binds with Palm HotSync to convert MMCd datalogs into human readable Excel sheets. Automatically converts datalogs on the Palm to XLS on the PC upon pressing the HotSync button. * Code written in C++, Win32, COM. Mar 03 MMCd data logger customizations * Contributed to an existing open source project http://mmcdlogger.sf.net. * Added new GUI functionality to Palm handheld application used to datalog automotive diagnostic sensors. * Code written in C, compiled with GCC cross compiler. Experience Nov 04 - Present ING Direct Wilmington, DE System Administrator III (as of May 07) * Administrator of over 500 Windows 2000/2003 servers, Microsoft Operations Manager 2005 (MOM), and Active Directory. * Participate in weekly change management process. * Follow strong adherence to ING Direct's SDLC policy, which mandates testing of all system or code changes in the QA environment. * Maintain Active Directory environments for production, QA, and development networks. * Custom scripting using VBScript and WMI to deploy specialized MOM monitoring rules and automated alert responses. * Develop, rollout and maintain a new login script scheme to automate role-based mapping of network drives and deployment of customization of specialized applications using Active Directory group membership and business rules written entirely in VBScript. * Secondary support of VMWare infrastructure, SMS 2003, Exchange 2003, and Dell server hardware. Application Support Analyst III * System administrator of various internal banking applications. Develop and maintain support procedures for each application supported. * Project management / change management of supported applications and platforms. * Work with development team to design and rollout new third party or homegrown applications. * Technical writing of all support documentation, disaster recovery plans, and first level support procedures for datacenter and IT help desk teams. * Administrator of Peoplesoft 8.8, modules: HR, Financials. * Administrator of Microsoft Sharepoint 2003 document management system. * Maintain proactive monitoring processes, disaster recovery and business continuity systems. Jun 99 - Nov 04 SAP America Newtown Square, PA Basis Support / Tools Developer / System Administrator * Trained in use and implementation of SAP R/3 version 4.0B to current on Windows NT/2000 and Linux with SQL Server, Oracle, and SAPDB. * Manage a large scale of over 2000 high end R/3 servers for Training/Demo/Consulting resources used globally. * Perform weekly distribution ("refresh") of very large database image to a large number of servers. * Specialized in custom application development and scripting/automation using languages and technologies such as: NT/Unix shell scripting, Perl, Visual Basic, Visual C/C++, COM. * Specialized in custom web site development using: HTML, Javascript, CGI, ASP, Perl, Visual Basic/COM, SAP Web Application Server, XML/XSLT. Tools written to automate many types of processes. * Database development experience on SQL Server, MySQL and other leading edge technologies. * Expert in developing automated solutions, such as: Database "refresh" copy, FTP copy with email confirmation, information and collaboration over web front end. * Work with a team of IT colleagues in Germany and Singapore for global 7x24 system support and task sharing. This involves regular global meetings in US or Germany. Nov 97 - Jun 99 Avetel Professional Services King of Prussia, PA Senior Field Engineer * Specialist in networking, Unix, Windows, desktop and laptop PC hardware. * Lead developer in design and implementation of Avetel's web page and corporate graphics. * Roll out 200+ Windows NT, Outlook, and Siebel software to all field sales laptops at GE Capital TIP, San Francisco and Chicago offices. Roll out 300+ Windows NT and Outlook to all laptops and desktops. * Roll out mailserver running SCO Unixware for Lehigh Carbon Community College. Configured Sendmail settings. Used Perl scripting to automate creation of global address book settings and importing of existing mailboxes. * Installed QIP 3.1 IP Management software on Solaris 2.51 at Hershey Foods, Mack Trucks, and Independence Blue Cross. * Write technical documentation for all projects. * Trained on wide range of networking and communications hardware and technologies by 3Com, Cisco, and Bay Networks. Nov 96 - Nov 97 Interstat, Inc. Mt. Laurel, NJ Technical Support for Internet Provider * Performed all levels of technical support for end-user clients and corporations, such as: ARI Fleet Management, Fox and Lazo Realtors. * Supported dialup/browser software for Windows 3.1/95/Macintosh. * Assisted in web design projects. Built database of cars and images for www.arifleet.net. Built several small web sites. * Assisted in Unix administration of BSDI, and SGI IRIX servers. Managed user accounts, mailserver, Sendmail, web server processes, DNS. * Written technical documentation of technical support tasks. Jan 96 - Nov 96 Rutgers University Computer Services Camden, NJ Help Desk Support * Available at computer lab help desks for questions and assistance. * Support dialup software for Windows 3.1 and 95. * Support applications on lab PCs and Sun Sparc workstations. * Support all network printers for PC and Sun usage. Education Microsoft Certifications: * MCTS certified .NET Framework 2.0 Windows Client Development * MCTS certified SQL Server 2005 Administration * Project Management College - Project Risk Management * Java 2 Training * MCSE 2000 Training * SAP20/SAP50 - Intro to SAP R/3 4.0B, Intro to R/3 Basis Technology * BC310 - R/3 Basis on NT/Oracle platform * BC505 - Oracle 8 Database Administration within R/3 * BC400 - ABAP Workbench * Peoplesoft 471 - Server Administration and Installation 1995-1997 Rutgers University Camden, NJ * Major in Computer Science Technical Experience * Strong in application development, particularly using technologies listed in the keywords section at top. * Strong background in TCP/IP networking and architecture. * Administrating Microsoft Windows operating systems, Linux, Active Directory. Background My background comes from self-taught hobbyist studies starting as far back as my early teens. I started with Atari Basic on an Atari 130XE, learned 6502 machine language and wrote code in assembler to produce small graphic effect demos in effort to learn more about the platform. I transferred my assembler knowledge to a 486, then learned C and C++. Though, it is not typical to learn assembler before a higher level language, I feel it gave me direct insight as to what the C/C++ compiler does and I can optimize my code accordingly. I have been a big fan of what is known only as the "demoscene", where talented coders, graphic artists, and music composers work together to create audio/visual demos featuring the latest in coding techniques, graphic talent, and synchronized music. These creations often exceed the capabilities of the current market of video game technology. Often these works are put head to head at competitions held around the world. I've attended one in Montreal, called North American International Democompo in 1996, where I've entered a small piece for a collaborative demo entry. More can be read about the demoscene at pouet.net or at the demoscene FAQ (http://tomaes.32x.de/text/faq.php). I've since expanded my skill set into understanding the Windows API, common windows DLL libraries, COM objects, and networking functionality at the C/C++ level. I am also very proficient with the Linux platform, including development using C/C++ and Perl. I've used Apache web server to create several web applications in ways a Windows IIS server could not. At a past employer, SAP America, I've been given the freedom to complete projects however I felt best. I've used this flexibility to learn new technologies. For web projects, I've mastered ASP, CGI, VBScript, Perl, and even touched on mod_perl a bit. For automation, data reporting, and conversion tools, I've mastered using Perl to quickly and easily generate tools to do many tasks most would not imagine Perl would be capable of. Creating web and interactive tools led me to also master SQL Server and MySQL as database backends to create powerful relational data models. I've adopted to the SAP Netweaver platform by learning ABAP/4 and Java on SAP's Enterprise Portal. I've worked with SAP's developers and basis administrators to learn the platform. More recently I've studied the .NET framework, including Windows Forms, ASP.NET and ADO.NET. This is clearly superior to ASP and I plan to continue using it for future web work. I'm always looking to learn new technologies. If there is an API or framework I don't know, I can come up to speed very quickly. Past works * Role-based Login Script. As ING Direct grew, its resources were growing towards a role-based permission design. To facilitate this development, a better design was needed for the dozens of one-off login scripts made for various job functions. I developed a VBScript-based login script that inspects Active Directory group membership and applies business rules in the code to determine what network drive mappings or other actions should happen as a result. With this design, all users have the same login script. Upon login, all requirements for job function is determined only by the groups the user is a member of. This project effectively eliminated maintenance of per-user login script settings and introduced flexibility of defining customized solutions based on job function. * Dr. Library. A custom file copy tool written in C# .NET Windows Forms to automate the copy of files in a SharePoint 2003 document library to another document library, preserving all file dates and version history. There are no Microsoft tools to do this, so I needed to write my own to complete migrations of documents between SharePoint sites. * http://www.explodingcoder.com This is my personal web site that I designed to hold content about myself and host some small web-based applications. I used Photoshop and The GIMP to design the graphics. I also use a common CSS stylesheet for the entire site. * As a performance car enthusiast, I've looked into utilizing the computer diagnostics of my car. I've collaborated with a talented coder in Russia, who created a powerful open source datalogging tool written in C, called MMCd, that runs on a Palm handheld and connects to a compatible car's computer diagnostic port. It can monitor and log any of the sensors available. In addition, I've studied the Palm HotSync Conduit API and Excel COM API to write a tool written in C++, called MMCd Tools. This tool syncs with the Palm, transfers a recorded datalog to the PC and converts to Excel or CSV format for easy viewing on the PC. In conjunction with MMCd, this tool is also released as open source and is available on SourceForge. Information, screen shots and file download can be found at: http://www.explodingcoder.com/mmcd.html * Web-based scheduling tool "ServOp". Can run a command on any number of target servers at a scheduled time by creating AT jobs in Windows Task Scheduler. Jobs can be staggered by n minutes and commands can be templated so that variables can be inserted for each target server, creating a useful method of issuing commands like: server reboot, file copies, Windows patching tools, and database refreshes. This was written using Perl/CGI with a SQL Server backend. * Web-based "News tool". This is a popular tool in SAP for reporting news items in a forum-like interface. Each team in IT gets their news pages, where they can post news bulletins with status levels (red, yellow, green, etc.). The application has controls for per-page user authorizations based on Windows authentication. This was written in ASP with Perlscript and SQL Server backend. * FTP tool. At SAP it was necessary to FTP many very large files from their German servers to our US servers for use during the week's database refreshes. A need arose for an automated method of grabbing these files automatically over the weekend without user intervention. I wrote a tool in Perl to easily specify the ftp site as source and a target directory for the files. It will then get a directory listing and transfer all files like a regular FTP tool. In addition, it used multi-tasking to transfer up to n files at a time, thereby utilizing the multi-channel ATM network between sites. Compared to a standard FTP client script, this tool was able to transfer at least 4 times faster, allowing our team to handle the hundreds of gigabytes needed to transfer every weekend. It was also found that adjusting the TCP window size in Windows to 64k doubled the transfer speed. * PSSDB. This is a team-based effort to create a server and software inventory at SAP to account for both datacenter and internal billing use in the "PSS" team. Using SQL Server, an elaborate relational data model was created to account for all servers and software installed on each. Each software instance could be billed to a cost center for a certain amount. A VB front-end was created for admin maintenance of data. Monthly reports were automatically generated with Perl and emailed to costcenter owners and Finance. Costcenter owners could also visit a web front-end that summarized their monthly charges before the month-end bill. In addition, monitoring capability was added to the database and with Perl- based monitoring tools to check up-status of certain types of installed software. Administrative web-based reports were also created for monitoring status, incorrectly entered server or software data, or billing data. These reports were created using SQL Server's SQLXML extensions. You create SQL queries that generate XML data which is converted to HTML using a custom XSLT stylesheet. * TaskDB. The PSS team at SAP lacked an easy way to track projects owned by members of the team. After reviewing several other applications, none seemed to meet the needs. I came up with a web front-end to an easy to use task management tool that anyone can create their own tasks and maintain their information. The TaskDB quickly became accepted by the team. Weekly status meetings can simply review the list of open tasks in TaskDB. TaskDB was written in ASP with SQL Server backend. * Cell plan web site. At the time the telecommunications department was issuing hundreds of cell phones to approved employees around the country and each one had its own calling plan with AT&T or Voicestream. Certain people were generating extreme phone bills with legitimate overage minutes and required a higher minute calling plan than most. I designed a web front-end using ASP and SQL Server's SQLXML extensions to create XML/XSLT interfaces to allow managers once a year to review their employee's current cell phone plans and choose a new plan for each if necessary. This required data munging of existing spreadsheets from telecom to be imported to SQL Server. AT&T is able to deliver a recommendation for each calling plan, based on minutes and overage. This was also imported into the database as default calling plans. Once all managers have made their selections, I used Perl to generate a report of all changes and summary of all cell phones and their calling plans. The first year netted a savings of over $64k/year for 600 calling plans. * Remote inventory web site. The asset management team did not have a good third party application for tracking and polling users for equipment ownership. I wrote a web front-end in Perl/CGI with MySQL backend on Linux to guide users through a series of simple screens to gather their pertinent information about the company materials they have in their possession. When the inventory period ends, a report is generated with all inventory and employee ownership and delivered to the asset management team. In addition, this tool used SSL client/server certificates to automatically determine the remote user login when the client runs SAP's own Single Sign-on solution.