SlideShare a Scribd company logo
OOP VS FUNCTIONAL:
STOP THE FIGHT AND START BUILDING
MESSAGE DRIVEN
SERVELESS APPLICATIONS
November 20th 2018 – Codemotion, Berlin
A l e s s a n d r o C o n f e t t i
Datalake Pipeline
Amazon

Athena
S3
Lambda
Batch
data_lake
EMR
data_lake
Amazon ES
SNS
email
AWS
Lambda
Lambda
load_data
SNS
load_data
Lambda
load_athena
Batch
data_lake
SNS

load_athena
S3
01_raw_data
S3
02_type_data
03_entities
SNS
info
SNS

error
metadata sql tableparquet files
S3

03_entities
html report
Upload
event
csv file
upload
S3
01_raw_data
csv files
S3
01_raw_data
metadata
+
csv files S3
02_type_data
03_entities
parquet files
S3
01_raw_data
metadata
ECR
data_lake
S3
artefacts
scripts
docker image
docker image docker image
S3
03_entities
Tableau
Redash
Metadata
validation/fix
(optional)
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
3
John McCharty [1927-2011]

(image by "null0" CC BY-SA 2.0)
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
LISP
4
(image By Lisp CC BY-SA 4.0)
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
5
XKCD - Permanent link to this comic
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
(print "Hello world")
6
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
LIS(t) P(rocessor)
7
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
LISP was the first homoiconic
programming language
8
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
9
XKCD - Permanent link to this comic
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
…LISP has jokingly been described as “the most
intelligent way to misuse a computer”. I think that
description a great compliment because it transmits
the full flavour of liberation: it has assisted a
number of our most gifted fellow humans in thinking
previously impossible thoughts…
10
Edsger W. Dijkstra,1972 Turing Award Lecture
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
11
Alan Kay [1940-present]

(image by Marcin Wichary from San Francisco, U.S.A. - Alan Kay, CC BY 2.0)
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
SMALLTALK
12
(Byte Magazine Vol. 6 No. 8 cover, August 1981)
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
The problem with object-oriented languages 

is they've got all this implicit environment that
they carry around with them. You wanted a
banana but what you got was a gorilla
holding the banana and the entire jungle.
13
Joe Amstrong, Coders at Work (ISBN 978-1430219484)
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
Transcript show: 'Hello, world!'.
14
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
I'm sorry that I long ago coined 

the term "objects" for this topic
because it gets many people 

to focus on the lesser idea. 

The big idea is "messaging"
15
Alan Kay, 1998 Squeak-dev mailing list
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
Smalltalk
is about making
small talk in a kind way
16
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
17
XKCD - Permanent link to this comic
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
Smalltalk #doesNotUnderstand 

is sent first to the receiver
18
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
19
LISP SMALLTALK
Focus on data structures Focus on messaging
Functions are used to organise and compose
transformation of data structures
Classes are used to organise behaviour and
object to persist data
Reflection through homoiconicity Reflection through meta-models
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
SERVERLESS COMPUTING…
…the most intelligent way to misuse 

a bunch of computers
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
“The Internet would not have happened nearly as
soon as it did except for the fact that John initiated
the development of time-sharing systems. We keep
inventing new names for time-sharing. It came to be
called servers.... Now we call it cloud computing.
That is still just time-sharing. John started it."
21
Lester Earnest, October 28, 2011 Los Anagels Times
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
I HAVE A LONG STORY OF COMPUTER MISUSE…
22
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
CPU 6502 @ 1.023MHz
Memory 64 KB RAM (up to 1 MB)
NATURAL LANGUAGE PARSER
80s
CPU 68LC040 @ 25 MHz
Memory 4 MB RAM (up to 36 MB)
CODING IN SMALLTALK
90s
CPU Core i7 @ 2,7 GHz
Memory 16 GB RAM)
RUNNING A FULL K8S
00s
AWS LAMBDA SERVERLESS COMPUTING
23
Image from AWS Lambda official page
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
Nitro (custom kvm on top of custom asisc)
DO YOU STILL THINK OPTIMISATION IS THE KEY?
24
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
Node
Pod
JVM
Node
YOUR CODE IS HERE!!!
Fabio Tiriticco Akka Cluster versus Kubernetes: Clustering Solutions Showdown
Datalake Pipeline
Amazon

