Joshua Scott Gough

Resident of Atlanta, GA

Mobile Phone: 770-714-2465
Email: jsgough _ gmail _ com
URL: http://www.ultravioletconsulting.com

Professional Objective

I enjoy working with teams that use a strong iterative development methodology, using UML or related principles, .NET, and C#. Since 1999 I have worked hands on in the design, implementation, maintenance, and management of mission-critical information systems. During this time I have gained strong experience in systems analysis, architecture, and development of n-tier applications throughout all phases of the software development life cycle. When designing systems, I focus on layering, extensibility, testability and automation, usability, and reliability.

In my spare time I keep up with current industry trends and augment my skills by participating in .NET user groups, contributing to open source projects, and blogging. I am currently working toward MCAD and MCSD.NET Certification and have a growing interest in design patterns and enterprise architecture. I enjoy working with other motivated people with a passion for continued learning, excellence, and community activism.

Analysis, Design, Architecture, and Implementation Development Skills

Analysis: Business process analysis; Requirements gathering; Use case descriptions; Information architecture; Conceptual modeling.

Logical Design: Systems architecture; Class diagramming and design; Using abstraction, interfaces, encapsulation, polymorphism, and inheritance; Data modeling; Relational database design and normalization.

Physical Implementation: Identifying and recommending usage/purchase of commercial and open source software, toolkits, frameworks, APIs, and standards; Implementing new front-end GUI, backend components, and modules as per software requirements specifications; Implementing application instrumentation; Interfacing new systems to legacy applications; Implementing new requirements in existing code bases; Rapid prototyping; Documenting user interfaces, code changes, and system APIs.

Testing and Debugging: Performing code reviews; Identifying, documenting, researching, and resolving defects; Unit testing via automation interfaces; Integration testing; User acceptance testing.

Deployment and Maintenance: Maintaining source code repositories; Implementing automated build processes; Packaging, versioning, and deploying software upgrades; Working with local sandbox development, testing, staging, production, and failover hotsite deployment environments; Working with DMZs, firewalls, IIS perimeter security ISAPI filter configurations; Creating diagnostic test scripts to instantiate COM objects and automate tasks; Monitoring application health and troubleshooting issues.

Business and Presentation Skills

Organizational related: Working with scientists, analysts, and managers from inter-organizational units; Working with external stakeholders and organizations.

Peer related: Authoring technical tutorials, guidelines, code samples, and blog posts; Authoring technical implementation presentations; Presenting presentations.

Security Clearances

Employment History

Senior Developer / Architect
Abel Solutions, Inc.
February 2006-Present

Abel Solutions, Inc. is a consulting firm specializing in custom business application development with Microsoft .NET technologies. It also specializes in the implementation of solutions using Microsoft Sharepoint and other information worker technologies.

Projects and Responsibilities:

  • Sporting Goods Auction System Architectural Review Phase Lead technical analyst for creating client deliverable consisting of technical architecture assessment of an existing $100 million sales volume generating sporting goods auction application. Analyzed C++, COM, ASP 3.0, and SQL Server 2000 components and recommended a hybrid horizontal and vertical migration strategy to ASP.NET 2.0 and C#. The horizontal portion called for implementing a new front-end layer in ASP.NET while using RCW interop assemblies for short-term reusability and maximization of existing investment. The vertical portion was applied to new functionality modules, calling for these to be written in pure C# with no COM middle layer.
  • Sporting Goods Auction System Application Module Requirements Definition Phase Lead requirements analyst for creating client deliverable consisting of requirements documents detailing all functional and non-function requirements, assumptions, boundaries, expectations, and project exclusions for new account and inventory management modules to be designed and developed for the client's auction system.
  • Sporting Goods Auction System Application Module Design Phase Lead architect for creating client deliverable consisting of design documents detailing all implementation goals and design specifications for implementing new account and inventory modules. Design plan included prototype code for building on top of client's existing interface signatures and specified how to loosely couple all object dependencies to enable ease of modification in future releases.
  • Sporting Goods Auction System Application Migration Foundation and Module Development Phase Lead developer for creating client deliverable consisting of C# interfaces, classes, ASP.NET 2.0 pages, custom web controls, user controls, JavaScript libraries, and related configuration files for the foundational code needed to support a complete horizontal migration and for new account and inventory management modules. Utilized Master Pages, C# generics, interfaces, GridView, Wizard control, and developed client-side JavaScript based data-binding and templating mechanism for creating just-in-time paramaterized popup menus in GridView rows. Created custom Membership provider to wrap client's existing user API. Used Visual Studio 2005 Testing Projects to perform unit testing for new components. Directed one other developer during this project.
  • Sporting Goods Auction System Application Horizontal Migration Development Phase Currently the lead developer for creating client deliverable consisting of C# interfaces, classes, ASP.NET pages, custom web controls, user controls, JavaScript libraries, and related configuration files for the complete front-end migration to ASP.NET 2.0 of the client's auction application, comprised of more than 300 original ASP pages. Directing two other developers on this project, one in office, the other at the client's site. Utilized ASP2ASPX third party migration tool to translate large portions of VBScript function/sub libraries into C# code.
  • Sales and Incentives Management Application Module Added new reporting module to existing ASP.NET 1.1 / C# application used by client for managing sales information and creating bonuses and promotions based upon collected data. Utilized NUnit testing framework for testing new code.

