Core Skills

Focusing on React.js and it’s associated middleware while keeping my C# chops with .NET Core microservices on the back-end. This is the usual acronym soup for a Microsoft stack web developer, these are the technologies I use regularly in my projects.

React.js | Webpack 4

Wide acceptance of the React.js one-way binding is something that fundamentally changed the way we approach projects. Sharing a single source of state across components via properties and managing the lifecycle can get very complicated, but results in high performance applications. The React.js and Webpack repositories are fast-moving targets and it's important to stay on top of versions and not always leap off the bleeding-edge.

ES6 | JSX

I'll be honest the Fat Arrow and what it does to "this" made my head spin, it was hard to un-learn C# when working so much with Javascript in modern web development. Realistically, with tooling and so many resources on the internet, we don't need to know exactly what "__proto__" is doing behind the scenes in order to quickly make good websites. Combining React.js with APIs, we can leverage a Separation of Concerns that allows us to develop small pieces that aren't complicated on their own, but together make extraordinary products.

TypeScript

Recently I've worked on projects that transpiled TypeScript into ES for the browser. I prefer JSX because many of the third-party React.js components are written in it and there seems to be more examples and tutorials out there for JSX. It's no fun chasing down missing type libraries when you get an error like: Type 'Readonly<any>>' is not assignable. Yeah, you know.

Core Compentencies

I draw on core skills for Html, Css, and Javascript every single day. However, with React.js as the backbone, I find that I don't use jQuery as much anymore. It would be fun to always use the latest gee-whiz Css transitions and make every section slide in using a parallax technique, but usually we’re striving to make rational UX and create highly-available websites. I try to keep my code tidy and readable. I understand that I’m not usually going to be the last person to work on a project, so it has to be logical and intuitive.

Responsive Web Design

Another core competency is building to RWD best practices. There is always a new technique and browsers continue to challenge us with inconsistencies. I’m excited about the Accelerated Mobile Pages (AMP) project from Google and I think there are ways to incorporate some of those concepts into standard development to make highly efficient, quick loading sites.

Sass | Bootstrap

For front-end developers, templating frameworks such as Bootstrap and Css pre-processors like Sass have forever changed the way projects are approached. We frequently work with designers now who build to the Bootstrap grids and every site we create seems to start with “container-fluid”. I require that even small projects are scaffolded with Sass to make them efficient and maintainable.

Microsoft .NET Core | C#

I write C# code for building out back-end components. All of the microservices that we developed at Epiq were written using .NET Core. Even the React.js apps were hosted inside Core applications to handle authentication and APIs.

.NET MVC | Razor

In the MVC world I used Razor template markup for views. I’ve been more focused on React.js lately, so it’s been a while since I’ve been into a true Microsoft MVC project, but I’m happy that WebForms is finally a thing of the past.

Git | Photoshop | Soft Skills | Agile

For source control I’m skilled with Git and had a touch of TFS a few years back. I regularly use Visual Studio, prefer Chrome over Firefox and can be pretty handy with Photoshop. I'm a fan of Agile processes, but I've been told that what passed for Agile at my recent employer wasn't how it was "supposed" to work. I'm looking forward to doing Scrum/Agile the right way!

Pick One

Your first observation is going to be something like "For cripes sake, pick one!" Yes, I know my resume seems a bit schizophrenic. Front-end or back-end developer? My passion is front-end work, down to the pixels making everything look and function perfectly. This includes my best friend SASS and a lot of javascript with MV* frameworks. There is a sort of a middle area now where it's not quite back-end, but it's not purely front-end.
And, yes I've done a bunch of pure back-end also. Ideally, I spend a sprint working on a .NET Core microservice and then the next few sprints wiring it to an awesome UI using React.js.

Recent Projects

I've been fortunate to work on outstanding teams and consider all of my accomplishments as group efforts. Several of the projects listed below were ones where I was the lead or sole developer.

.NET Core Microservices

 Fall 2018 

Worked on a small team that developed .NET Core microservices for a variety of internal applications. The projects were heavily scaffolded by our senior developer, so I can't take credit for most of the heavy lifting. However, I worked on a variety of tasks to add new functionality including adding business logic, and building API controllers. I developed build definitions with VSTS, and managed deployments using Octopus. The services were deployed into VMs, and we were starting to go down a path of preparing them for containers such as Docker.

Internal Client Management Page

 Fall 2018 

A simple skinning of React-Table.js from a Material Design based mockup, this was a welcome departure from strictly back-end API development and got me back into React.js and Sass work.

Also: Redux, React Router

Grand Canyon Association

 Spring 2017 

Acting as the lead developer, this was a large website rebuild using Umbraco as the core framework. Working closely with content strategists and designers this was a complete rebuild of an existing website. I was able to utilize all my skills from core-modelling and architecture and through to module creation and rendering. Many of the base objects and components from this build went into a common library for future Umbraco projects.

View Live Site

Sharp Health Plan

 Fall 2015 

The entire team was involved in this enterprise scale build-out of a new website for Sharp Health Plan using the Sitefinity CMS. My contributions included everything from developing custom modules to managing the deployment into Azure. The core of the front-end was built by a peer, but I participated in quite a bit of Html, Css and Sass development and continued to contribute to this project as on-going maintenance. We published from Visual Studio into Azure and maintained a "git-flow-workflow" source control project.

