Experience

6fusion USA, Inc. Raleigh, NC Apr 2011 – Current
Software Architect
When I joined 6fusion I was the first in-house engineer hired by the company to work on the product. One of the first requests made of me was to audit the system the contracters had built and offer my feedback to how to proceed with making the product enterprise ready. Unfortunately, the code base was riddled with bugs, security holes, and without scalability in mind. However, this gave me a great opportunity to put together a team of talented individuals and rebuild the application from the ground up. Given this opportunity I was able to hire a few engineers to help get the process started. We were able to rebuild the application from the ground up with scalibility, reliability, and security in mind.

The first technology stack that I decided to use was Ruby on Rails 3+ for building a Web based application to enable customers to manage & monitor their virtual infrastructure; this product is called the 6fusion Console. We completed building this product from the ground up in the first 6 months. Exceeding all investors expectations and nearly doubling the 6fusion’s valuation.

Once 6fusion Console was built I turned my efforts towards re-designing the architecture of the back-end infrastructure. The goal of the 6fusion product line is to manage & gather metrics on all virtual machines distrubted throughout the globe into a centralized system for reporting and analysis. In order to do this I leveraged Ruby on Rails, Torquebox, HornetQ, & SSH Tunnels. The goal of my design was to streamline all customer requests and metering data in a way that was fault tolerant and secure without needing much customer interaction. I also wanted to make sure that our centralized reporting system didn’t receive requests from around the globe asking for work.

A few of the skills and technologies that I used include Ruby, JRuby, Ruby on Rails, Torquebox, HornetQ, Chef, Capistrano, Java, MS-SQL, mySQL, PostGreSQL, Git, sprint.ly, CentOS 6.3, OS X, RubyMine, & Sublime Text 2.

iContact Morrisville, NC Feb 2010 – Mar 2011
Technical Team Lead
My final role at iContact was Technical Team Lead. My responsibilities were to integrate the iContact Publisher application with Google Analytics. This effort required coordinating with multiple teams such as the System Engineering Team to stand up new virtual machines, the Database team for building a Data Warehouse to store information pulled from Google APIs, and Product Development to make sure the customers expectations were exceeded.

Prior to working as the Technical Team Lead for Team Track I worked on Team Foundation as a Team Lead & Scrum Master. Over two release cycles my team built and integrated the Publisher system with Facebook and Twitter. This was effort uncharted territory for iContact and required building out new services such as a REST based API, Message Archive server, and new integration points that needed to be highly secured.

My first big project when I joined iContact happened within a month of being hired and involved securing the entire application to pass the Salesforce audit and raise an additional round of funding from investors. The original estimate for this project required over half the technology organization and the plan was for it to take six months. This was beyond the window which was set by investors to raise the additional round of venture capital funding. The reason the estimate was so large in scope and resource allocation was because iContact uses a custom built framework for their application. In previous positions I worked on securing applications, and knew many of the techniques required to do so, what I lacked was the domain knowledge of iContact’s custom applciation framework. I spent a week dissecting the framework to look for a way to reduce the original estimate to be able to meet the venture capital funding deadline. I was able to find a way using the existing framework to reduce risk, increase the original level of security coverage, free over half of the engineering team from being dedicated to the project, and cut the estimate down to a month.

A few of the skills and technologies that I use include PHP, PHPUnit, jQuery, mySQL, Ajax, Debian, Subversion (SVN), JIRA, & phpStorm.

Surgical Review Corporation Raleigh, NC Feb 2009 – Feb 2010
Software Architect (Team Lead)
I was the Software Architect responsible for rebuilding the Surgical Review Corporation applications. The two primary applications that required integration and redesign were Center of Excellence & BOLD. This redesign required a new database design, user interface, middle-tier, & foundation. I was responsible for organizing and facilitating the team during design meetings & code reviews. I introduced new technologies in the Surgical Review engineering teams in order to streamline the development process. A few of the things I implemented were Subversion source control, CruiseControl.NET automated build system using nANT as the build system control scripts, JIRA ticketing system, development guidelines for better design patterns & coding practices. One of my mentoring efforts was to teach classes on TDD to the engineering group using nUnit & nMock. This lead to much more confidence as we re-factored code and few bugs on release nights. One of my personal goals was to extend my own skill set by augmenting the test suite to include Selenium tools for integration tests. Last but not least, I instituted Scrum throughout the engineering group helping drive shorter release cycles and true business value.