Senior Systems Analyst
Anteon Corporation / Centers for Disease Control and Prevention -- Epidemic Information Exchange Program
March 2002-February 2006

The Epidemic Information Exchange Program is the Centers for Disease Control and Prevention's web-based communications solution for public health professionals. Through Epi-X, CDC officials, state and local health departments, poison control centers, and other public health professionals can access and share preliminary health surveillance information --- quickly and securely. Users can also be actively notified of breaking health events as they occur. Key features of Epi-X include unparalleled scientific and editorial support, controlled user access, digital credentials and authentication, rapid outbreak reporting, peer-to-peer consultation, and CDC-assisted coordination of investigations.

Projects and Responsibilities:

  • Enterprise Directory Web Services Integration: Analyzed and defined technical requirements for integration of the CDC mission-critical Epi-X system with the emergent CDC enterprise-wide J2EE based user directory. Worked with class diagrams, WSE Beta 3, and Web Services proxy objects in C# using the Visual Studio .NET 2005 IDE.
  • User Training Course Scheduling Portal Module: Analyzed, designed, and implemented modifications for integration of commercial source-code-available DNN portal module. Completed module allows the Epi-X Training Manager to schedule sessions and record metrics about users trained on-line without using cumbersome spreadsheets. Modified original module source code to upgrade it to DNN Framework v. 3.1 compatibility to address breaking-changes between DNN framework versions. Used Visio for class/entity diagrams, CodeSmith code generation templates to create T-SQL CRUD, DAL, BLL, and Controller class code. Coded VB.NET based ASP.NET UI code in Visual Studio .NET 2003. Created SQL Server 2000 stored procedures and user-defined-functions using Visual Studio .NET 2003 database project template. Used NDoc and NAnt for API documentation and automated builds.
  • Outbreak Report Import/Export Tools: Created tools for exporting, transforming, and importing outbreak reports from production SQL Server 2000 DB into mobile demonstration DBs. Used XML, C# and Visual Studio.NET 2005. Created SqlMirror class that builds upon the SqlBulkCopy ADO.NET 2.0 class internally. Used Doxygen tool to generate API documentation for classes.
  • Security Training Course Software: Designed and implemented interactive security training course software to ensure that Epi-X complied with federal regulations. Implemented system module using Visual Studio.NET 2003, SQL Server 2000, PowerPoint, Macromedia RoboDemo 5.0, prototype-based JavaScript, XML and XSLT (with nxslt and EXSLT extensions), and Adobe Photoshop.
  • Business Intelligence Reporting: Created SQL Reporting Services reports for displaying both summary and drill-through reports about Epi-X system usage activity. Implemented reports using SQL Reporting Services for Microsoft SQL Server 2000. Created flexible dynamic T-SQL stored procedures and table-valued user-defined-functions for aggregating disparate queries into one result set for summarized viewing.
  • Mobile Device Access: Worked with CDC secure network stewards, information security stewards, and other stakeholders to implement plans for offering Blackberry RIM device support for HTTPS-protected CDC resources. Researched and determined how to configure devices for securely communicating in end-to-end mode. Created prototype application for adaptable UI presentation layer based on HTTP header inspection.
  • Deployment Process Automation: Researched, designed and implemented an automated process for source code building, packaging, versioning and deployment, and providing code changes accountability summaries. Used Red-Gate SQL Tools, Araxis Merge Professional 6.5, and InstallAnywhere.NET to create MSI deployment packages. Used XSLT transformations to create change logs from Araxis reports. Replacing the previous manual process reduced redundancy of efforts and possibility for human error, and increased time available for development and testing.
  • Terrorist Attack Emergency Preparedness Exercise: Participated in US Federal Government Emergency Preparedness Exercise in September 2003 at Fort McClellan with the Epi-X notification officer. Monitored Epi-X system availability in the control room during exercise execution, communicated with Atlanta base team, and assisted on-site users during a simulated outbreak scenario of a terrorist attack of aerosolized plague.
  • Additional Projects, Responsibilities, and Experience: Created dynamic role-based emergency notification improvements using SQL Server 2000 tables, relationships, stored procedures, and user-defined-functions; Created data-driven RoboHelp deployment, replacing legacy context-sensitive static help files with RoobHelp X5. Ajax JavaScript techniques for retrieving SQL Server 2000 stored procedure derived data into the help files; Performed versioning, packaging, and deploying upgrades duties for code built from Visual Source Safe. Maintained development, integration, production, hotsite, and mobile demonstration deployment environments; Additionally, I routinely work with VB6 COM Objects, SQL Query Analyzer, SQL Profiler, digital client certificates and IIS in HTTPS mode, GIS queries, HTML/XHTML, CSS, JavaScript, ASP/VBScript, Excel, Adobe PhotoShop, GIMP, and Windows Scripting Host.

 

