I'm interested in being on a team of smart, effective programmers guided by smart (and preferably Agile)
process and management, who produce results and feel job satisfaction.

The following are the qualities that, over time, I've come to believe are the most vital in a team member:

  1. Intelligent and talented
  2. Thorough and organized
  3. Team-oriented
  4. Habitually exceeds expectations

I've seen other qualifications go either way (degrees, technology experience, etc), but if I know someone who:

  1. has a knack for programming, and is bright enough to learn new technologies and implement them in innovative ways
  2. approaches a problem systematically and knows how to disambiguate requirements
  3. is concerned with the agenda and success of the group as a whole
  4. constantly surprises me with quality I can rely on

...then I know that this person is going to be an integral part of the team's success.

I think I have these qualities (mostly), and in my work they are what I try to "be like."




EricJTurley@gmail.com
(512) 632-6112

13401 Sage Grouse Drive
Austin, TX 78729

Eric J. Turley

Objective

Senior Software Engineer position where I can impact people positively, and also get work done.

Summary

  Thirteen years core Java, distributed, and Swing development. Server-side and front-end.

  I follow mature personal development disciplines. TDD, XP, fail-fast, quality-first, simple and reliable.

  Agile and XP adept, with a talent for solid design, smart process, and intelligent code (re-use, optimization, simplicity)

  Extensive knowledge and experience with patterns, api design, framework technology

  Habitually exceeds expectations

Tools and Technology Experience

Technology

Java, Android, Spring, Swing, JSP, Web Services, REST

Tools

git, Subversion, Perforce, IntelliJ Idea, maven, Ant, Artifactory, JUnit, Jira/Greenhopper, TeamCity, Jenkins

Other

Agile, XP, Tomcat, Linux, Web Frameworks, Velocity, JFreeChart, json

Professional Experience

Spawn Labs - Senior Software Engineer 09/11-present
GameStop's Cloud Gaming Division SpawnLabs' IP: Streaming video games to thin-clients.

    Building the backend services (which support cloud gaming) and the Android client (end-user application).

    Designed and wrote a "Dynamic Firewall Service." Modified iptables in response to REST calls in order to pass traffic between clients and the cloud gaming nodes. (Details)

    Primary developer on Android client for "Gamestick" product. It's an HDMI dongle which streams video/audio via wi-fi and receives bluetooth game controller inputs, sending them to the cloud game node. UI includes game catalog browsing, searching, etc. (Details)

    Wrote a service to check for, download and install android application updates from GameStop servers.(Details)

    Agile leader, trainer, coach.

UTV True Games - Senior Platform Engineer 09/10-08/11
UTV True Games publishing platform

    Architected the portal for UTV Ignition's gaming, publishing and social network site. (Details)

    Designed an SSO solution for our platform, supporting multiple-user-agent authentication. (Details)

    Designed and built a REST service as a client - our service received auth requests, and then as a client, forwarded them to Gamigo's auth service. (Details)

    Best qualified, I volunteered to meet a critical company need and engineered automated deployment for the client-side artifacts build pipeline (patches and installers). (Details)

    Using a Spring LDAP library, wrote a utility to migrate users to a new instance. (Details)

Heatwave Interactive, Inc. - Senior Developer / Platform Engineer 04/10-07/10
Gods and Heroes player-character platform

    The platform is a set of server software, web applications, messaging, and databases which runs along side (and in contact with) the game server. It provides authentication, in-game chat, forums, petition, social connection, heartbeat monitoring, and other services for the players/characters.

    As the first Java developer hire at startup Heatwave, I needed to understand the product acquisition they had made from Perpetual Entertainment, perform an external installation (Details), and prepare the platform for the Gods and Heroes production phase by arranging a development and deployment pipeline.

    Reason for leaving: Company layoffs

Valtech - Senior Consultant (Contract position) 02/10-04/10
Hoover's website - Company Team

    Agile/scrum development of vertical "company" feature slice of Hoover's business intelligence website. Included Spring configuration, jsp and template editing, and service call to custom query. (Details)

    Adaptation of company data queries into a JasperReports pdf document.

Cisco Systems, Inc. - Java Developer (Contract position) 12/09-01/10
Adaptive Security Device Manager (ASDM)

    Create/modify UI controls on the Cisco thick-client ASDM to support new "external ping" feature for troubleshooting Adaptive Security Appliance (ASA) connectivity issues.

The Gossamer Group, Austin, TX - Lead Software Developer 04/06-10/09
"Voyant" Lifetime Financial Planning Application Suite

    I was part of a 4 to 6 person team that designed and implemented a distributed-environment lifetime financial planning application. www.PlanWithVoyant.com

    I designed and built several components of the thick-client Swing product suite, including charts, wizards, reports, recommendations, financial model calculations, and simulations. (Details)

    I was responsible for all of the extensive chart rendering and interaction architecture. It had to be not only performant and feature attractive visuals, but also deal with multiple threads and ui component interactions.

    I implemented the look & feel of the rich client app, including interactive fading popup notifications, custom glossy-buttons, and semi-transparent floating panels showing details from underlying data model. (Details)

    I built the portion of the Spring/Hibernate server-side account management code which allowed users to periodically update their investment balances and view their plan progress (called "Snapshot").

    Reason for leaving: Company layoffs