A few of the skills and technologies that I use include ASP.NET, C#, ASP, jQuery, VB Script, XML/XSLT, SQL Server, Ajax, WCF Web Services, Cruise Control.NET, NUnit, nMock, Selenium, DBFit, JIRA, & SVN.

ChannelAdvisor RTP, NC Jan 2006 – Jan 2009
Senior Software Engineer (Team Lead)
I was team lead for ChannelAdvisor’s Business Intelligence team. The team’s primary function was to analyze and report on key areas of interest both for ChannelAdvisor and ChannelAdvisor’s customers.

Some of my responsibilities on the Business Intelligence team included but were not limited to: architecture of the Report Center, which is the report hub for all of ChannelAdvisor’s internal and external reports. I also lead the team in design meetings and code reviews. It was not uncommon for me to mentor other developers on the team in better design patterns, coding practices, & unit test methodologies.

Before becoming the Business Intelligence team lead I was the primary developer on the business to business product known as SearchAdvisor. This application handles automation using complex algorithms which manage cost and revenue as it pertains to a company’s product(s), handles bulk operations, and is a complex real time reporting system.

I was responsible for developing advanced functionality for this web-based e-commerce platform such as an automated bid management solution; as well as work on complex problems where analysis of situations or data requires evaluation of intangible variables. In addition to this there are many instances in which I must work with 3rd party providers to import data into their system through many formats including but not limited to web services, delimited file formats, & XML.

A few of the skills and technologies that I use include ASP.NET, C#, ASP, VB Script, XML/XSLT, SQL Server, Postgres, mySQL, Ajax, MSMQ, WCF Web Services, NUnit, FitNesse, DBFit, & SVN.

GlaxoSmithKline RTP, NC Jul 2005 – Jan 2006
Senior Software Engineer
I was responsible for the conversion of a critical data migration application, called CAPE, which feeds and verifies all data in and out of the Oracle database. CAPE was originally written in ProC. It was my task to re-implement CAPE using a .NET Web Service as the portal to submit and pull data.

In addition to the CAPE, I was a supporting developer for multiple other applications that help support the GSK Sales Team. My main role on these projects was to serve as a mentor and trainer to entry and mid-level developers who are learning .NET and advanced SQL topics such as Stored Procedures, Triggers, relationship integrity constraints, etc.

A few of the skills and technologies that I was using included ASP.NET, C#, VB, ASP, VB Script, XML/XSL[T], PL-SQL, DHTML, JavaScript, SQL Server Full-Text Indexing, Live Bookmarks, COM/Web Service Implementation, & Omniture Reporting Tools.

TotalVid Inc. Norfolk, VA Nov 2003 – June 2005
Web Developer (Team Lead)
I was responsible for architecture, design, and implementation of a high volume web site. I participated in the full life-cycle of the development process – from analysis, design, development, implementation, modification, documentation, and refinement for web site and internal software systems. I also interacted with department managers, senior management, and non-technical stakeholders on a regular basis to further the company enhancements.

On a day-to-day basis I managed the development as well as helping maintain long term engineering processes. Other responsibilities included: reviewing requirements, creating designs, defect tracking, making key decisions during development, and communicating risks and roadblocks to management.

A few of the skills and technologies that were used included ASP.NET, C#, VB.NET, VB, ASP, VB Script, XML/XST[T], T-SQL, DHTML, JavaScript, SQL Server Full-Text Indexing, Live Bookmarks, & 3rd Party COM/Web Service Implementation.

GlaxoSmithKline RTP, NC Apr 2002 – Sept 2003
Software Engineer
My current project at GSK is the development and implementation of the GSK eBusiness Online Data Exchange (GeODE). The GeODE system serves as the central knowledge repository for information about all GSK eBusiness systems. I am working on this project from the design stage to release. The project is going through many different designs as more departments want to use it and have their questionnaires included in the tool. The front end is being developed using ASP, XML, XSL, and JavaScript. The client data as well as the questionnaire content is stored in an Oracle 8i database.