View Live Site

Persil ProClean

 Spring 2017 

I've worked on a variety of projects for Persil ProClean including developing a fully-responsive Super Bowl LI landing page to support social media and influencer campaigns. The landing pages we build in-house are iFramed into the clients Adobe CQ5 system and make use of customized scripts that allow them to be fully responsive even within an iFrame!

Aetna Group Insurance

 August 2016 

A multi-site Umbraco project that allows the client to quickly spin-up microsites that are used for marketing of Group Insurance products. This was one of our first large builds that started with a third-party package installed on the core Umbraco framework, and ended up being used as a best-practice baseline project.

WeeWork for Good

 August 2013 

One of the first Umbraco projects that I worked on, this is more-or-less a simple CMS structure where back-end properties are used to render specific content areas rather than true ad-hoc site building. I worked very closely with the designer, and it was a little complicated at times because each page required a slightly different template.


About Me

I've been working as a developer for a few years...

2017 — 2018

Epiq

Coming in on the ground-floor of Epiq's Modernization Project, I was hired into a Scrum team that focused on building microservices. We followed Domain Driven principles and churned out APIs and services that were intended to be consumed by a variety of business-line applications. Early in the summer of 2018, our team jumped into front-end projects using React.js with .Net Core back-end for authentication. We used Visual Studio Team Services online for build definitions and Octopus for deployments.

2013 — 2017

Sitewire

Working for an agency allowed me to contribute to a wide variety of projects, each one unique and challenging in their own way. Most of my time with Sitewire, I focused my energy into front-end development, but still retained the usual survival skills as a full-stack developer. I was introduced to the Umbraco CMS framework and really become enamored with using it as a rapid development tool for any size of website.

2001 — 2013

Apollo Group

I started with Apollo Group working on student-facing websites for the University of Phoenix and eventually landed in the Identity Management group. Working with a small team of dedicated designers, I was introduced to User Experience and Responsive UI concepts that I continue to draw from. One of the aspects I enjoyed most was working with a tight-knit team, hashing out aspects of the technical design and working towards developing an outstanding user experience.

1999 — 2001

The Alexander Group

Duties focused on integration of proprietary sales management tool and included heavy SQL and PL-SQL scripting. In 2000, I moved into a new startup division for a SaaS product being developed called SalesLobby.com and returned to programming, working with Visual Basic, ASP and VBScript.

1997 — 1999

Platinum Technology

Becoming a “road warrior”, I traveled around the United States installing and providing training for software designed to help Fortune 500 companies complete due-diligence assessments of their financial records prior to Y2K.

1997 — 1998

Sun Health

Working for Sun Health's Transcription Department. I supported hardware and software for full-time telecommuting transcriptionists. I continued to learn about software development on my own time and started coding a proof-of-concept client/server application using Visual Basic 5 that would allow transcriptionists to work completely off the grid and transmit completed files back to the hospital securely via TCP. I didn’t know it at the time, but I was essentially building a VPN.

Other Things

Here are some other things that I've done, but don't promote them too widely.

Umbraco

I actually resisted my first Umbraco project because I felt it was going to send me down a path of being a “CMS jockey”. Resistance quickly changed to evangelism! Umbraco is a bare-bones open-source framework that is truly .Net MVC based. It’s not MVC bolted on top of WebForms like some other .Net CMS products. If you need a custom controller action and associated views, or a RESTful api, then go ahead and build it. Umbraco doesn’t care. A while back I did a bunch of work modifying a third-party framework that has become a baseline “starter kit” for new builds that allows me to quickly spin-up new sites.

Angular 1.6

I haven’t had the privilege of working on many Angular projects, so my skills are rated at “survival” and was limited to AngularJS 1.x. I’m happy to dive into Angular 2.0 (and embrace TypeScript) but it's been 18 months since I've travelled in the MVVM world.

Microsoft SQL Server | Code First

The truth is that I used to do quite a bit of database work, writing stored procedures, building complex DTS packages, but please don’t tell anyone. Lately, for writing data access, it’s so much easier to take a Code First approach using Entity Framework or other ORMs. So, while it’s not something that I seek out, it's worth including it for completeness. I feel that despite the joy of finding “3rd normal”, the old-school data schema design with all the CRUD in stored procedures is a thing of the past.

Elevator Pitch

We don't really have a lot of elevators in the Phoenix area, so maybe this is the "waiting in line for coffee" pitch. Just a few bullet points that I'd like you to remember about me.

Pixels matter, unless they don't

I'm a perfectionist and it's always a challenge to declare a project "complete" over "perfect".

Purposeful engineer

I love threading the needle between what a developer wants to throw into a product versus what the requirements actually request.

Reuse, Repeat

Of all the programming principles "Don't Repeat Yourself" (DRY) is my favorite and I think it's important to spend the time up front to build reusable components.

Better because of the team

We're only as good as our team. I know some stuff, but I'll never pretend to know everything.

Consensus builder

For some reason I seem to have a knack for bringing ideas together and running architecture and core modelling sessions.

Oxford Comma

Most shops keep their developers in a place that is always referred to as "The Cave". I prefer sunlight and I'm the Unicorn that you'll use to communicate with clients and business units about architecture, core modelling, and development processes.