Guerry A. Semones
gas -at- treenleaf.com
http://www.linkedin.com/in/gsemones
Focused on the full software development life cycle, analysis, design, coding, mentoring, and team leadership

EXPERIENCE

  APPISTRY, Creve Coeur, MO
April 2010 - Sept. 2010 Senior Software Engineer / Developer Relations
 
  • Code daily in Ruby/Java to create and automate QA acceptance testing framework utilizing threading, distributed frameworks, RESTful APIs, etc.
  • Devise architectural designs and plans for Platform as a Service (PaaS) products supporting public, hybrid and private clouds
  • Assist customers and partners with distributed computing and cloud-based solutions
  • Helped port partner's MapReduce framework in Java to CloudIQ Platform
  • Specify acceptance test criteria for product features
  • Communicate product support through technical writing and blogging
  • Agile coaching, development, and testing
  • Oversee Appistry's online Peer2Peer Developer Community
  • A founding member of Appistry, I am one of the three original core architects and developers on Appistry's revolutionary CloudIQ Platform, a self-healing, self-organizing environment for developing, deploying and managing cloud-native applications, services and storage.
  • Most recently worked with engineering team on CloudIQ Storage, a multi-tenant, object/file-based, fully distributed, fully decentralized, self-healing storage system. CloudIQ Storage provides web service APIs and multi-tenant, privilege and access control list-based file management.
Jan. 2008 - April 2010 Technical Product Manager / Developer Relations
 
  • Assisted VP of Product Management in steering product direction and vision
  • Coded weekly in Java/C++/Ruby/Python/PHP to integrate CloudIQ and partner products, build pilots projects, and demo applications. Utilized SOAP, RESTful APIs, web frameworks, distributed architectures, etc.
  • Worked as day to day product management liaison to engineering team
  • Devised architectural designs for public, hybrid and private clouds products
  • Assisted customers and partners with distributed computing and cloud-based solutions
  • Created functional specifications and design documents
  • Specified acceptance test criteria for product features
  • Drove product release planning and day to day release management
  • Managed beta program product efforts with customers and partners
  • Technical writing and blogging
  • Oversaw Appistry's online Peer2Peer Developer Community
  • Worked with team to productize CloudIQ Storage and prepare it for market. Specified features road map and required APIs for Storage product across three market segments including Managed Service Providers (MSP), Big Data / Computational Storage and Archival Storage. Researched and analyzed competing cloud-based storage products.
  • Designed and specified architecture and requirements for a cloud-based self-service application environment. Similar to Google App Engine, the environment could be deployed for both MSP-based public clouds and internal, corporate clouds. Led team in a successful delivery of a prototype implementation of the core self-service environment. Long-term design included multi-tenant fairness and isolation, governance by policy, privilege-based management, system and application logging, monitoring, and auditing.
Sep. 2001 - Jan. 2008 Senior Software Engineer
 
  • Worked as architect/designer/developer/mentor in a dynamic team of twelve-plus
  • Coded daily in Java/C/C++ in continuous-integration, test-first-driven, Extreme Programming-based environment.
  • One of four Appistry co-founders and one of the lead software architects of what became Appistry CloudIQ Platform
  WORLD WIDE TECHNOLOGY, Maryland Heights, MO
Oct. 1999 - Aug. 2001 Senior Architect of Object-oriented Technology
  Focused on the infrastructure integration and service oriented architectures necessary to support e-business initiatives, both within an organization and with its customers and partners, using message-oriented and distributed object technologies. Acted as technical project lead and mentor; worked on projects from the analysis and design stages through implementation and rollout. One example was a web-based provisioning system for a major DSL service provider and its partners using XML, J2EE, and a CORBA-based message-oriented middleware (MOM) technology. Leader of in-house Java SIG and Design Patterns Study Group. Member of Discover-e Methodology development team. Worked with team to model front office processes. Led effort to implement the Extreme Programming (XP) agile software development methodology in our team, and acted as the XP Coach.
 
June 1997 - Jan. 2000 Chief Architect
  Involved, at various levels, with the design and specification of all software development tools and projects, both internal and external, at WWT. Led effort to define a service oriented architecture around critical functionality in both custom services and commercial packages such as Oracle Financials. Services exposed via J2EE were consumed by various in-house built intranet and extranet applications and thick client applications used by WWT staff, customers and partners. Led team of 15+ developers. Coordinated cross-functional teams. Mentored developers, reviewed training tracks and other areas of professional development.
 
