Alex Johnson
Alex Johnson
Resume
--- Work Experience -----------------------------------------------------------
CodeSmart Inc. -------------------------
Senior Software Consultant (March 2010 - present)
== Responsibilities ==
- Design and implement software to customer specifications
- Enhance and optimize existing customer applications
- Write documentation for new and existing applications
F5 Networks -------------------------
Senior Software Engineer (March 2008 - March 2010)
== Responsibilities ==
- Develop and maintain the management GUI for the BIG-IP application delivery device.
- 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 -------------------------
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 a Google search appliance into SafeHarbor data/content management system.
- Developed a REST-style 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.
- Led offshore team of developers to build a data import application that handles importing/synchronizing data from external systems into SafeHarbor data/content management system. The import/sync jobs run asynchronously, which allows long-running jobs to be handled gracefully by calling clients so that they do not appear to be frozen.
HomeSavvi ---------------------------------------------
Lead Software Engineer (December 2006 - December 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 deploy/rollback shell scripts to migrate code and data between production, test and development environments.
SafeHarbor Technology Corporation -------------------------
Lead Software Engineer (July 2004 - November 2006)
== Responsibilities ==
- Designed and developed software to support business needs
- Trained developers on new technologies and techniques
== Notable Accomplishments ==
- Co-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.
- Java Message Service (JMS) and hardware load balancer devices were used for inter-server communication to ensure complete server anonymity (no server knew directly about any other server)
- The delivery sub-system, a web application framework, was built using Java Servlets, JSP, Velocity and the Spring framework. Developed for SafeHarbor's web development team to use for client site implementations, the delivery framework was built with multi-tenancy in mind. 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.
Web sites powered by the above technology:
- Performed performance checking/tuning as a regular part of the development process to deliver extremely high performance applications.
- Properly handled character encoding, converting between ASCII, Cp1252, UTF-8 and UCS-2 when interacting with local files, JDBC and XML.
Senior Web Developer (July 1998 - July 2004)
== Responsibilities ==
- Developed web sites for SafeHarbor clients
- Designed and developed core software libraries used across all SafeHarbor web sites
- Collaborated with clients to discover requirements
== Notable Accomplishments ==
- Led and completed migration of the SafeHarbor web application environment from an unsound Microsoft ASP-based solution to a modern, high performance Java EE environment. This enabled the business to engage with much larger clients, substantially increasing revenue while simultaneously reducing operational costs.
- 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. As a result, nearly all events that would have been classified as "failures" went unnoticed to end users.
- 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. SAML assertions 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)
- Served 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 ------------------------------------------------------------
Powwow - iPhone application -------------------------------
(December 2009)
- Developed "Powwow" - an iPhone application for users to wirelessly share contact information and manage their business meetings. The application is a native iPhone app written in Objective-C.
Photoshop "Emailer" panel ---------------------------------
(March 2009)
- Assisted Adobe developers in the development of an Adobe Photoshop CS4 extension that allows users to email open images directly from within Photoshop. The panel is written in Flex and Javascript, and appears in the UI as a native Photoshop palette when installed.
That Song Stuck in my Head --------------------------------
(February 2009)
- Developed "That Song Stuck in my Head" Facebook application for users to track songs stuck in their heads and share them with their friends. Integrated third party web services such as Amazon.com Product Advertising API, Google Analytics and Google AdSense. The site is built in Python with the Django web framework using a MySQL database to store its data.
Crafted by 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 Drupal 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
XML - SAX, DOM, SAML, SOAP, XML/RPC, DTD, XSLT
Other languages/frameworks - Flex, ActionScript, Python, Ruby (including Ruby on Rails), PHP, JavaScript, Objective-C
Concepts - Object oriented programming (OOP), Aspect oriented programming (AOP), Java performance tuning, Design Patterns, User Interface design
Development tools - Eclipse, NetBeans, Subversion, Perforce, CVS, Java profiling tools, UML
Server applications - Caucho Resin, Apache Httpd and Tomcat, JBoss, IBM Websphere, MySQL, Microsoft SQL Server, Autonomy DRE (versions 3, 4 and 5)
Operating systems - Mac OS X, Linux, Windows, Solaris
--- Education -----------------------------------------------------------------
Art Institute of Seattle (August 1996 - August 1998)
- Associate of Arts degree in Multimedia Production with a primary focus on interactive applications