Athena
S3
Lambda
Batch
data_lake
EMR
data_lake
Amazon ES
SNS
email
AWS
Lambda
Lambda
load_data
SNS
load_data
Lambda
load_athena
Batch
data_lake
SNS
S3
01_raw_data
S3
02_type_data
03_entities
SNS
info
SNS

error
metadata sql tableparquet files
S3

03_entities
html report
Upload
event
csv file
upload
S3
01_raw_data
csv files
S3
01_raw_data
metadata
+
csv files S3
02_type_data
03_entities
parquet files
S3
01_raw_data
metadata
ECR
data_lake
S3
artefacts
scripts
docker image
docker image docker image
S3
03_entities
Tableau
Redash
Metadata
validation/fix
(optional)
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
26
SERVERLESS
Send
meaningful data structure 

to topics & queues
Use namespaces to group 

your data and functions
Move from monitoring to observability

(notify what’s going on 

or what you expect to happen next 

with meaningful messages)
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
LISP SMALLTALK
Focus on data structures Focus on messaging
Functions are used to organise
and compose transformation of
data structures
Classes are used to organise
behaviour and object to persist
data
Reflection through
homoiconicity
Reflection through meta-
models
“The key in making great and growable systems is much
more to design how its modules communicate rather
than what their internal properties and behaviors should be. 

Think of the internet -- to live, it (a) has to allow many
different kinds of ideas and realizations that are beyond
any single standard and (b) to allow varying degrees of
safe interoperability between these ideas.”
27
Alan Kay, 1998 Squeak-dev mailing list
Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
$ tail -f questions
28
Alessandro Confetti
aconfet@thoughtworks.com
twitter @zigolab 

blog http://blog.zigolab.it
WE ARE HIRING IN ITALY!
i n f o - i t @ t h o u g h t w o r k s . c o m
TECNOLOGY RADAR VOL19
https://info.thoughtworks.com/technology-radar-subscription.html

More Related Content

PPTX
Graph Databases
PDF
How to avoid a web 3.0 babele transclusions and folksonomies in a content-a...
PDF
Beyond Web Interfaces
PDF
How to avoid a web 3.0 babele transclusions and folksonomies in a content-a...
PDF
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
PDF
MongoDB World 2019: Ticketek: Scaling to Global Ticket Sales with MongoDB Atlas
PDF
The Scout24 Data Platform (A Technical Deep Dive)
PDF
Saving Human Lives with the IoT
Graph Databases
How to avoid a web 3.0 babele transclusions and folksonomies in a content-a...
Beyond Web Interfaces
How to avoid a web 3.0 babele transclusions and folksonomies in a content-a...
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
MongoDB World 2019: Ticketek: Scaling to Global Ticket Sales with MongoDB Atlas
The Scout24 Data Platform (A Technical Deep Dive)
Saving Human Lives with the IoT

Similar to Alessandro Confetti - Oop vs functional: stop the fight and start building message driven serverless applications - Codemotion Berlin 2018 (20)

PDF
20141021 AWS Cloud Taekwon - Big Data on AWS
PDF
LINEデリマでのElasticsearchの運用と監視の話
PDF
Encode Club Hackathon
PPTX
Implementing Analytics in High-Traffic Social Games
PPTX
Alessandro Confetti - Learn how to build decentralized and serverless html5 a...
PDF
How to Leverage Machine Learning (R, Hadoop, Spark, H2O) for Real Time Proces...
PDF
Learn how to build decentralized and serverless html5 applications with Embar...
PDF
Learn how to build decentralized and serverless html5 applications with embar...
PPTX
OpenChain Automation Case Study - September to December 2021
PDF
Flutter SV Meetup Oct 2022 - End to end encrypted IoT with Dart and Flutter
PDF
Reverse_Engineering_of_binary_File_Formats.pdf
PDF
Kubecon SIG Apps December 2017 Update
PDF
Making it easy to work with data
PDF
AWS re:Invent re:Cap - 데이터 분석: Amazon EC2 C4 Instance + Amazon EBS - 김일호
PPT
A Semantic Multimedia Web (Part 3)
PDF
Serverless Applications on AWS
PDF
Spark Streaming Intro @KTech
PPTX
Linked Data applications for BIM
PDF
The future will be Serverless (FrontConf Munich 2017)
PPTX
Net conf ar v2018 real time analytics
20141021 AWS Cloud Taekwon - Big Data on AWS
LINEデリマでのElasticsearchの運用と監視の話
Encode Club Hackathon
Implementing Analytics in High-Traffic Social Games
Alessandro Confetti - Learn how to build decentralized and serverless html5 a...
How to Leverage Machine Learning (R, Hadoop, Spark, H2O) for Real Time Proces...
Learn how to build decentralized and serverless html5 applications with Embar...
Learn how to build decentralized and serverless html5 applications with embar...
OpenChain Automation Case Study - September to December 2021
Flutter SV Meetup Oct 2022 - End to end encrypted IoT with Dart and Flutter
Reverse_Engineering_of_binary_File_Formats.pdf
Kubecon SIG Apps December 2017 Update
Making it easy to work with data
AWS re:Invent re:Cap - 데이터 분석: Amazon EC2 C4 Instance + Amazon EBS - 김일호
A Semantic Multimedia Web (Part 3)
Serverless Applications on AWS
Spark Streaming Intro @KTech
Linked Data applications for BIM
The future will be Serverless (FrontConf Munich 2017)
Net conf ar v2018 real time analytics
Ad

