Alex Johnson http://www.ionize.org/alex/ http://www.linkedin.com/in/alexmjohnson alex@ionize.org 360-580-0248 Olympia, WA, USA --- Work Experience ----------------------------------------------------------- Chaotic Moon ------------------------- www.chaoticmoon.com Senior Architect (April 2013 - present) == Responsibilities and Accomplishments == - Architected and led a ten person team to develop a multi-platform commerce system for a large auto manufacturer. The system leverages WebLogic, Oracle Coherence and uses WebSockets for real-time communication between the iOS, Android, web applications and the in-vehicle navigation system. Solr was integrated to provide geospatial search functionality. - Developed a prototype content ingestion platform for a Flipboard-like experience for a major smartphone manufacturer. The system ingested content from RSS and Twitter, scored content for category relevancy and organized the content into "magazines". The system exposed a RESTful API, used AMQP for asynchronous worker job dispatching and was deployed to Heroku for simple deployment and scaling. - Developed media player demo for major automotive component supplier using the Leap Motion motion-sensing controller. - Helped shape, define and implement engineering process improvements such as standardized issue management, versioning practices and continuous integration throughout the organization. These process improvements helped the engineering organization scale from 15+ engineers to 40+. The Daily ------------------------- www.thedaily.com Manager of Engineering (September 2012 - March 2013) == Responsibilities and Accomplishments == - Provided technical leadership and architecture for four-member server side development team - Added support for 8.9" Kindle Fire tablets to The Daily's content delivery and subscription processing systems - Successfully migrated application error collection from an email-per-error model to a log aggregator (Loggly) - Began development of a multi-tenant iOS/Android push notification service using Node.js and MongoDB. The service exposed a RESTful API so external systems could manage their data. Crowd Fusion (now known as Ceros) ------------------------- www.crowdfusion.com www.ceros.com Lead Architect (August 2010 - September 2012) == Responsibilities and Accomplishments == - Serve as the lead developer and solutions architect responsible for Crowd Fusion's implementation for The Daily (http://thedaily.com/) - Co-designed and developed the Apple iTunes subscription verification/processing integration for The Daily - the first app built to leverage the iTunes subscription infrastructure - Architected and lead development of The Daily Android application's subscription billing integration with Verizon Wireless - Architected and lead development of The Daily Facebook application - Architected and lead development of the necessary content management system changes to publish content for devices of varying platforms, form-factors and pixel densities, including The Daily iPhone and Android phone applications as well as high-resolution image support for the new iPad with Retina display - Architected and lead development of adding Google Cloud to Device Messaging (C2DM) push notification support to the Crowd Fusion mobile push notifications plugin - Responsible for coordinating and executing ongoing maintanence and improvements for all facets of the server-side components of The Daily, including CMS functionality for The Daily editorial staff, content JSON generation, multi-publication support, multi-locale device support, ingesting content from AP and other wires sources and much, much more - Imported, cleaned, processed and manipulated content from several content partners' APIs and RSS feeds (Loud3r, Daylife, IGN, etc.) - Imported product/price data from compressed archives and live APIs - Developed admin and content previewer interfaces the for Ceros 5 (Fusion) product using Backbone.js and RESTful server APIs CodeSmart Inc. ------------------------- www.codesmartinc.com Senior Software Consultant (March 2010 - August 2010) == Responsibilities == - Develop Java Server Pages (JSP) user interface for z/OS mainframe-based terminal application utilizing screen-scraping technologies - Mentor other developers on proper use of Spring Framework and multi-threaded Java applications - Design and implement software to customer specifications - Enhance and optimize existing customer applications - Write documentation for new and existing applications F5 Networks ------------------------- www.f5.com Senior Software Engineer (March 2008 - March 2010) == Responsibilities == - Develop and maintain the management GUI for the BIG-IP application delivery controller. - Serve as the GUI performance/scalability expert within F5, analyzing and eliminating performance bottlenecks. == Notable Accomplishments == - Designed and implemented enhancements to internal GUI messaging and in-browser caching that dramatically improved GUI performance (up to two orders of magnitude in extreme cases). - Upgraded the packages of Java, httpd and Tomcat that are installed on the BIG-IP to new major versions. - Markedly improved GUI responsiveness over low-bandwidth/high-latency network connections. SafeHarbor Technology Corporation ------------------------- www.safeharbor.com Systems Architect (March 2007 - March 2008) == Responsibilities == - Design and oversee the software/hardware/infrastructure direction for the business - Investigate and recommend 3rd party products and vendors to solve business needs - Provide technical leadership of the development organization - Develop core software that will be reused throughout multiple systems within the business == Notable Accomplishments == - Developed Ruby module to allow ActiveRecord-style access to SafeHarbor data/content management system's web service. The Ruby module handles all complexities of communicating with the Java-based system and allows Ruby developers to code in Ruby's simple, expressive style. - Integrated the Google search appliance platform into SafeHarbor data/content management system. Additional Java classes and XSLT files were added to the data/content management system to support publishing content to the search appliance. - Developed a REST interface for SafeHarbor data/content management system's web service. This enabled easy integration with other applications written in other languages such as Ruby and PHP. The REST interface was written in Java as part of the data/content management system web service. HomeSavvi --------------------------------------------- www.homesavvi.com Lead Software Engineer (December 2006 - March 2007) == Responsibilities == - Develop software to support the public facing web applications of the business - Provide consultative input on technology direction, 3rd party products and vendors - Perform basic server administration/configuration, especially related to application deployment == Notable Accomplishments == - Designed and developed a consumer-facing website based on the Drupal content management system which allows users to create content about their home remodeling experiences. - Developed several deploy/rollback shell scripts to migrate code and data between production, test and development environments. SafeHarbor Technology Corporation ------------------------- www.safeharbor.com Lead Software Engineer (July 1998 - November 2006) == Responsibilities == - Designed and developed software to support business needs - Managed team of four software engineers - Trained developers on new technologies and techniques == Notable Accomplishments == - Designed, developed and implemented extensible data/content management system. Additional details about the system and its development: - The main component of the management sub-system, a web service, handled data persistence and content publication. The web service had multiple interfaces (SOAP, Hessian, Spring HttpInvoker) for flexible access by different clients. All web service calls were stateless, enabling effortless horizontal scaleability. The web service generated SQL compatible with SQL Server and MySQL. The web service was written in Java and used the Spring Framework to route requests and inject dependencies. - Developed a multi-tenant web application framework using Java Servlets, JSP, Velocity and the Spring framework. The scope of the delivery framework included: delivering documents, content search, browsing hierarchies, case management, user management, surveys, acknowledgements, access control, activity logging, exception handling and much more. - Integrated Autonomy search engine (versions 3, 4 and 5) to provide search services for the delivery framework. - Designed and implemented client data integrations utilizing numerous methods including: SOAP Web Services, custom XML-over-HTTP specifications, custom HTTP request/response APIs and SFTP upload/download. Built robust integrations using transactional concepts such as: caching XML to local files, graceful failure/roll back and logging. - Implemented single sign-on SAML integration from the intranet of a large bank to several web sites hosted by SafeHarbor. Developed the SAML receiver and integrated it with the SafeHarbor web application framework. SAML assertions were signed with XML Signature to prevent "man in the middle" attacks and were defined to have very small time windows of validity to prevent "replay" attacks. Hoquiam/Aberdeen School Districts ------------------------- Art/Photography Vocational Board Member (2002 - 2008) - Serve on a local school district advisory board where members give input and advice on how to integrate art, photography and technology into the schools' curriculum. Technology Camp Administrator (1996 - 2005) - Helped administer and orchestrate an annual, week long summer camp for local 7th-12th grade students. The camp exposed students to various educational subject matter by enabling them to create video, audio, web, print and other projects in a fun, fast-paced learning environment. --- Other Projects ------------------------------------------------------------ SpotWord -------------------------------------------------- http://www.colorandlogic.com/spotword (2014) - Developed SpotWord - a simple iOS application that allows users to search for words containing, starting with or ending with a search term. The application also allows searching for a partial anagram (words containing the letters of the search term in any order). Partial anagrams are difficult to support on a mobile device with constrained resources, but I developed a way to perform these queries efficiently enough by using a word histogram technique. - Source code can be found at: https://bitbucket.org/alexmjohnson/substring Crafted by Us --------------------------------------------- http://www.craftedby.us/ (November 2006 - present) - Developed Crafted by Us web site which is both the delivery vehicle for the Crafted by Us video podcast and the personal blog for the author. Integrated several third party web services such as Google Analytics, Google AdSense, FeedBurner and iTunes Store listings. The site is powered by the Crowd Fusion content management system. - Built an online store to sell products featured in Crafted by Us podcasts using the Magento open source e-commerce package. - Developed a custom point of sale interface for the Crafted by Us "brick and mortar" retail shop. The interface was designed to be fast and efficient for ringing up customer purchases in the store. The interface integrates with the Magneto product catalog and purchasing system to provide one cohesive system for inventory and accounting. --- Proficient in ------------------------------------------------------------- Java - Servlets, JSP, JDBC, Spring, Velocity, Ant, JMS, JDOM, JUnit Other languages/frameworks - Go, PHP, JavaScript, Ruby (including Ruby on Rails), Objective-C XML - SAX, DOM, SAML, SOAP, XML/RPC, DTD, XSLT Concepts - Object oriented programming (OOP), Aspect oriented programming (AOP), Java performance tuning Development tools - IntelliJ, Eclipse, NetBeans, Subversion, Git, Perforce, CVS, Java profiling tools, UML Server applications - Apache Httpd and Tomcat, Memcached, Redis, Caucho Resin, JBoss, IBM Websphere, MySQL, Microsoft SQL Server, Solr 3.x, Autonomy DRE (versions 3, 4 and 5) Operating systems/environments - Mac OS X, Linux, Windows, Solaris, Amazon EC2 (AWS cloud), Heroku --- References available upon request ---