Analyst Programmer
Georgia State University College
of Arts & Sciences Dean's Office
July 1998-February 2002

Projects and Responsibilities:

  • Information Architecture Design and XML Based Publishing Portal: Lead analyst and developer in the analysis, design and implementation of new versions of the College of Arts & Sciences web site, http://www.cas.gsu.edu, and its supporting information systems. Implemented system using ASP.NET, C#, Custom Server Controls, User Controls, XML and XSLT, MS SQL Server, and Web Services. Finished system used by other offices to upload XML story content to promote college and departmental news highlights.
  • Report Collection and Querying System: Designed, implemented, and supported web-based system for collecting, verifying, sorting, viewing, and merging faculty annual reports as required by state Board of Regents. Used CPAN and modular object-oriented PERL, dbi:Oracle, Oracle 8 for Linux, and MS Word VBA automation API. Finished system replaced previous manual process and allowed department directors to query and sort entries of individual faculty members.
  • Additional Responsibilities and Experience: Provided design and programming assistance, leadership, and guidance to departmental designers and programmers; Set up and maintained college web servers running Linux and Windows 2000 Server; Mentored computer science graduate students on such technologies as JAVA, the .NET Framework, ASP.NET, C#, VB.NET, JavaScript, PERL, XSLT, CGI, SQL, etc; Authored technical tutorial articles to support department level designers and programmers.

Miscellany

I have done independent consulting with the National Academy of Sports Medicine, Georgia State University's Andrew Young School of Policy Studies, and the TRENDS Marketing Group. Work I have done for these groups includes, respectively, DotNetNuke 3.1 systems integration design plan review, creating PERL 5 CGI programs for XML and SGML processing, and creating PERL 5 CGI web forms and graphic design.

Experience with Programming Languages and Related Technologies

Markup: HTML; XHTML; CSS; XML; XSLT; XPath; XUL.

Scripting: JavaScript; JScript; PERL; VBScript; DHTML.

Web Development: ASP.NET; ASP; CGI.

Portal Frameworks: DotNetNuke Module Architecture and Custom Development; Abstract Factory Provider Model.