More from Codemotion (20)

PDF
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
PDF
Pompili - From hero to_zero: The FatalNoise neverending story
PPTX
Pastore - Commodore 65 - La storia
PPTX
Pennisi - Essere Richard Altwasser
PPTX
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
PPTX
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
PPTX
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
PPTX
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
PDF
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
PDF
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
PDF
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
PDF
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
PDF
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
PDF
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
PPTX
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
PPTX
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
PDF
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
PDF
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
PDF
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
PDF
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Pompili - From hero to_zero: The FatalNoise neverending story
Pastore - Commodore 65 - La storia
Pennisi - Essere Richard Altwasser
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Ad

Recently uploaded (20)

PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Machine Learning_overview_presentation.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Approach and Philosophy of On baking technology
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Cloud computing and distributed systems.
PPT
Teaching material agriculture food technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
Chapter 3 Spatial Domain Image Processing.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
The AUB Centre for AI in Media Proposal.docx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Machine Learning_overview_presentation.pptx
Spectral efficient network and resource selection model in 5G networks
Approach and Philosophy of On baking technology
A comparative analysis of optical character recognition models for extracting...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Unlocking AI with Model Context Protocol (MCP)
Cloud computing and distributed systems.
Teaching material agriculture food technology
Review of recent advances in non-invasive hemoglobin estimation
“AI and Expert System Decision Support & Business Intelligence Systems”
MIND Revenue Release Quarter 2 2025 Press Release
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Encapsulation theory and applications.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
20250228 LYD VKU AI Blended-Learning.pptx

