It's John C!

Hello I'm John Christian, and I'm a Javascript/React/MERN web developer at your service!

Myself, John C!
Upwork Profile Icon
Linkedin Profile Icon

I have over seven years of highly technical, in-depth industry experience!

I've spent many years of my career developing automated testing frameworks and infrastructure systems, acquiring advanced knowledge of scripting languages such as Perl and Python, on UNIX systems (Solaris, Linux, and others) that power the web.

Now with the advent of HTML5, CSS3 and modern Javascript, the web technology environment has matured to the point where it's a really exciting place to be, so I've decided to branch out from my past in infrastructural scripting, to work with the exciting new technology standards of the modern web.

I look forward to providing my in-depth skill and knowledge of scripting language technologies and software systems, to provide my clients with fantastic digital experiences on the web, of uncommon quality!



React/Firebase - simple Amazon clone with working payments via Stripe

This is a simple Amazon clone built in React.js, using Firebase account creation, and Stripe payment processing, includes order history saved to the Firebase data store.

React/Firebase - simple Spotify clone with authentication and API

This is a simple Spotify clone with authentication via Spotify login, also pulls data from the Spotify API. This was done in React and hosted on Firebase.

Trillo Travel Planning App - HTML/CSS Mockup

A page from a fictional Travel Planning App, fully responsive, with some nice CSS animations, too!

Nexter Real Estate Agency - HTML/CSS Mockup

The main page from a fictional real estate agency, Nexter. Fully responsive layout!

Natours Adventure Travel - HTML/CSS Mockup

A pretty intensive layout and responsive design, for a fictional Adventure Travel agency, Natours. Fully responsive and with animated elements!

AppStack Dashboard - HTML/CSS Mockup

As an exercise, I copied the AppStack Dashboard in HTML/CSS. This particular example is non-responsive.

Keen Dashboard - HTML/CSS Mockup

This is a clone of another application Dashboard, an exercise in HTML/CSS. Also non-responsive.


Employment History

