Stephen Rowles

stephen@rowles.org.uk

Linked in

Twitter

 

Profile

I am an enthusiastic, experienced and innovative professional with a proven track record of delivering quality solutions on schedule. I have experience of the design and implementation of extensible software solutions and I am able to leverage a wide range of skills to quickly develop new solutions and bring them to market. I have a strong educational background with a fundamental understanding of the technologies behind computer systems both from a hardware and software perspective. I am therefore able to quickly and easily adjust to different systems and programming languages. I have an inquisitive mind and enjoy both problem-solving and green field development. I have good communication and team-working skills along with a passion for innovation and customer-focused design.

 

Education

March 2008       Post Graduate Certificate in Object Technology, Oxford University

June 2006          Certified WMQ v6 System Administrator. Certified WMQ v6 Solution Designer

Feb 2002           ISEB Foundation Certificate in Software Testing

Sept 2000          BEng (hons) Computer Engineering, University of Southampton (2.1)

June 1996          A-Levels: Mathematics, Physics, Chemistry, AS-Level: Design and Technology

 

Skills

Core: Go, JEE & JSE, Threading, XML processing, JSON, Spring, Hibernate, Tomcat, WebSphere Liberty, SWT, GWT (GWT-Dispatch, UiBinder, MVP), Apache ANT, JMX, JDBC, Eclipse plug-in & RCP

SQL: MySQL, MS SQLServer, HQL and SQL92

Messaging: WebSphere MQ, JMS, SOA, MQTT

Other Languages: C, Perl, bash, Javascript, HTML

Tools: Docker, Bluemix / Cloud Foundry (including Service development), SoftLayer, Slack (including bot development), GIT, Subversion(svn), RTC, Jira, Confluence, Jenkins, Rational Test Workbench, UrbanCode Deploy, Eclipse, UML, Balsamiq UI Mockups.

Platforms: Linux and Windows, UNIX (Solaris, AIX, HP-UX).

Non-technical: Architecture design and review, Team leading, Iteration planning, Development estimates, software design and review. Technical presentations and demonstrations run in various global locations including: Atlanta, Orland, Oslo and London. User centred design and evaluation. Problem solving. Working with remote and international teams. Member of the British Computer Society (MBCS).

Innovation: 7 inventions published by IBM, 2 patents filed by IBM, co-author of 2 articles published in “MQ Update” magazine.

Employment History:

April 2015 – Date

IBM Hursley Labs - Cloud

Lead Software Engineer / Squad Lead

Moved to work in IBM's cloud division. I lead a squad (Spotify development model) producing micro-service based applications written in Go and packaged as Docker containers. These are delivered via a pipeline continuously into production. These services underpin IBMs cloud platform and support various services available on Bluemix including Docker Containers

June 2014 – April 2015

IBM Hursley Labs

Software Architect

Stayed within the Green Hat product development group but moved into an Architect role responsible for overseeing product development and new feature design across Rational Test Workbench and Rational Test Virtualization Server. This broadened the scope of my previous architectural responsibilities to also encompass large parts of the Rational Integration Tester product. Working directly with product management and the chief architect to ensure new features provide customer value and are well designed / implemented.

Worked closely with Pre-Sales and Design teams to ensure good quality feature design that provides both enhanced capability but also enhacned ease of use of the products. Continued to work closely with support to help deal with high profile customer issues and support proof of concept work being done by our pre-sales teams. Instigated the publishing of example Rational Integration Tester projects and rest api code examples into a git hub repository to facilitate customer update of our products: RTVS Examples

Presented talks about Rational Integration Testerse class leading MQ capabilities at IBM's Innovate 2014 conference in Orlando. I represented IBM's Dev Ops Service and Bluemix offerings at QCon talking with attendees and demonstrating IBM's cloud capabilities and answered questions.

February 2012 – June 2014

IBM Hursley Labs

Senior Software Engineer

Moved back to the Hursley labs following the acquisition of Green Hat Software by IBM. Continued development of the Green Hat products and worked to integrate them into the IBM portfolio. The products were re-branded as Rational Test Workbench (RTW) and Rational Test Virtualization Server (RTVS). Architectural owner for the Server side components (Rational Test Control Panel) overseeing new feature development and maintenance including improvements to the management of Virtual Services, the addition of multi-tenancy security and a central asset repository for collaboration.

Worked directly with customers during PoCs to provide support to the sales team and provide successful demonstrations of the return on investment that the Rational Test and Virtualization products provide. Used this customer contact to feedback product improvements into the development roadmap.

Worked on enhancing the DevOps capabilities of RTVS and RTW and have presented about those technologies at IBM's Innovate 2013 conference. I have also presented in London at the Next Generation Testing

Investigated and improved performance for messaging in both Tests and Virtual Services that use the HTTP and MQ transports within the RTW and RTVS product set. Provided coaching, mentoring, advice and code reviews to the other team members and widely recognised as a subject matter expert in various fields within the development team.

