GOTO is a vendor independent international software development conference with more that 90 top speaker and 1300 attendees. The conference cover topics such as .Net, Java, Open Source, Agile, Architecture and Design, Web, Cloud, New Languages and Processes

Fred George, Co-Founder of Outpace Systems, Programmer Anarchy

Fred George

Biography: Fred George

Fred George is a developer and co­founder at Outpace Systems, and has been writing code for over 45 years in (by his count) over 70 languages. He has delivered projects and products across his career, and in the last decade alone, has worked in the US, India, China, and the UK. He started ThoughtWorks University in Bangalore, India, based on a commercial programming training program he developed in the 90’s. An early adopter of OO and Agile, Fred continues to impact the industry with his leading­edge ideas, most recently advocating Micro­Service Architectures and flat team structures (under the moniker of Programmer Anarchy). Oh, and he still writes code! 

Twitter: @fgeorge52

Presentation: Implementing Programmer Anarchy

Time: Wednesday 16:30 - 17:20 / Location: French

Programmer Anarchy is a post­Agile process that focuses on empowering programmers by eliminating roles that interfere with domain knowledge and assumption of day­to­day decisions by the programmers. Originally conceived in a startup environment at Forward Internet Group in London, Programmer Anarchy is now being implemented in a traditional IT shop for an established company: MailOnline, the online newspaper arm of the Daily Mail of London. This discussion will talk about the introduction of Anarchy into a Scrum shop, the training, the transition of roles, and the redesign of HR roles.

Workshop: Microservices Workshop

Time: Thursday 09:00 - 16:00 / Location: Training Room 4

In this workshop, we will start with a pre-built skeleton micro-service environment (message bus plus a couple of RESTful services running against it). We will then design and implement additional services to broaden the overall functionality. These additional services can be written in any language that will run on the participants laptop. While pairing is strongly encouraged, it is not required.

The focus of the workshop will be on:
Understanding how to design asynchronous service architectures
Creating small, yet functional, services rather than larger services
Reducing coupling to the bare minimum (JSON packets with extra fields ignored)
Debugging asynchronous systems
This session can accommodate up to 30 participants with pairing. If more participants are desired, in-room coach will need to be added, and may be feasible with sufficient notice.

Outline:

INTRODUCTION
Brief working definition of micro-services (15-20 minutes)
Sample service developed jointly in class (30 minutes)
Quick debugging of it (15 minutes)
FIRST SERVICE
Class will pair up and develop a defined service (same) in the language of their choice (1 hour)
Brief discussion of what worked well / not-so-well (15 minutes)
SECOND SERVICE
Start with brainstorming on ideas for additional services (20 minutes)
Turn teams / individuals loose to implement their ideas (1 hour)
Discussion on best practices observed.
THIRD SERVICE
Same as SECOND
WRAP-UP

Lessons learned about:
Service boundaries
Service complexity
Designing for asynchronous
Debugging early and often
Value of monitoring tools
NOTE: Could be shortened for 3 hours, but may be rushed.

Primarily for: Developers, Architects, etc.
Participant requirements: Notebook with Wifi, already fitted with development tools for the language of their choice.