TechnicolorQA Engineer (Consulting)(11/2012 - 5/2013)
  • Wrote automated test libraries for interacting with REST APIs for a streaming media application, involving customer and administrative use cases.
  • Test case development was done using a pretty full featured library developed by Nightmedia. (
Rackspace HostingQA Automation Engineer (Consulting)(2/2012 - 11/2012)
  • Wrote automated test libraries for interacting with REST APIs for managing Cloud objects such as Servers, DNS, including a websocket client running in a separate thread, queueing up server responses to be passed to automated test cases.
  • Wrote a smoke test for a Cloud services REST API using python unittest2, first run with the Nose python test framework, then added multi-threaded support using Pytest, reducing runtime by about 1/10th of original synchronous time.
  • Wrote Selenium automated tests for cloud-based DNS record management and Server configuration.
  • Configured tests to work in a SCons/buildbot, then SCons/Jenkins based CI environment.
EMC/GreenplumRelease Engineer (Consulting)(02/2011 - 11/2011)
  • Wrote tools in Python for Release Engineering and QA infrastructure often using Django, as well as RESTful/XMLRPC services provided by the Jira bug tracking system and the Zutubi Pulse Continuous Integration environment.
  • Contributed additional test framework libraries to be used by QA Engineers.
  • Maintained a build framework for a PostgreSQL-based database product, using Python and Shell scripts.
  • Administered a Zutubi Pulse build and test framework environment with builds across several platforms including RHEL, SuSe, Solaris, MacOS X, and Windows
  • Coordinated patch releases and release candidate qualifications for regular and customer-specific builds.
Yahoo!, IncSr. QA Test Development Engineer (Consulting)(4/2010 - 12/2010)
  • Served as automated test designer and developer for the GMS (Grid Management System) project, a cluster management system that controlled Hadoop MapReduce and Oozie proprietary workflows in addition to hardware/system metrics. The application consisted of a Tomcat RESTful application service and an Apache/PHP web front end, in addition to Oracle and HBase data storage facilities.
Contributions include:
  • Developed test suites for new features based on Product Management specifications for the GMS (Grid Management System) project.
  • Wrote Perl module libraries to allow test cases to be written quickly and efficiently in an Object Oriented format.
  • Wrote automated suites to interface with Hudson CI and a proprietary test result logging application, in a Test::More format.Contribution Bullet
  • Coordinated the GMS 2.0 production release, working with Operations, Dev and QA.
Altair Engineering / PBS GridWorks DivisionQA Engineer / Tools Developer(6/2005 - 04/2009)
  • Developed new test outlines for new PBS GridWorks features, and wrote a distributed automated testing framework along with 3 other QA Engineers.
Contributions include:
  • Designed and developed distributed automated test framework from scratch using Perl, MySQL, and PHP.
  • Performed testing for customer-specific patch and feature releases, including LRZ, NASA Goddard, and Cray, created facsimile test environments in-house when possible, or negotiated use of customer test system time.
  • Participated in the troubleshooting of intermittent customer bugs, sometimes re-creating customer environments in-house, sometimes an iterative process with a close dialogue with customer support.
  • Audited new PBS features from use case/requirements phases to design document to release candidate testing.
  • Performed delegation for the execution of manual tests, as well as technical help/direction to Bangalore QA department.
  • Duties during a release cycle (typically occurring over 4-month cycles) consisted of auditing the requirements/design of up to 3 new features, as well as writing automation for completed test specifications of the previous cycle, often for 2-to-3 features.
Postini, IncRelease Engineer / Tools Developer(11/15/2003 - 3/31/2005)
  • Wrote and maintained existing tools to facilitate releng operations, as well as several new ones.
Contributions include:
  • Designed and developed a new distributed system for build and test task management across the in-house dedicated build and test system, in Perl using the POE framework, utilizing XML messaging over secure socket connections.
  • Designed and developed a new framework for project branch tracking, using Perl and MySQL.
  • Vastly improved the branch merging utility I'd written in my previous stint, integrating it with the project branch tracking utility and streamlining the web interface to provide much more process automation.
  • Participated in the troubleshooting and modification of automated tests.
  • Developed various web-based tools for the tracking of release processes.
Movius, Inc.Configuration Manager(4/2001 - 4/2002)
  • Helped develop product release cycle. Wrote tools to facilitate. Served several software development teams, a total of 15 developers, building the proprietary Java/C++ code base into packaged releases with 3rd-party tools including JBoss, Samba, MySQL. Contributions include:
Contributions include:
  • Developed installer with packaging/dependency strategy from scratch in Perl, deploying and configuring the entire product environment from a curses-based interface.
  • Developed installer configuration strategy from scratch, including a macro language to allow developers to specify configuration format in a very intuitive way.
  • Wrote unit tests with JUnit and perl, providing coverage of supported configurations in a multi-node test-bed environment.
  • Wrote entire build automation framework from scratch, using SVN, shell, ant and gmake.
  • Created cluster deployment, failover strategy and installer scripts, using IBM middleware.
Postini, Inc.Release Engineer / Tools Developer(11/2000 - 2/2001)
  • Maintained CVS source tree and release schedule which involved merges that needed to happen on a weekly basis, amongst 4 or more active project branches being actively used by 15 developers.
Contributions include:
  • Created first revision of a collaborative merge utility that would later be greatly improved upon during my second stint at Postini.
  • Created web-based tools for project branch tracking, in Perl and MySQL.
  • Oversaw release processes from early candidate to operations handoff.
Arzoo, Inc.Release Engineer(4/1999 - 10/2000)
  • Learned the role of Release Engineer on-the-fly and actively researched best practices, making informed proposals to development and operations teams.
  • Maintained CVS source tree and existing build/release system.
  • Eventually rewrote build system in Perl with a new system designed by myself with the input of development and operations, which involved tying together disparate build components to be run as a single command across several architectures including Solaris, Red Hat Linux, and Cygwin.