Fred George
Consultant
Fred George Consulting
location_on United States
Member since 6 years
Fred George
Specialises In (based on submitted proposals)
Fred George is an active industry consultant, and has been writing code for nearly 50 years in (by his count) over 75 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. An early adopter of new technologies, Fred continues to impact the industry with his leading-edge ideas, advocating MicroService Architectures since 2005 and flat team structures (under the moniker of Programmer Anarchy). He travels the globe speaking and consulting on these topics. Oh, and he still writes code!
-
keyboard_arrow_down
Agile Roots: Use JIT to Go Faster
60 Mins
Keynote
Intermediate
Agile borrowed from the JIT manufacturing processes originally at Toyota. The Agile Manifesto itself summarized the key aspects brought into programming from JIT.
Original Agile processes like eXtreme Programming (XP) brought breathtaking speed of delivery to a waterfall world. But Agile has not stood still. From XP’s original (and aggressive) 23 week iterations, we now see individual programmers pushing new functionality to live systems several times a day!
Acceleration drives changes to an organization’s processes and skills, just as the original shift to Agile from waterfall. Organizations reluctant to address such changes, however, inhibit the acceleration. Indeed, their attempts to accelerate often result in lower morale and flawed delivery; these failures drive conservative (and destructive) attitudes against change.
In this talk, we will address a myriad of drivers for faster delivery:
- Available technologies, including Cloud, languages, and new frameworks
- Shift toward active monitoring rather than onetime acceptance testing
- Refined, lighter processes consistent with shorter cycles
- Architecture that is fault-tolerant rather than provably perfect
- Shift toward trying ideas rather than firm requirements
- Reduction in role specialists
- Reduction in delivery team size
For each of these drivers, we will describe teams that have taken these steps and the corresponding accelerated delivery.
-
keyboard_arrow_down
Implementation of MicroService Architecture
60 Mins
Talk
Advanced
MicroService Architectures has debuted on the ThoughtWorks Technology Radar as the first technology they address, and with strong recommendations to immediately experiment. In this talk, we will outline the guidelines we have used at two different companies to implement MicroServices. And more importantly, we will tell you about the pitfalls we have encountered.
-
keyboard_arrow_down
Implementation of MicroService Architecture
60 Mins
Talk
Advanced
MicroService Architectures has debuted on the ThoughtWorks Technology Radar as the first technology they address, and with strong recommendations to immediately experiment. In this talk, we will outline the guidelines we have used at two different companies to implement MicroServices. And more importantly, we will tell you about the pitfalls we have encountered.
-
keyboard_arrow_down
Implementation of MicroService Architecture
60 Mins
Talk
Advanced
MicroService Architectures has debuted on the ThoughtWorks Technology Radar as the first technology they address, and with strong recommendations to immediately experiment. In this talk, we will outline the guidelines we have used at two different companies to implement MicroServices. And more importantly, we will tell you about the pitfalls we have encountered.
-
keyboard_arrow_down
Programmer Anarchy
50 Mins
Talk
Advanced
The Agile movement shifted the relationship between clients and developers in a profound way. In waterfall processes, clients specified large amounts of functionality, then nervously faded into the background until the fateful day-of-delivery. With Agile, developers strove to engage with clients continuously, and delivered much more frequently against their needs. A new trust was established. At the Forward Internet Group in London, we are implementing a second major shift between clients and developers. The trust of the clients in developers evolves into a broader trust of the developers to deliver business value without resorting to a series of well-defined stories. In essence, the business has empowered the developers to do what they think is right for the business. This model, popularized by Facebook, has several labels, but the one we prefer for our flavor is Programmer Anarchy.
-
keyboard_arrow_down
Programmer Anarchy
50 Mins
Talk
Advanced
The Agile movement shifted the relationship between clients and developers in a profound way. In waterfall processes, clients specified large amounts of functionality, then nervously faded into the background until the fateful day-of-delivery. With Agile, developers strove to engage with clients continuously, and delivered much more frequently against their needs. A new trust was established. At the Forward Internet Group in London, we are implementing a second major shift between clients and developers. The trust of the clients in developers evolves into a broader trust of the developers to deliver business value without resorting to a series of well-defined stories. In essence, the business has empowered the developers to do what they think is right for the business. This model, popularized by Facebook, has several labels, but the one we prefer for our flavor is Programmer Anarchy.
-
keyboard_arrow_down
Programmer Anarchy
50 Mins
Talk
Advanced
The Agile movement shifted the relationship between clients and developers in a profound way. In waterfall processes, clients specified large amounts of functionality, then nervously faded into the background until the fateful day-of-delivery. With Agile, developers strove to engage with clients continuously, and delivered much more frequently against their needs. A new trust was established. At the Forward Internet Group in London, we are implementing a second major shift between clients and developers. The trust of the clients in developers evolves into a broader trust of the developers to deliver business value without resorting to a series of well-defined stories. In essence, the business has empowered the developers to do what they think is right for the business. This model, popularized by Facebook, has several labels, but the one we prefer for our flavor is Programmer Anarchy.
-
keyboard_arrow_down
Microservices - Let's Build Some (V2)
480 Mins
Workshop
Beginner
Hands-on development of asynchronous micro-services using a bus architecture.
While “micro-services” is becoming a heavily over-worked term, it has been interpreted many ways. In this hands-on workshop, we will explore a particular style, tiny asynchronous services, that was the core of one of the most successful implementations. Given an animated specification of flow, we will embark on delivering the proposed services, wrestling with the issues common to this new paradigm. Participants have a choice of languages, with new starting code in Java, C#, and Ruby. At the end of the workshop, we will discuss MicroServices challenges and organizations that are optimized for such architectures.
-
keyboard_arrow_down
IoT and MicroServices
45 Mins
Talk
Intermediate
IoT, the prevalence of specialized interconnected devices, has invaded business and home. The myriad of devices, hubs, and APIs has created a Tower of Babel that makes the Android phone scene seem mild. Such devices are inherently less network reliable than previous products, primarily due to the casual attachment (convenient outlets). Add to this heterogeneous soup the security exposure that has already been exploited in DDoS attacks, and you have an environment begging for technical solutions.
We propose Asynchronous MicroServices as a solution. Borrowing a page from historical J2ME thinking and more recent implementations using IFTTT, we introduce small bridging MicroServices for the various devices. Further, also consistent with MicroServices, we keep these services very simple: They broadcast device status to an event bus, or listen for action commands to relay to the devices from the same bus. Interaction among the various IoT devices is delegated to yet another set of MicroServices.
One exemplary composite application would accept signals from motion detectors to turn on appropriate lights, or alternatively alerting the owner of unauthorized intrusion. Using the same motion detectors, lights can be dimmed and eventually turned off. Room temperatures and even audio/video gear could be adjusted as well. Using Asynchronous MicroServices, we can also set up controlled access from the outside world, rather than exposing each device with its own vulnerabilities.
Finally, we wrap up talking about the challenges of implementing this in my own flat using Hue lights, Amazon Alexa, and 4th generation Apple TV. We run these MicroServices in local containers attached to the same home network. Docker support of ARM devices enables low-cost redundancy as well.
-
keyboard_arrow_down
Microservices - Let's Build Some (V2)
480 Mins
Workshop
Intermediate
While “micro-services” is becoming a heavily over-worked term, it has been interpreted many ways. In this hands-on workshop we will explore a particular style, tiny asynchronous services, that was the core of one of the most successful implementations.
WHAT WILL I LEARN
Given an animated specification of flow, we will embark on delivering the proposed services, wrestling with the issues common to this new paradigm. Participants have a choice of languages, with new starting code in Java, C#, and Ruby. At the end of the workshop, we will discuss MicroServices challenges and organizations that are optimized for such architectures.
-
keyboard_arrow_down
IoT and MicroServices
45 Mins
Talk
Intermediate
IoT, the prevalence of specialized interconnected devices, has invaded business and home. The myriad of devices, hubs, and APIs has created a Tower of Babel that makes the Android phone scene seem mild. Such devices are inherently less network reliable than previous products, primarily due to the casual attachment (convenient outlets). Add to this heterogeneous soup the security exposure that has already been exploited in DDoS attacks, and you have an environment begging for technical solutions.
We propose Asynchronous MicroServices as a solution. Borrowing a page from historical J2ME thinking and more recent implementations using IFTTT, we introduce small bridging MicroServices for the various devices. Further, also consistent with MicroServices, we keep these services very simple: They broadcast device status to an event bus, or listen for action commands to relay to the devices from the same bus. Interaction among the various IoT devices is delegated to yet another set of MicroServices.
One exemplary composite application would accept signals from motion detectors to turn on appropriate lights, or alternatively alerting the owner of unauthorized intrusion. Using the same motion detectors, lights can be dimmed and eventually turned off. Room temperatures and even audio/video gear could be adjusted as well. Using Asynchronous MicroServices, we can also set up controlled access from the outside world, rather than exposing each device with its own vulnerabilities.
Finally we wrap up talking about the challenges of implementing this in my own flat using Hue lights, Amazon Alexa, and 4th generation Apple TV. We run these MicroServices in local containers attached to the same home network. Docker support of ARM devices enables low cost redundancy as well.
-
keyboard_arrow_down
IoT and MicroServices
45 Mins
Talk
Intermediate
IoT, the prevalence of specialized interconnected devices, has invaded business and home. The myriad of devices, hubs, and APIs has created a Tower of Babel that makes the Android phone scene seem mild. Such devices are inherently less network reliable than previous products, primarily due to the casual attachment (convenient outlets). Add to this heterogeneous soup the security exposure that has already been exploited in DDoS attacks, and you have an environment begging for technical solutions.
We propose Asynchronous MicroServices as a solution. Borrowing a page from historical J2ME thinking and more recent implementations using IFTTT, we introduce small bridging MicroServices for the various devices. Further, also consistent with MicroServices, we keep these services very simple: They broadcast device status to an event bus, or listen for action commands to relay to the devices from the same bus. Interaction among the various IoT devices is delegated to yet another set of MicroServices.
One exemplary composite application would accept signals from motion detectors to turn on appropriate lights, or alternatively alerting the owner of unauthorized intrusion. Using the same motion detectors, lights can be dimmed and eventually turned off. Room temperatures and even audio/video gear could be adjusted as well. Using Asynchronous MicroServices, we can also set up controlled access from the outside world, rather than exposing each device with its own vulnerabilities.
Finally we wrap up talking about the challenges of implementing this in my own flat using Hue lights, Amazon Alexa, and 4th generation Apple TV. We run these MicroServices in local containers attached to the same home network. Docker support of ARM devices enables low cost redundancy as well.
-
keyboard_arrow_down
Challenges in Implementing MicroServices
45 Mins
Talk
Intermediate
MicroService Architectures has debuted on the ThoughtWorks Technology Radar as the first technology they address, and with strong recommendations to immediately experiment. In this talk, we discuss the challenges we have faced at three different companies in implementing MicroServices (successfully!), and the different ways we addressed the challenges.
-
keyboard_arrow_down
Go Faster: Remove the Inhibitors to Innovation
45 Mins
Talk
Advanced
A common theme runs through conferences, whether focused on MicroServices, DevOps, Lean Startup, or a myriad of other popular topics: Enabling an organization to Go Faster . I explore the need to go faster (which is hardly new), and three areas inhibitors arise: Technology choices, staid business Processes, and traditional Organization structures and roles. For each, I cite personal experiences in overcoming each.
-
keyboard_arrow_down
MicroServices: Let's Build Some!
480 Mins
Workshop
Intermediate
It is one thing to talk about MicroServices. It is another altogether to have to build them.
After a brief introduction of MicroService principles, we will watch an animation of a MicroService environment. We will start with a pre-built skeleton microservice 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.
In the final stage, different pairs will implement different services, yet they will all run together implementing the animation.
We wrap up with the participants making observations on what they learned (and how it may be different from MicroServices they are currently implementing, if any).
-
keyboard_arrow_down
Enabling Emergent Technologies
60 Mins
Keynote
Intermediate
The latest new, cool tool comes along. Will you be allowed to use it? Probably not! So how can you change that?
This presentation looks at the introduction of new technologies at three companies, The Forward Internet Group in London (a startup originally, now grown to 400+); MailOnline, the online version of the Daily Mail newspaper from London (a very old organization with an existing IT shop); and Outpace, a Silicon Valley startup.
In both cases, Programmer Anarchy was introduced. This managerless process (not unlike GitHub in its value propositions) empowered the programmers to make technology choices and to freely experiment with new technology. In the case of Forward, massive growth and profits ensued. In the case of MailOnline, redevelopment of core systems into new technology has been launched, and expectations significantly exceeded.
This presentation will touch on the various aspects of implementing Programmer Anarchy at MailOnline:
-
Team building through programmer training
-
Pilot project without managers, BA’s or dedicated testers
-
Reinforce the model with new HR structure emphasizing skills over titles
-
Create selforganizing teams of 58 developers (multiple such teams)
-
Charter teams with a specific project, and let them deliver
- Avoid artificial schedule pressure
The intent is to provide a possible roadmap to get your latest technical toys moved into production systems.
-
-
No more submissions exist.
-
No more submissions exist.