Programming: C#; C; C++; VB.NET; OO PERL 5; IDL; OOA/OOD/OOP.

APIs, Toolkits, and Technologies: MS .NET Framework 1.0 - 2.0; MFC; Gtk+; Sockets; Winsock; ADO.NET; ADO; PERL DBI; Win32 API; POSIX; Mozilla API; Mozilla JavaScript C Engine; SWIG; Regular Expressions.

Component Architectures: .NET; MS COM; Mozilla XPCOM.

Modeling: UML; ERD; Object Role Modeling (ORM); BPML.

Database: SQL; T-SQL; PowerScript; Oracle PL/SQL.

End-user: MS Visual Basic 5.0-6.0; MS VBA; MS Word Object Model.

Experience with Software Packages

Operating Systems: MS Windows 3.1 - 2003; Windows Advanced Server 2000; Linux.

Desktop Environments: GNOME; KDE.

Web Servers: IIS 5.0 - 6.0; Apache 1.3.x.

Portal Servers: DotNetNuke 2.1.2 - 3.1.

Web Conferencing: Live Meeting; Akiva WebBoard.

Help Authoring and User Training: Macromedia RoboHelp X5; Macromedia Captivate; TechSmith Camtasia.

Editing: MS Office XP; OpenOffice.org; MS FrontPage; HomeSite; TextPad; HTML-Kit; UltraEdit 32; GNU Emacs; XEmacs.

Database Management: MS SQL Server 2000; Oracle 8.0.5; MS Access; Sybase SQL Anywhere; MySQL; PostgreSQL; Red-Gate SQL Tools (SQL Compare and SQL Data Compare).

Application Development: MS Visual Studio.NET 2003 - 2005; MS ASP.NET Web Matrix; MS Visual Basic 6; MS Visual C++ 6; PowerBuilder; ActiveState Visual XSLT; IDE 4 Laszlo (Eclipse).

CASE Tools: Popkin System Architect; MS Visio Enterprise Architect Edition; Rational Rose.

Code Generation and ORM Tools: CodeSmith 2.6; MyGeneration Software; IronSpeed Designer.

Graphics and Animation: Adobe Photoshop; Adobe ImageReady; GIMP 2.2; JASC Paint Shop Pro; Macromedia Flash 5.0; ImageMagick.

Project Management: MS Project.

Miscellaneous: Araxis Merge Pro 6.5; InstallAnywhere.NET; Windows Scripting Host; GNU Bash Shell; VNC; VMware; Microsoft Virtual PC; Timbuktu Pro; Dialogic Communicator; TechSmith SnagIt; SmartFTP; FireFox Browser w/Extensions.

Education

Major Coursework: Discrete Mathematics, Decision Sciences I, Decision Sciences II, Intro to Computer Information Systems, Intro to End User Programming in VB, C++ Programming, C++ Object Oriented Programming, C++ Windows API and MFC Development, Systems Analysis, Systems Design, Relational Database Management Systems, Networking Systems, Business Systems Development.

Honors and Recognition

  • Awards
    Awarded Faculty Scholarship Plaque for sustaining a 4.0 GPA through at least 36 consecutive course hours; Awarded Dean's Scholarship Key three times.
  • Honors Societies
    Member of Beta Gamma Sigma Honor Society, awarded to seniors in the top 10% of their class; Member of Golden Key National Honor Society, awarded to recognize excellent performance in academics.

Training Courses

  • ASP.NET Programming with C# and VB.NET
    5-day instructor-lead course at Extreme Logic
  • Advanced ASP.NET Programming with C# and VB.NET
    3-day instructor-lead course at HP
  • .NET XML Web Services Programming with C# and VB.NET
    3-day instructor-lead course at HP

Community Involvement

Professional: Member of Association for Computing Machinery (ACM); Helped organize the Atlanta DotNetNuke Users Group Meetup in 2006.

Volunteering: Participated in the Big Brothers and Big Sisters of Metro Atlanta organization as a "Big Brother" mentor since 2003; Active participant in Hands On Atlanta events.

References

Provided upon request