Before GeODE I was responsible for the development and implementation of several systems. The first system that I worked on was the GSK High Level Plan (HLP). HLP is a project management tool that provides a high level overview of key tasks. The tasks range from Lead Optimization through to Peak Sales. Key Milestones are included from another system called Atlas-PMI. Some of the skills and technologies that I used included VB, VBA, ActiveX, Oracle PL/SQL, ASP, VB Script, XML/XST[T], SQL, DHTML, Networking, Index Server.

After the implementation of HLP was complete, my next project was the implementation of the Quantitive Risk Analysis (QRA) System. This is a third party system developed using ASP on an IIS 5.0 Server and SQL Server 2000 as a backend database. It was my responsibility to migrate the system to an Oracle database with IIS 4.0 front end.

Peopleclick, Inc. Raleigh, NC Jan 2002 – Apr 2002
Web Developer
My duties and responsibilities included the implementation of new clients on the Peopleclick 4.0 system as communicated through requirements from Program Managers. I was responsible for determining effort needed, assessing the feasibility of requested configurations, making recommendations, and performing the development work required to implement the client. Many times I was responsible for scripting changes to clients’ databases and web pages. These scripts managed all customized import/exports of client data as well as new database schemas. Some of the skills and technologies that were used included VB, ASP, VB Script, XML/XST[T], SQL, DHTML, Networking, DataJunction, Index Server and COM+/COM Implementation.
Blue292, Inc. Durham, NC Nov 2000 – Jun 2001
Software Engineer
My core responsibility at Blue292, Inc. was the design and implementation of the EHS Emergency Management System (EHS-EMS). The EHS-EMS application provides a comprehensive approach to emergency management including contingency planning, response, and reporting. Its intended uses are to help organizations better plan and prepare for emergency situations, quickly initiate response actions, and efficiently collect and report incident information. The development of this project required input from end-users to industry leaders of global environment planning. Some of the skills and technologies involved in this project were VB, JSP, ASP, JScript, XML/XST[T], SQL, DHTML, and Index Server.

Demonstration of Blue292, Inc. Product Suite can be found here:

http://www.blue292.com/blue292/public/flash_demo_submit.asp

mindlever.com RTP, NC Feb 2000 – Nov 2000
Web Product/Service UI Manager
While at mindlever.com I worked on a range of projects. The most crucial product to mindlever.com’s success was the design and development of the mindlever.com Composer now known as ‘Centra Knowledge Center’ The Centra Knowledge Center interface provides on-demand access to learning resources and assigned activities, such as presentations, simulations, recordings, live online events, and assessments. Individuals can view personalized assigned learning tracks, and access and search a catalog of available learning resources. The design and development of this product required input from end-users, eLearning specialist, and many business leaders. Some of the skills and technologies used while developing this project were VB, ASP, VB Script, SQL, DHTML, and Macromedia Flash.

Demonstration & Information of Centra’s Knowledge Products can be found here:

http://www.centra.com/products/manage.asp

http://webreal.centra.com/CentraKnowledge.wmv

Cavu Corporation Raleigh, NC Feb 1999 – Feb 2000
Software Engineer
I was responsible for four simultaneous projects. All of the projects required working closely with clients to facilitate development of a system that would meet their specific and individual needs. From the information I gathered I established a project plan. Then my development team and I created the application. All of the projects I led required Active Server Pages, Active Data Objects, CSS Stylesheets, and JavaScript. I am also proficient in Microsoft SQL 6.5 and 7.0, Microsoft Access, and Oracle 8.0.

Information on Cavu’s e-Licensing Product can be found here:

http://www.cavucorp.com/egov/eLicenseMedlProdDesc3Rev.pdf

Sim-Plex Raleigh, NC Jun 1997 – Dec 2000
Web Designer
Worked closely with clients to develop their company identity, product packaging, & web design. Some of the clients I personally worked with were:

5 Arts Studio, Cosby TN

Graphic Staffing, Raleigh NC

Laboratory Source International, Apex NC

Village of Yesteryear, Raleigh NC

(NC State Fair Non-Profit Organization)

C2it, Inc., Holly Springs NC

Each of the companies listed above required Graphic Design & Layout as well as N-Tier development web applications.