GTECH Corporation, Austin, TX - Software Developer (Contract position) 04/05-02/06
Enterprise Series Interactive "NetWin" Online Lottery framework

    Solely responsible for new architecture design for latest release of Enterprise Series Interactive (ESI) J2ME and SMS "channels" to the core framework. Channel modules were built for each of the various protocols through which users interacted with ESI (http being the 3rd channel). Each module must transform its activities to interface with the ESI Command API. For J2ME, a client-side library was used. For SMS, a phone-number-to-session mapper, as well as a server-side http router to direct SMS text messages.

    Designed and wrote the framework for instantiating and accessing application aspect objects. The objects (like DAO, system settings, and a bean factory) are created through reflection, as described in xml configuration.

    Primarily responsible for developing project structure and modularity, and establishing segment interfaces. Played leading role in the formation of our .ear products and developer environment.

    Designed and created the build framework, executed by CruiseControl for continuous integration. The build performed all the work in automation, getting source from vcs, constructing over a dozen separate J2EE modules into the various binaries, loading schema and sample data, starting JBoss, executing unit and functional tests, and publishing results.

Blue Fish Development Group, Austin, TX - Software Developer (Contract position) 12/04-04/05
Knowledge Base of oil industry studyable entities

    Documentum-based knowledge base with a web front-end built with JSP and javascript.

    Without using Struts, we nevertheless used MVC principles. I designed and wrote our view components which collected relational data (entities related to each other), which was not immediately available on model objects.

    Implemented a complex conversation between an applet allowing a drag&drop of documents to be uploaded and the server, which must detect version and name conflicts and respond to the applet with valid options. The applet then offers a dialog to the user.

Rocksteady Networks, Inc., Austin, TX - Software Engineer 6/03-10/04
Rocksteady Network Sharing Application (RNSA), AAA Web Application, Ant Build Designer

    Responsible for building an Authentication, Authorization and Accounting (AAA) system to act as the backend authority for a network provisioning device (RNSA). The Onboard AAA was a Struts-based web app on Tomcat, using Radius protocol for external communication and interfacing with a JNDI database (in this case, file/directory structure). This system was declared critical for product sales through the rest of the year by the Vice President of Sales. (Details)

    Re-designed the product build from bash shell scripts to Ant. The build consists of a dozen nested build descriptors and produces a full Redhat distribution along with several main applications in Java, C, and Perl.

    Utilized several XP principles in a 7-engineer team, while creating an application to shape bandwidth and provide dynamic, client-specific access to a network. Code Standard set by me. Used Continuous Integration, TDD (in some cases), and Design Improvement. We wrote a full suite (>95% coverage) of unit and functional tests and kept it at 100% success.

    Wrote an IntelliJ IDEA plugin to integrate the Subversion version control system. The plugin uses a Swing UI, is full-featured and operates across code branches. (Details)

    Reason for leaving: Company layoffs

Zel Technologies, LLC., Hampton, VA - Software Developer 11/02-5/03
Time-Critical Target Functionality (TCTF) UI Framework, Intelligent Preparation of the Battlespace Registration (IPBREG)

    Designed and developed core components for a Framework used in all company Java projects. The TCTF framework included heavily customized Java Swing components (DesktopManager, InternalFrames, JDesktopPanes) for a consistent Look&Feel and functionality for all TCTF sub-projects.

    Instructed company developers on JUnit, Test-Driven Development, and Java threading concepts. (Details)

    Improved existing framework components and sub-projects, and provided several developer tools and utilities.

    Created specialized Swing UI fields which displayed several different values, such as Lat/Lng coordinates, Speed, Distance, Bearing, etc. They each listened to an external, graphical map API, to display specified precision, delimiters and units based on user selections within the map. (Details)

    Designed/developed the IPB Registration project - a sub-project of IPB (itself a sub-project of TCTF). It provided a means for intelligence officers to "subscribe" to tactical information updates of a specified nature inside an area designated on a map displayed by an external library. Saved subscription data to a Sybase database with a Spatial Query Server (SQS) wrapper to handle the map area shapes. (Details)

netdecisions (OOP), Chesapeake, VA - Software Developer 6/00-9/02
Solutions development in XP environment, Business Process Manager (BPM), FrameWare Tutorial

    Began as a Technical Writer; promoted to Developer due to interest and technical potential.

    Filled a variety of roles including software design and development, project management, and training.

    Developer for BPM. BPM was a "decisioning engine" allowing configuration of componentized process flows at runtime. Using dynamic class-loading, a database repository to contain classes, and Java Messaging Service (JMS) as its primary external interface, it would allow non-technical personnel to assemble and alter a workflow application at runtime. I was involved in coding "decision components," UI elements, bug fixing, error-handling (Details), and creating demo scenarios with the components.

    Managed and co-authored the documentation / tutorial for OOP's second-generation framework technology. It was considered the model documentation work at netdecisions for content, layout and design. Formatted in html, it covers forty chapters, includes use of JavaScript, and integrated with Borland's JBuilder 4.0 IDE.

    Reason for leaving: Company layoffs

US Navy, Norfolk, VA - Non-commissioned officer 1992-2000
Aviation Maintenance Administration

    Supervised and operated the ECAMS software system for usage reporting on F/A-18 Hornet engines.

    Received Navy Achievement Medal.