Contact Details
Objective

To be a key member of a development team which strives to create high quality applications central to the core competencies of an organization. I strive to identify broad business process interactions which can benefit from the application of technology. All with a focus on deriving additional, or new, value for our customers.

I am most effective when interfacing directly with business analysts in order to understand the broad spectrum of effort an organization expends to achieve its goals. I find it imperative to know, understand and personalize these goals. I have a knack for communicating with business users and technical users alike. I am at home bridging the gap that often exists between development departments and a businesses goals.

Work Experience

IBM Cloud/SoftLayer - Software Engineer Lead ( softlayer.com )

June 2013 - March 2017

As the organization grew, I was chosen to lead a small team (one which never grew to more than 10 people) that focused on physical network and network appliance automation. I fostered the relationship, and worked closely with, Network Engineers to design, develop and deliver value. Areas under my team's jurisdiction included:

  • Load Balancers
  • Firewalls/Gateway Appliances
  • DDoS appliance and supporting network configuration
  • VLAN, Subnet, IP address allocation
  • Vendor agnostic switch/router configuration
  • Network topology orchestration

I managed the daily tasks of my team. I'm not the most cuddly of leaders, but I'm confident in the respect earned from my team through my concern for improvement of their skills and maintaining high standards in their work. My primary tools of interaction were well written tasks, code reviews, and documented expectations of daily routines. As I felt the business change, I adapted the structure, makeup, and focus of the team to maintain a balance between business and technical goals.

During this time I also contributed to application architecture and standards discussions. Promoting unit testing, database migrations, end-to-end functional test suites and environments, thorough logging, and metering. The development organization was growing rapidly (100+), and the need to establish consistency of output was paramount. These endeavors met mostly with success, but it was a grueling and arduous process.

There was a particular weakness with the foundation of the applications being developed, as happens with most web applications that grow into relying heavily on transactional state change, race conditions. I contributed tooling, policy, and education concerning prevention and consistent handling of race condition sensitive areas; these habits grew well outside my local sphere of influence.

I co-engineered and my team wholly implemented a monumental change to the core underpinnings of all applications which held a base assumption about IP addresses from the companies' founding. This change required coordination with the entire development organization to effect. It also required thorough investigation of the current application state, identification and documentation of changes needed, and an ongoing verification the changes were achieving success. Further, this fundamental of a shift required the entire company to be educated as to the business processes being impacted and evolution of those processes within the new paradigm. A customer facing result of this undertaking can be gleaned via the custom private addressing feature available on SoftLayer's cloud. These changes had many implications, but this feature is one available for external review.

Another area in which I expended a notable amount of effort was in diagnostics and troubleshooting. Individuals and teams were responsible for supporting their production applications, systems, and subject domains. I earned a reputation for being a resource for deep diving in time sensitive situations. Not all diagnostic tasks were in the heat of the moment; many were used to verify the function of applications, and too often needed to discover their function as our ancestors left them undocumented.

Products of which I heavily contributed to the direct development, release, and maintenance of consist of the following:

  • Dedicated Load Balancers
  • High Availability - Dedicated Load Balancers
  • Load Balancer SSL Offload
  • Vyatta Gateway Appliance
  • Custom private addressing
  • Customer Owned Subnets

Most of my work did not result directly in features or products I can publicly identify. Instead it underpinned many of the functions of the business as it relates to the needs of network management and automation. The single most valuable contribution my team made is the support of an ever changing network architecture which went mostly unnoticed by customers. If anything was noticed it was the availability of new or improved offerings simply made possible by the shifting network architecture and automation supporting them.

Keywords Utilized
  • PHP
  • MVC: Custom framework
  • ORM: Custom (very extensive)
  • Web Service APIs: SOAP, XML-RPC, REST
  • Oracle 11g
  • MySQL
  • JavaScript
  • jQuery
  • CSS
  • HTML4.1
  • Composer
  • PHPUnit
  • Subversion
  • Git
  • Splunk
  • Zookeeper
  • Memcache
  • ZOMG
  • Cisco
  • Arista
  • Fortinet
  • Array Networks
  • VLAN/VxLAN
  • VRF

SoftLayer Technologies, Inc. - Software Engineer III ( softlayer.com )

June 2011 - June 2013