Alessandro Confetti - Oop vs functional: stop the fight and start building message driven serverless applications - Codemotion Berlin 2018

  • 1. OOP VS FUNCTIONAL: STOP THE FIGHT AND START BUILDING MESSAGE DRIVEN SERVELESS APPLICATIONS November 20th 2018 – Codemotion, Berlin A l e s s a n d r o C o n f e t t i
  • 2. Datalake Pipeline Amazon
 Athena S3 Lambda Batch data_lake EMR data_lake Amazon ES SNS email AWS Lambda Lambda load_data SNS load_data Lambda load_athena Batch data_lake SNS
 load_athena S3 01_raw_data S3 02_type_data 03_entities SNS info SNS
 error metadata sql tableparquet files S3
 03_entities html report Upload event csv file upload S3 01_raw_data csv files S3 01_raw_data metadata + csv files S3 02_type_data 03_entities parquet files S3 01_raw_data metadata ECR data_lake S3 artefacts scripts docker image docker image docker image S3 03_entities Tableau Redash Metadata validation/fix (optional) Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 3. 3 John McCharty [1927-2011]
 (image by "null0" CC BY-SA 2.0) Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 4. LISP 4 (image By Lisp CC BY-SA 4.0) Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 5. 5 XKCD - Permanent link to this comic Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 6. (print "Hello world") 6 Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 7. LIS(t) P(rocessor) 7 Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 8. LISP was the first homoiconic programming language 8 Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 9. 9 XKCD - Permanent link to this comic Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 10. …LISP has jokingly been described as “the most intelligent way to misuse a computer”. I think that description a great compliment because it transmits the full flavour of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts… 10 Edsger W. Dijkstra,1972 Turing Award Lecture Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 11. 11 Alan Kay [1940-present]
 (image by Marcin Wichary from San Francisco, U.S.A. - Alan Kay, CC BY 2.0) Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 12. SMALLTALK 12 (Byte Magazine Vol. 6 No. 8 cover, August 1981) Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 13. The problem with object-oriented languages 
 is they've got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle. 13 Joe Amstrong, Coders at Work (ISBN 978-1430219484) Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 14. Transcript show: 'Hello, world!'. 14 Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 15. I'm sorry that I long ago coined 
 the term "objects" for this topic because it gets many people 
 to focus on the lesser idea. 
 The big idea is "messaging" 15 Alan Kay, 1998 Squeak-dev mailing list Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 16. Smalltalk is about making small talk in a kind way 16 Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 17. 17 XKCD - Permanent link to this comic Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 18. Smalltalk #doesNotUnderstand 
 is sent first to the receiver 18 Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 19. 19 LISP SMALLTALK Focus on data structures Focus on messaging Functions are used to organise and compose transformation of data structures Classes are used to organise behaviour and object to persist data Reflection through homoiconicity Reflection through meta-models Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 20. SERVERLESS COMPUTING… …the most intelligent way to misuse 
 a bunch of computers Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 21. “The Internet would not have happened nearly as soon as it did except for the fact that John initiated the development of time-sharing systems. We keep inventing new names for time-sharing. It came to be called servers.... Now we call it cloud computing. That is still just time-sharing. John started it." 21 Lester Earnest, October 28, 2011 Los Anagels Times Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 22. I HAVE A LONG STORY OF COMPUTER MISUSE… 22 Alessandro Confetti - November 20th 2018 – Codemotion, Berlin CPU 6502 @ 1.023MHz Memory 64 KB RAM (up to 1 MB) NATURAL LANGUAGE PARSER 80s CPU 68LC040 @ 25 MHz Memory 4 MB RAM (up to 36 MB) CODING IN SMALLTALK 90s CPU Core i7 @ 2,7 GHz Memory 16 GB RAM) RUNNING A FULL K8S 00s
  • 23. AWS LAMBDA SERVERLESS COMPUTING 23 Image from AWS Lambda official page Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 24. Nitro (custom kvm on top of custom asisc) DO YOU STILL THINK OPTIMISATION IS THE KEY? 24 Alessandro Confetti - November 20th 2018 – Codemotion, Berlin Node Pod JVM Node YOUR CODE IS HERE!!! Fabio Tiriticco Akka Cluster versus Kubernetes: Clustering Solutions Showdown
  • 25. Datalake Pipeline Amazon
 Athena S3 Lambda Batch data_lake EMR data_lake Amazon ES SNS email AWS Lambda Lambda load_data SNS load_data Lambda load_athena Batch data_lake SNS S3 01_raw_data S3 02_type_data 03_entities SNS info SNS
 error metadata sql tableparquet files S3
 03_entities html report Upload event csv file upload S3 01_raw_data csv files S3 01_raw_data metadata + csv files S3 02_type_data 03_entities parquet files S3 01_raw_data metadata ECR data_lake S3 artefacts scripts docker image docker image docker image S3 03_entities Tableau Redash Metadata validation/fix (optional) Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 26. 26 SERVERLESS Send meaningful data structure 
 to topics & queues Use namespaces to group 
 your data and functions Move from monitoring to observability
 (notify what’s going on 
 or what you expect to happen next 
 with meaningful messages) Alessandro Confetti - November 20th 2018 – Codemotion, Berlin LISP SMALLTALK Focus on data structures Focus on messaging Functions are used to organise and compose transformation of data structures Classes are used to organise behaviour and object to persist data Reflection through homoiconicity Reflection through meta- models
  • 27. “The key in making great and growable systems is much more to design how its modules communicate rather than what their internal properties and behaviors should be. 
 Think of the internet -- to live, it (a) has to allow many different kinds of ideas and realizations that are beyond any single standard and (b) to allow varying degrees of safe interoperability between these ideas.” 27 Alan Kay, 1998 Squeak-dev mailing list Alessandro Confetti - November 20th 2018 – Codemotion, Berlin
  • 28. $ tail -f questions 28 Alessandro Confetti aconfet@thoughtworks.com twitter @zigolab 
 blog http://blog.zigolab.it
  • 29. WE ARE HIRING IN ITALY! i n f o - i t @ t h o u g h t w o r k s . c o m TECNOLOGY RADAR VOL19 https://info.thoughtworks.com/technology-radar-subscription.html