Oct. 1996 - Jan. 2000 Senior Systems Analyst, Internet Business Applications Team Leader
  Hired and led a team of 15+ developers with emphasis on Internet technologies and E-Business solutions. Team also served as a Minuteman team, helping to troubleshoot various other types of projects. Focused on both internal WWT and external customer internet-based, E-Business projects in such categories as electronic marketplaces and portals, e-commerce integration and infrastructure support, customer and partner relationship management, human resources, and business partnership development.
 
  TAPESTRY COMPUTING, Earth City, MO
Aug. 1995 - Oct. 1996 Senior Technical Specialist
  Worked in a project-driven, team-oriented environment, led numerous projects with customers focused primarily on Oracle Corporation technologies (client/server and Internet development; database design, implementation and management). Integrated Oracle with other technologies such as computer telephony, real-time credit card processing, 'C'-based TCP/IP socket-based API, C++ ODBC-based class package, etc. Carried out consultation and analysis work with customers for projects, mentored and trained other team members, researched new technologies and markets (such as the e-commerce, OOAD/OOP, Internet, Intranet and Java), participated on Tapestry's Internet team, and helped in PaylinX product development in Visual C++. Member of team that created in-house software development methodology and templates.
 
  CONTRACT DATA SERVICES, Raleigh, NC
Jan. 1994 -Aug. 1995 Information Systems Analyst (under contract with Glaxo Wellcome Inc. Pharmaceuticals)
  As a developer, created a Document Control and Tracking System for Quality Assurance to maintain SOPs and other FDA-required documents. Implemented the application with Oracle7 under HP/UX with Windows-based Forms 4.0 client, increasing throughput, time-on-task efficiency and usability. As a database administrator, installed Oracle7 to implement multiple development, test and production database servers in a 7-day by 24-hour support environment. Implemented "hot" on-line database backup systems, performed database tuning and created monitoring and support utilities. As a designer/mentor, assisted development for numerous projects with expertise in client/server application design and analysis (tools, middleware, object-oriented technologies, techniques and concepts).
 
  DUKE UNIVERSITY TALENT IDENTIFICATION PROGRAM, Durham, NC
1988-1993 Assistant Director in charge of Information Services
  Led team of full-time staff and work-study students. Acted as Systems Analyst and provided managerial status reports and annual budget proposals. Ported from legacy systems, designed and implemented TIP's applications and databases on multiple Sun servers running Oracle7 and SAS. Linking the Sun servers to Apple Macintoshes and Dell PCs on a Novell NetWare and AppleTalk-based network, provided thirty-five full-time staff with direct information-access and reporting. Established an Internet-based Bulletin Board system for TIP's 420,000+ students and alumni. Acted as systems consultant to Duke departments.
 
1985-1988 Data Processing Specialist
  Managed information processes and databases using SAS on a 3081 mainframe and streamlined information processes.
 
  DURHAM TECHNICAL INSTITUTE, Durham, NC
1988-1993 Staff Instructor - Part Time
  Taught Oracle, Unix, MS-DOS, Advanced MS-DOS, Programming Logic, Pascal, and SAS.
 
  INDEPENDENT CONSULTANT
1987-1993 Provided Unix computer security expertise against internal and external system threats. Designed, recommended, implemented and supported PC-based networks and software. Provided programming expertise in diverse system environments
 
  SAS INSTITUTE INC., Cary, NC
1984-1985 Computer Operator-third shift
  Managed backup and run-time support of IBM mainframe, DEC-VAX, Data General, Prime, Wang, Apollo and IBM PC network systems. Developed SAS and shell utilities to support operations group.
 
PATENTS
2001 - present Patent No.: US 7,379,959 B2 -- May 27, 2008 -- Hinni, Semones, Groner, Lozano
  Processing Information Using a Hive of Computing Engines Including Request Handlers and Process Handlers
 
PUBLICATIONS
Published in 2009, these cloud computing articles continue to be in the top five most read articles on JavaWorld
March 3, 2009 Building cloud-ready, multicore-friendly applications, Part 1: Design principles
April 30, 2009 Building cloud-ready, multicore-friendly applications, Part 2: Mechanics of the cloud
 
AWARDS
1991 Nominated for the 1991 Computerworld Smithsonian Award for innovative use of information technology in Education and Academia.
1995 Led successful effort with Glaxo Wellcome plant document management team from analysis through implementation, testing and delivery to overhaul their Document Tracking System. Awarded special personal recognition for having dramatically increased process productivity and user satisfaction with the new system.
1997 Led team recognized and awarded $10,000 for World Wide Technology's "Most Innovative and Business-changing Idea" in 1997. Team designed and implemented business-to-business and business-to-government e-commerce web sites integrated into company ERP systems.
 
