| 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 |