I'm a Senior Software Engineer/Solutions Architect with broad middle tier experience connecting systems in enterprise architectures to provide business solutions based on behavior.
I've worked across the full stack of technologies in an enterprise. From automating low level network elements, to connecting web services developed against disperate technolgies such as .NET's WCF (soap and json), WEBAPI, nodejs rest web services, and many variations in-between. I like to approach system design from a customer perspective. Because everything we are doing in a system should be with an eye to the consumer of that system. After all without them, whatever you make isn't correct.
I believe that right has a context. Technical correctness outside of implementation need is still not right
- BDD, TDD, Scrum, XP
- Continuous Integration
- Paired Programming
- Object Oriented Programming
- Design Patterns
- Enterprise Architecture
- Distributed processing
- High availability
- Windows Containers
- Linux Containers
- .NET Framework
- .NET Core Framework
- Bower, Gulp, Grunt, NPM
- Open Api Spec
- ELK Stack (ElasticSearch,LogStash,Kibana)
Open Source Projects
Title: LEAD, IT Development
- Provided guidance on Microservice architecture implementation patterns
- Mentored junior developers on software design and patterns
- Introduced Swagger (Open API web visualization in .NET) for assiting with API documentation and contract standards
- Provided Architectecure oversight for REST API design. Encouraged discussions of the Behavior at play vs the specific implementation detail. Resulting in api designs that are more Domain driven
- Created Build CI and Release Automation patterns inside of TFS
- ASP.NET MVC 5 w/ npm prebuild
- .NET CORE 1.x and 2.x
- Migrated projects from TFSVC to TFS Git repositories
- Created pull request work flows and Policies
- Provided distilled training docs via a WIKI, and conducted brown bags to educate the developers.
- Created a solution to handle URL Link generation between internal infrastructure that communicates through an IBM Datapower appliance. Prior to this, another team was writing custom code for every endpoint that works through the gateway to reverse-rewrite the urls correctly.
- Introduced pattern for structured JSON logging to be consumed by an existing ELK stack that exists in the enterprise but no one was using. Migrating away from ADO.NET appenders for every applications logging. Resulting a far more scalable approach to application deployment
- Created, maintained, and improved a common library of behavior for the services that provided
- Common JSON logging structure definition
- Common middleware
- CoordinationId (allows service -> service calls to be tracked in logging)
- Reverse Proxy awareness for URL Self link generation
- Custom service -> service authentication token
- Distributed and Local memory caching
01/2013 - 05/2017: Getty Images API
Title: Senior Software Engineer
- Investigated / Planned / Executed on technology solutions for the publicly facing Getty Images API.
- Technically mentored team members on code implementation forces and behaviors.
- Discuss technical and behavioral forces with stakeholders to ensure solutions met the need of the request.
- Created SDK Strategy and implemented via BDD
- Migrated a monolithic api service into micro service verticles to speed up deployment, testing, isolate changes by behavior.
- Created solutions for development
- Scripts to automate creation of a Certificate Authority and SAN certificates to aid in SSL testing
- Updates to the current build systems to address new technologies being added to the architecture. Updating deployment automation to accomodate for new dependencies
Aug 2011 - Dec 2012: Parametric Portfolio Associates
Senior Software Engineer
2007-2011: Microsoft 2007-2011 (Atlas Acquired)
2004 - 2007: Atlas Solutions [^n]
MSN Search: Software Engineer in Test
Natural User Interface, Measurement and Analysis Team
- SDET I
- SDET II