Chris Johnson
VP, Engineering at Phase2 Technology
I've been the VP of Engineering at Phase2 since 2016. I lead Phase2's development staff consisting of both full time employees and contractors in addition to executing work for clients. This has included high profile projects for 2 of the 3 branches of the federal government, a platform for a state technology organization supporting 70+ state agencies, a major Linux vendor, a national health advice service for a foreign country, and a 15+ billion dollar integrated health network.
Over my career I've successfully delivered projects with a wide variety of technologies across the development stack.
Recent Technologies
- Cloud Providers: AWS, Azure, Google
- Languages: PHP, TypeScript, Javascript, HTML, CSS, SQL
- Databases: MySQL, Redis
- Version Control: Git
- Other: Docker, NodeJS, Kubernetes, GKE, GitHub, Git, Azure Service Bus, Vite, Storybook, Web Components, Varnish, Memcached, Solr, Apache, Nginx, Linux
Historical Technologies
- Applications: Apache Modules, Squid
- Languages: C, Perl
- Databases: Oracle, MongoDB
- Version Control: CVS, Subversion, Perforce
- Other: HPUX, Jenkins, BitBucket, GitLab
I've schwartzian transformed, walked a stack instead of recursed, got run over by Big O on a linear search and fixed it by going binary. I regularly express, left outer join, connect by and select sum over partition by when necessary. I've loaded millions of rows and figured out how to throw them away while maintaining useful summaries and created a flattened view of a hierarchical data structure with a page of PL/SQL. I've written Tetris in Lingo, generic form processors in PHP and can still read things I wrote in Perl years ago. I've created user interfaces and admin interfaces and figured out ways to turn a template engine into a self documenting database of configuration options.
I've created output for Quark, survived upgrading to 10G and refactored away a materialized view. I've cached at multiple levels, transformed HTML for Excel and converted more XML than I care to think about. I've fetched with LWP and realized I needed a better architecture as that one little script spread like a virus.
I've figured out ways for anyone to update the content, had the system taken offline during a demo and dealt directly with the customer when it was my fault. I've put array references in hash values, taught others what I've figured out and will automate as often as I can.
I previously worked for a media company for a decade on all types of Web sites and browser based utilities and I've been sent to the other side of the globe to help a customer launch.