EXPERIENCE SUMMARY
Professional experience designing and developing enterprise web applications, infrastructure and services. Additional experience in traditional and mobile application development. Full software life cycle experience such as requirements gathering, design, documentation, implementation, bug fixing, and long term support. Runs two iPhone and iPad application companies in spare time, and publishes articles and tips for other developers on personal company's website.
Enjoys creating and working on products that have scalability and concurrency problems worth solving with well-designed extensible standards-based architecture. Enthusiastic, friendly, and sincerely enjoys making things better for customers and peers. A big fan of Java, Objective-C, anything Apache, and bash/unix scripting.
Additional experience information available in online portfolio: www.codercowboy.com/portfolio
Professional references available upon request.
TECHNICAL SKILLS
- Languages: Java, Objective-C, PHP, Bash, C++, C, C#, ASP.NET, Javascript, DOS Batch
- Libraries: Spring, Hibernate, JAX REST, JAX SOAP, Apache Axis, Apache Commons, Struts, ActiveMQ, Camel, ServiceMix, Flurry, RegExKit Lite, TBXML
- Web Technologies: XHTML, Javascript, CSS, AJAX, XSLT, JSON, REST, WSDL, XSD, JSP, Tomcat, Apache HTTP Server, J2EE, XML, CGI
- Tools: Apache Maven & Ant, Eclipse IDE, XCode IDE, SoapUI, Basecamp, DropBox, Google Docs, Skype, Photoshop, VSphere, VCenter, Other VMWare products
- Other: Design patterns such as MVC, Delegate, etc; Methodologies such as Waterfall, Agile, Scrum; Operating Systems such as Windows, Unix, Linux (Redhat, Suse, CentOS, BSD) and OS X
EXPERIENCE
Pocket Sized Giraffe
- Pocket Sized Giraffe created TumbleOn, an easy-to-use tumblr client for the iPad.
- Came up with product concept.
- Led product roadmap, development architecture, and implementation.
- Designed & developed application with cooperation of two peers.
- Formed LLC, and continues LLC activities such as book keeping.
- Other responsibilities include testing, promotion, and support.
- Technologies: Objective-C, various third party libraries, XCode IDE
Coder Cowboy
- Coder Cowboy creates iPhone applications. Products include Runner's Interval Timer, a simple-to-use fully featured interval timer application for runners; and Music Roulette, which makes choosing a random music album for listening easy and fun.
- Responsibilities similar to Pocket Sized Giraffe work. However, Coder Cowboy is only Jason.
- Website features articles, tips, links, and other resources for fellow developers
- Runner's Interval Timer favorably reviewed by MacLife, a popular magazine.
- Technologies: Objective-C, various IOS third party libraries, XCode IDE
MomentumSI
January 2011 to October 2011, 10 months - Senior Software Engineer
Undisclosed cloud project for Fortune 100 Company
(January 2011 to October 2011, 10 months)
- Product simplifies cloud management and automates physical/virtual OS installation.
- Responsibilities: leadership, design, implementation, code reviews, bug fixing.
- Primary development focus was backend rest/soap services and integration between various lower-level products.
- Recognized by a principal architect as the "example" for how MomentumSI employees should be, due to proactive, friendly, and enthusiastic attitude, and ability to execute beyond expectations.
- Recognized by other principal level developers and peers as one of the all-stars on the product.
- Co-Designed and implemented key functionality such as automated unix OS installations, and server grouping functionality.
- Mentored several other developers on proper implementation and design patterns.
- Simplified several confusing/error-prone development patterns into cohesive pre-packaged easy-to-use utility packages.
- Independently developed productivity automation scripts that simplified development processes.
- Worked with, encouraged, documented, and promoted other productivity tooling efforts made by peer developers.
- Fostered and encouraged cross-team collaboration across several organizational boundaries, resulting in higher QA and downstream product issue resolution efficiency.
- Documented many aspects of using and debugging the product on a shared wiki.
- Encouraged adoption of industry standard design patterns, and better encapsulation.
- Participated in many design and roadmap discussions with principal architects and developers.
- Technologies: Java 1.6, Spring, ServiceMix, Camel, ActiveMQ, Web services (REST & SOAP), Eclipse IDE, Maven, Scrum, Bash, DOS Batch, MVC, RedHat, Suse, CentOS, VMWare products
PayPal
March 2007 to December 2011, 3.5 years - Senior Software Engineer
Paypal Apps
(July 2010 - Dec 2011, 6 months)
- Product allows third party developers to make small applications that are hosted on PayPal's website.
- Development focus was end-to-end integration, with development in front end framework, and soap-based services layer.
- Responsibilities included requirements gathering, design, implementation, and collaborative leadership.
- Designed key integration with proprietary internal products.
- Handled many product life cycle interactions with application security, network operations, and sys
admin groups.
- Fixed and enhanced documentation.
- Developed a one-step deploy script for an internal development framework many developers rely upon.
- Implemented custom multi-endpoint webservice SSL client support module.
- Implemented several minor struts work flow enhancements.
- Assisted in test environment setup.
- Challenges included remote collaboration; quick rampup on a product
with a tight development schedule; and choosing the right functional
sacrifices for the initial release of the product.
- Technologies: Java 1.6, Spring, Struts 2, Eclipse IDE, J2EE, C++, FTL, HTML, Javascript, CSS, Maven, WSDL, XSD, Scrum, Bash, DOS Batch, MVC
Localization Integration Framework
(November 2009 - June 2010, 7 months)
- Product was a proof-of-concept implementation that decoupled external content frameworks from the
localization team's work flow, and defined flexible interfaces for system integration through a pluggable architecture.
- Co-designed and led implementation.
- Java 1.6, Spring, Eclipse IDE, J2EE, Maven, REST, MVC
Web Page Rendering Service
(April 2007 - June 2010, 3 years)
- Product renders nearly 100% of PayPal's web pages.
- Product replaced legacy proprietary cgi-based c++ product with a long-lived java service.
- Led multi-year collaboration efforts with internal end-users including localization, i18n, and web development groups.
- Recognized as an all-star developer with great vision by many members of external teams and direct management.
- Promoted to Senior Software Engineer as a result of exemplary efforts.
- Emphasized the need for proper support and maintenance of proprietary internal products.
- Encouraged end-users to dream big and demand more from the internal proprietary products and tooling they relied upon.
- Led implementation of mission critical functionality implemented by a small team of remote colleagues.
- Heavily involved in requirements gathering through discussion and reverse engineering; design; implementation; documentation; and support for the legacy product.
- Ported, enhanced, and added most of the subsystems and tooling features in the product.
- Co-designed and implemented various scalability solutions. Scalability was improved through the long-lived nature of the service, a highly optimized multithreaded request pipeline, and multi-level asset caching.
- Co-designed and implemented various system optimization solutions. Results were reduced content build times, deployment times, and deployment sizes.
- Dynamic nature of the new product allowed for on-demand debug tooling not possible with the
legacy product.
- Designed and implemented in-browser debug tooling included highlighting for content source and i18n debugging, and a flexible framework for content metric collection and analysis.
- Designed, developed, and supported several iterations of QA tooling frameworks which enabled robust side by side result comparison testing against the legacy product.
- Designed and implemented simplified flexible multithreaded framework used in primary rendering pipeline, build metric analysis tool, and qa diff frameworks.
- Designed and implemented a "killer feature" which enabled request playback for web content debugging. This feature reduced bug reproduction effort from hours to minutes.
- Challenges included supporting the legacy product while developing the new product; reverse engineering and cleaning up a largely undocumented legacy product; solving scalability issues; developing the product with a very small team; and product integration with many internal proprietary technologies such as SOA frameworks, build systems, and legacy cgi-based applications.
- Technologies: Java 1.4 - 1.6, Spring, Apache
Commons Utilities, JSON, Tomcat, Eclipse IDE, J2EE, JSP, C++, Perl,
Bash, XSLT, XML, Saxon, HTML, CSS, Javascript, Maven, Ant, REST, MVC
Visa
January 2005 - March 2007, 2 years - Software Engineer
Internal Customer Service Tool
(January 2007 - March 2007, 3 months)
- Product replaced customized Siebel call center applications and others.
- Helped with design and implementation of jBPM framework for dynamic customer service worfklow support.
- Responsibilities were web service and database layer implementation using Hibernate.
- Technologies: Java 1.4, Spring, Hibernate, IntelliJ IDE
Prepaid Web Applications
(January 2005 - December 2006, 1 year)
- Product is a customizable web application software suite used by many major banks to manage and support Visa branded prepaid cards.
- Involved in the front-end web application flow development for several versions of the product.
- Small team experience provided fast-paced learning and understanding of many core concepts of software development.
- Concepts learned included requirements gathering, design patterns such as MVC, session management, n-tiered architecture, and bug fixing processes.
- Product was rewritten from scratch rather than branched/configurable from release version to version (at management insistance..), which provided opportunity to write, learn from, and rewrite key pieces of applications as new versions were built
- Technologies: C#, ASP.NET, XHTML, CSS, Javascript, MVC
EDUCATION
Bachelor of Arts in Computer Science December 2004. The University Of Texas. (Austin, Texas)