September 2010 – February 2012

Green Hat Software Limited

Senior Software Engineer

Member of a small satellite development office based in Winchester who's focus is on new product feature development. Designed and implementated extensions to the Green Hat Tester product to integrate with Atlassian's Jira bug tracking software and IBM's Rational Quality Manager test management software and lead the implementation of the class-leading IBM WebSphere MQ integration.

Responsible for the design and implementation of a brand new server component using GWT making use of the MVP pattern and utilising Activities and Places within the browser UI. Server side implemented using Spring as a dependency injection framework to provide REST services. Designed and implemented a communications protocol to provide control and status updates from remote execution engines.

Member of a team responsible for developing a new methodology for product development by leveraging OSGI to provide modular and re-usable builds within the Eclipse framework. Working in a continuous integration environment with Jenkins, Maven, Tycho, Artifactory, Eclipse P2.

Worked on installing and configuring Linux based office server infrastructure including a VMWare ESXi server with write-through SVN mirror, samba and http server.

November 2007 – September 2010

Infor Global Solutions

Senior Software Engineer

Design and implementation work on the new Web interface as part of SunSystems 6 (video). The web application was written using Google's GWT framework (GWT 2.0.x). Carried out user interface development which included developing a custom composite tab component as well as general layout work. Performed server side development which included the implementation of a system to re-connect users back to their previous session in the event of the connection being lost, or the browser window being closed.

Technical lead on a new project to process arbitrary XML documents. Provided a user configurable document transform engine, with the ability to summarise data and execute custom business logic. Worked on the overall architecture, communicating directly with the lead business analyst and then assigning tasks to the other team members. The project was designed to be highly scalable while maintaining the flexibility to meet a wide range of business scenarios. Documented the design using UML sequence, class and interaction diagrams. Estimated the size of work and assigned it to developers for implementation.

Member of a development team developing a multi-book general ledger system using a SOA Fortress methodology. Each fortress communicated using OAGIS XML messages passed via an enterprise service bus (ESB).

Worked closely with the business analysts to gather and refine requirements for the business logic and the implementing the solution. Produced a common infrastructure component to handle multi-threaded transaction safe message processing. During lunch breaks developed performance testing tools and developer test plug-ins for eclipse which have helped to find bugs and reduced development time scales for many developers in the team.

Tracked down several multi-threading bugs, transaction bugs and performance issues in the code as well as working on shared code to allowed easier interaction with the system and minimise those issues in the future.

Provided advice and support to other team members when dealing with development and use case issues. Provided support to other developers working on the Linux platform.

Development platform was Linux (Fedora 11) using Eclipse 3.5 with ANT based build system. Implementation using Java 6 (Spring 2.5, Hibernate 3.2, JUnit 4) deployed to Apache Tomcat 5.5. Database back-end for the applications ran on either MySQL, Microsoft SQLServer or Oracle.

 

June 2007 – November 2007

Visa Europe

Software Engineer

Maintained and developed Swing based user interface including RMI and server interactions and XML processing. Designed and implemented an Eclipse based solution for diagnosing and fixing configuration problems with WebSphere MQ test / production environment.

September 2001 – June 2007

IBM Hursley Labs

Software Engineer

2005 – 2007

Team leader of a local team of 6, plus 2 developers based in India. The team was responsible for the WebSphere MQ Explorer for V7 of WebSphere MQ. The MQ Explorer is a set of Eclipse plug-ins designed to work within an Eclipse workbench or as a stand alone RCP application.

Responsible for the re-design of some of the underlying services used by the Explorer to provide a more flexible and extensible code base moving forward.

2004 – 2005

Member of the team that developed the WebSphere MQ Explorer for WebSphere MQ V6. This was a brand new piece of development effort to produce a set of Eclipse plug-ins to provide a graphical configuration utility for configuring WebSphere MQ Queue Managers. Worked on large parts of the infrastructure.

2003 – 2004

Programming in C working on code inside the WebSphere MQ Queue Manager to record queue statistics during messaging and provide the information to the user through command line tools and programmatic API

2001 – 2003

Carried out stress testing on UNIX and Windows for WebSphere MQ 5.3

July 2000 – July 2001

Department of Electronics and Computer Science, University of Southampton

System Programmer

Supported undergraduate students including program debugging and advice. Maintenance of existing RedHat Linux desktop machines and servers as well as the installation and deployment of new systems. Developed internal web based tooling. Created and maintained a load-balanced Linux cluster.

Interests / Hobbies

Walking, DIY, Films, Camping, Sailing, Singing / Music, Android development, Java OpenGL development.

Gold Duke of Edinburgh's Award. RYA Level 2 Dingy Sailing. RYA Level 3 Keel-boat sailing. Full clean UK Driving Licence since 1996.