I began my service at SoftLayer as a senior developer at a time when the development organization was of modest size, ~20 people. The company was lusting after lots of application surface area, and thus every developer was required to be "full stack" implementors. This included grabbing the domain knowledge torch in whatever they happened to be thrown into. That said, there were existing application foundations of which all developers were required to stick within. During this time I jumped around a bit, but the primary focus of every project was automation of a public cloud and its related services. The domains I focused in were load balancer, firewall, and network configuration (switch management/port configuration, router configuration, DDoS appliances) as well as network resource (VLAN, subnet, and IP address allocation) and topology orchestration.

As the development organization grew, so did the need for teams. Being one of few with a desire to work heavily in network automation, I was chosen to solidify my relationship with Network Engineering and the network automation needs of the business. Thus beget my title change to Lead.

Speed FC, Inc. - Software Application Architect ( speedcommerce.com )

February 2007 - February 2011

Lead architect of teams whose responsibility it is to develop e-commerce, order management, fulfillment, and call center applications which provided an end-to-end systems experience for Speed FC's clients.

My time started as a senior developer responsible for hands-on development of platform architecture and porting of legacy code bases into a new platform with updated thinking. Both in terms of learning from the past, and the application of current industry advances.

Approximately two years into employment I was promoted as the direct manager of eight senior developers and ten junior developers. I was responsible for the daily development operations as well as architectural guidance. It became apparent the architectural guidance portion of my responsibilities required more focused attention and availability. Therefore my responsibility shifted solely to architectural guidance and future planning. I held that role until my departure.

  • Development and maintenance of core functionality for internal e-commerce platform which supported clients such as:
    • The Limited
    • shopjustice.com [Justice Just for Girls] (previously limitedtoo.com)
    • ShopKo
    • Dress Barn
    • ... and more
  • Experience scaling e-commerce sites to tens of thousands of sessions per day
  • Maintenance and development of the following additional systems:
    • Order management and associated reporting
    • Call Center order handling
    • Fulfillment systems integration (Manhattan's PKMS)
    • Designed and built a "RF picking" solution (wireless hand held device client and accompanying server for work flow management and performance reporting)
  • Personally developed a PCI level 1 compliant payment handling system handling tens of millions of dollars a year (I later transitioned the maintenance and further development to a fellow developer)
  • Integration with credit card processors, banks, and gift card merchants:
    • 5/3 Bank
    • Retail Decisions (fraud and payment)
    • Stored Value Solutions
    • PayPal (express and pro)
    • Authorize.net
    • Alliance Data Systems
  • Management of development personnel in daily activities and knowledge growth
  • Establishing long terms goals and aligning project to those goals as much as possible
  • Began establishing work flow to include unit testing and continuous integration
Keywords Utilized
  • PHP
  • Java
  • SQL
  • MVC: Custom framework, Symfony
  • ORM: Custom framework, Propel
  • PHPUnit
  • X/HTML
  • XML
  • XSLT
  • XPATH
  • SOAP
  • JavaScript
  • CSS
  • Apache
  • PostgreSQL
  • Manhattan Associates WM
  • Subversion

Wieck Media - Web Application Developer ( wieck.com )

June 2005 - February 2007

Lead of a small development team (3 person max) providing new development and support for digital newsrooms and supporting back-office applications. I was hired to, and single handedly, bootstrapped the entire technology stack to transition from Dataphor/D4 to an analogous PHP oriented ecosystem.

  • Championed the development of an MVC application framework for consistent, quality driven web-applications.
  • Began instituting software development best practices in regards to documentation and source code version control.
  • Primarily responsible for the following work:
    • Automated image preparation and meta data management
    • Back-office application for image and press release management
    • HTML email distribution and click-through tracking
    • Toyota Pressroom
    • Autodeadline.com.au
    • Australian Customs Video Database
    • Bikedeadline.com.au
    • Williams F1 Photography
  • Configured and maintained deployment servers (MAMP)
  • Implemented build system from Subversion repository and PHP CLI application for maintenance and upgrade activities
Keywords Utilized
  • PHP
  • SQL
  • MVC: Custom framework
  • X/HTML
  • JavaScript
  • CSS
  • Image Magick
  • GD
  • Exif
  • XMP
  • Apache
  • OSX Server
  • MySQL
  • Subversion

Archose Systems, LLC - Founder/CEO ( archose.com/portfolio )

July 2002 - Present

Complete management of business processes, finances, and development. Archose Systems provides web-based application development, computer sales, and network installations to small business.

Currently the focus is on web site development and hosting.

Keywords Utilized
  • PHP
  • MVC: Custom framework, Symfony, Code Ignitor
  • X/HTML
  • CSS
  • XML
  • XSLT
  • XPath
  • SQL
  • Bash
  • JavaScript
  • Templates: Smarty, Twig
  • Odin (Plesk) Control Panel
  • Apache
  • Bind
  • DRBD
  • Linux MD
  • Postfix
  • MySQL
  • SQLite
  • ORM: Propel
  • Kernel-based Virtual Machine (KVM)
  • QEMU
  • Adobe Photoshop
  • Subversion
  • Git
  • Atlassian Bitbucket
  • ... ongoing ...

Nortel Networks - Documentation Assistant

March 2000 - December 2000

Responsible for creation of documentation graphics and format conversion. Additional work includes project web page development and maintenance.

Keywords Utilized
  • X/HTML
  • XML
  • SGML
  • JavaScript
  • Adobe Photoshop
  • Adobe Illustrator
References

I can provide a number of references upon request, and I encourage review of my LinkedIn recommendations.

Education
May 2006 Southern Methodist University BBA Information Technology and Operations Management GPA 3.4
May 2006 Southern Methodist University BA Computer Science GPA 3.5
General Knowledge/Experience
  • Programming Languages
    • PHP
    • †‡ Python
    • † JavaScript
    • † C/C++/Objective-C
    • ‡ Go
    • ‡ Rust
  • Programming Concepts
    • Object Oriented Programming (OOP)
    • Model-View-Controller (MVC)
    • Object Relational Mapping (ORM)
    • Design Patterns
    • Version Control
    • REST
    • Unit Testing
    • Test Driven Development
    • Dependency Injection
    • Message Queues
    • Database Migrations
    • Fixtures
  • Standards
    • HTTP 1.1
    • XML
    • XSLT
    • XPATH
    • XML-RPC
    • SOAP
    • X/HTML 4.1
    • CSS 1-3
    • PSR-*
    • SNMP
  • Tooling
    • Git
    • Subversion
    • CVS (please stop)
    • Composer
    • Ansible
    • Vagrant
    • Atlassian Crucible + Fish Eye
    • Atlassian Stash
  • Project Management
    • Atlassian JIRA
    • Atlassian BitBucket
    • GitLab
    • vTiger (OSS fork of Sugar CRM)
    • Sugar CRM
    • Trac
  • Production Ecosystem
    • MySQL
    • PostgreSQL
    • Oracle 11g
    • Monit
    • Cacti
    • Bind
    • Memcache
    • Statsd
    • Splunk
    • Grafana
  • Web Application Architecture
    • Web Service APIs
    • N-tier design
    • Horizontal scaling
    • Load balancing: Proxy, DNS, DSR
    • OWASP best practices
    • PCI Compliance
    • Caching
    • Service Oriented Architecture (SOA)
  • Networking
    • Mikrotik
    • Cisco (IOS, NXOS)
    • Arista
    • OSI Model
    • VLAN
    • VRF
    • IP
  • System Operation
    • Linux (Debian flavors mostly)
    • RAID
    • SNMP
    • KVM
    • LXC
    • DRBD
    • iSCSI

† While I've used this language in various situations, I would not pretend to be competent enough with it to bootstrap anything serious. Consider this a passing familiarity.

‡ I desire to learn and use this language in practice.

Odds and Ends

I force system administration on myself via hosting and developing things through Archose Systems, A company I've operated since college. This puts me inline to production workloads which forces operational thinking from the ground up. I also tend to make everything in this space more complication that it needs to be for the purpose of exploration and experience.

I want to see humanity colonize the stars. I'm ecstatic Elon Musk is forging ahead in this endeavor. I would gladly board the first colony ship to Mars.

I host board game nights regularly, and made a system for organizing them: Self-Organizing Game Nights.

I am trying to start a board game café in Dallas, some more on that at Tabletop Initiative (enthusiastic investors welcome).