EDUCATION / TRAINING
2007 INTERFACE 21, St Louis, MO
  Core Spring Framework from The Source
2000 INDUSTRIAL LOGIC, New York, NY
  The Design Patterns Workshop
1999 INSIGHT TECHNOLOGY, Chesterfield, MO
  Object-oriented Analysis and Design
1992 ORACLE CORPORATION, Redwood City, CA
  Oracle Masters Certificate for Application Development
1986-1990 Duke University, Durham, NC
  Attended Duke University in Computer Science (after taking full time job at Duke TIP)
1983-1985 North Carolina State University, Raleigh, NC
  Attended NCSU in Computer Science (while working full time for SAS Institute)
 
COMMUNICATIONS Experienced technical writer, presenter, blogger, and fiction writer. I have given talks and presentations since childhood, and been an active internet community participant and orchestrator since 1985. I am also an experienced book reviewer.
 
LANGUAGES Java; C# / .NET; Ruby; Python; 'C++'; 'C'; JavaScript; JSON; PHP; XML; shell scripting; HTML/XHTML; CSS; XSLT; JavaScript; SQL; PL/SQL
 
SERVICES / PLATFORMS TomCat; Jetty; Appistry CloudIQ; memcached; JBoss; WebLogic; Zeus Traffic Manager; HAProxy Load Balancer; Apache Hadoop suite; Drupal; Amazon EC2; Google App Engine; Cloud Foundry; SkyTap; GoGrid
 
MIDDLEWARE FRAMEWORKS Appistry CloudIQ; Spring Framework; J2EE / Java EE (EJB, JMS, JTA, etc.); Apache Axis (SOAP/REST)
 
WEB FRAMEWORKS Spring Framework; J2EE / Java EE (JSP, Servlets); Apache Axis (SOAP/REST); Pylons (Python); Drupal (PHP / content mgt); Ajax; Struts; WordPress
 
DATASTORES Oracle RDBMS; MySQL; SQLite; JDBC/ODBC-accessible datastores; CloudIQ Storage; Familiarity with NoSQL technologies (Amazon S3, Cassandra, BigTable, etc.)
 
COLLABORATION Confluence Enterprise Wiki (administration and editing); Trac, web-based software project management and bug/issue tracking system
 
TOOLS Microsoft Visual Studio; Eclipse; VI; xUnit unit testing (JUnit, CppUnit, RubyUnit, PyUnit); ANT (build tool); Subversion and CVS (version control); CruiseControl (continuous integration); Secure Shell (SSH/SCP/SFTP/etc.); Load testing (Microsoft WCAT, Curl-Loader, Apache JMeter, etc.); Familiarity with Maven
 
OPERATING SYSTEMS Linux; Mac OS X; BSD Unix; Microsoft Windows family
 
METHODS Agile Methodologies: SCRUM; Extreme Programming (XP); Pragmatic Programmer Tracer Bullet Development; UML notation; ERD notation
 
DISTRIBUTED PRINCIPLES AND ARCHITECTURES Atomicity; Statelessness; Idempotence; Parallelism; Affinity; Dynamic Membership; Discovery; High Availability; Reliability mechanisms; Dynamic Scalability (Scale Out, Scale Up, Scale Down); Dynamic Manageability (Self-healing, Self-organizing); Eventual Consistency; Multi-tenancy (Fairness and Isolation); Load Balancing; Governance and Policy
 
DESIGN PATTERNS The following are examples of design pattern usage in prior projects:
 Strategy: utilized strategy classes to implement distributed volunteer recruitment algorithms
 Composite: composed service objects to iteratively report state upon request
 Template Method: orchestrated life-cycle of task handlers for Java, .NET and C/C++
 Abstract Factory: creation of task handlers and task wrappers for Java, .NET and C/C++
 Proxy: proxied Spring and .NET client remoting to utilize CloudIQ client API
 Mediator: service classes mediated composed building block classes (comm., auditing, etc.)
 Observer: implemented publish/subscribe model for SOAP-based monitoring service
 Chain of Responsibility: used chained error handling in absence of C++ exceptions
 Command: handled asynch requests by converting to command classes on separate thread
 State: maintained transactional state through CloudIQ Engine client request life cycle
 Null Object: returned null strategy class if state of transaction reached invalid state
 Mock Object: utilized typical mock object model in unit tests
 
Learning Scala and Lift; Objective C; Git; NoSQL; DCI Architecture (Data, Context, Interaction)
Last updated: October 26, 2010