SlideShare a Scribd company logo
Experience Report: Scala
usage at Capital IQ ClariFI
        Paul Chiusano
About us

 We make software for quantitative investment management
 Sell to asset managers, hedge funds, etc
 Flagship product, ClariFI
    Portfolio optimization
    Model/factor building, backtesting
    Performance/risk attribution
    Building, simulating trading strategies
    Screening, event studies
    Overall data management
    Etc...
 Founded in 2000, acquired by Capital IQ (itself owned by
 S&P) in 2007
 Team size: 20 devs
Our first Scala project

  About 2 yrs ago, needed to rewrite/redesign PA backend
  FP a natural fit for the domain
  Scala the clear winner among JVM FP languages
Results highlights

  Scala implementation about 1/3 the LOC, comparable
  memory usage and speed
      More generic, modular
  New code had much better testing
      ScalaCheck a major win
      On a few occasions, discovered bugs in old
      implementation
  In production now for over a year
Since then

 Used Scala on another major project, more on the way
    Scala well-suited for backend / analytics layer
 Several other devs have now used Scala in some capacity
 Actively hiring people with Scala/FP experience
Scala: the good

  Scala/Java integration
  Basic functional idioms
  The type system
  Optional non-strict evaluation
Scala: the bad

  IDE support (as of 2008)
  Scala generics vs Java generics
  Limited, unpredictable type inference
  Function values are monomorphic
  Weak standard library
More on our environment

 Scala code in a separate project, exports a .jar
 Tools: Eclipse, NetBeans, Ant, ScalaCheck + JUnit, SBinary
 More recently: Vim, sbt, Scalaz
How hard is Scala to learn?

  Learning curve can be very gradual
     Type system probably biggest stumbling block
  Deep FP knowledge takes a long time to develop
     Requires shift in mindset
     Hard to find people with deep experience
Other takeaways

 Good design is hard
 Rewrites not always bad
Any questions?

 More info at my blog: pchiusano.blogspot.com
 Also on twitter: @pchiusano
 email: paul.chiusano@gmail.com
 Our website: clarifi.com

More Related Content

Viewers also liked

Adzzoo Flyer
Adzzoo FlyerAdzzoo Flyer
Adzzoo Flyer
Custom Care Courier
 
Man pro 06 pjm
Man pro 06 pjmMan pro 06 pjm
Man pro 06 pjm
Wisma 46
 
뮤지컬 장기려 그사람
뮤지컬 장기려 그사람뮤지컬 장기려 그사람
뮤지컬 장기려 그사람
Ben Kim
 
기도함으로멈추다20110220
기도함으로멈추다20110220기도함으로멈추다20110220
기도함으로멈추다20110220
Ben Kim
 
섬김이 교사들_나들목 중고등부 2011 여름 수련회
섬김이 교사들_나들목 중고등부 2011 여름 수련회섬김이 교사들_나들목 중고등부 2011 여름 수련회
섬김이 교사들_나들목 중고등부 2011 여름 수련회
Ben Kim
 
뜻 있는 직업, 뜻 밖의 찾음
뜻 있는 직업, 뜻 밖의 찾음뜻 있는 직업, 뜻 밖의 찾음
뜻 있는 직업, 뜻 밖의 찾음
Ben Kim
 
4개국어 쉽고 재밌게 배우기
4개국어 쉽고 재밌게 배우기4개국어 쉽고 재밌게 배우기
4개국어 쉽고 재밌게 배우기
Ben Kim
 
평화와 한국전쟁
평화와 한국전쟁평화와 한국전쟁
평화와 한국전쟁
Ben Kim
 
Beyond Mere Actors
Beyond Mere ActorsBeyond Mere Actors
Beyond Mere Actors
Boston Area Scala Enthusiasts
 

Viewers also liked (10)

Adzzoo Flyer
Adzzoo FlyerAdzzoo Flyer
Adzzoo Flyer
 
Man pro 06 pjm
Man pro 06 pjmMan pro 06 pjm
Man pro 06 pjm
 
Semana Santa
Semana SantaSemana Santa
Semana Santa
 
뮤지컬 장기려 그사람
뮤지컬 장기려 그사람뮤지컬 장기려 그사람
뮤지컬 장기려 그사람
 
기도함으로멈추다20110220
기도함으로멈추다20110220기도함으로멈추다20110220
기도함으로멈추다20110220
 
섬김이 교사들_나들목 중고등부 2011 여름 수련회
섬김이 교사들_나들목 중고등부 2011 여름 수련회섬김이 교사들_나들목 중고등부 2011 여름 수련회
섬김이 교사들_나들목 중고등부 2011 여름 수련회
 
뜻 있는 직업, 뜻 밖의 찾음
뜻 있는 직업, 뜻 밖의 찾음뜻 있는 직업, 뜻 밖의 찾음
뜻 있는 직업, 뜻 밖의 찾음
 
4개국어 쉽고 재밌게 배우기
4개국어 쉽고 재밌게 배우기4개국어 쉽고 재밌게 배우기
4개국어 쉽고 재밌게 배우기
 
평화와 한국전쟁
평화와 한국전쟁평화와 한국전쟁
평화와 한국전쟁
 
Beyond Mere Actors
Beyond Mere ActorsBeyond Mere Actors
Beyond Mere Actors
 

Similar to Commercial Usage Of Scala At Capital Iq Clari F

Zalando Tech: From Java to Scala in Less Than Three Months
Zalando Tech: From Java to Scala in Less Than Three MonthsZalando Tech: From Java to Scala in Less Than Three Months
Zalando Tech: From Java to Scala in Less Than Three Months
Zalando Technology
 
Scala adoption by enterprises
Scala adoption by enterprisesScala adoption by enterprises
Scala adoption by enterprises
Mike Slinn
 
What is scala
What is scalaWhat is scala
What is scala
Piyush Katariya
 
Why scala - executive overview
Why scala - executive overviewWhy scala - executive overview
Why scala - executive overview
Razvan Cojocaru
 
From java to scala at crowd mix
From java to scala at crowd mixFrom java to scala at crowd mix
From java to scala at crowd mix
Stefano Galarraga
 
Scala Introduction - Meetup Scaladores RJ
Scala Introduction - Meetup Scaladores RJScala Introduction - Meetup Scaladores RJ
Scala Introduction - Meetup Scaladores RJ
Rodrigo Lima
 
Ahmed Kamal - Software Development Expert
Ahmed Kamal - Software Development ExpertAhmed Kamal - Software Development Expert
Ahmed Kamal - Software Development Expert
Ahmed Kamal
 
Refactoring to Scala DSLs and LiftOff 2009 Recap
Refactoring to Scala DSLs and LiftOff 2009 RecapRefactoring to Scala DSLs and LiftOff 2009 Recap
Refactoring to Scala DSLs and LiftOff 2009 Recap
Dave Orme
 
Functional Scala 2022 - scalajs Alexis.pdf
Functional Scala 2022 - scalajs Alexis.pdfFunctional Scala 2022 - scalajs Alexis.pdf
Functional Scala 2022 - scalajs Alexis.pdf
ssusercd195b
 
Experience Converting from Ruby to Scala
Experience Converting from Ruby to ScalaExperience Converting from Ruby to Scala
Experience Converting from Ruby to Scala
John Nestor
 
Scala in practice
Scala in practiceScala in practice
Scala in practice
Tomer Gabel
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
Kasra Khosravi
 
The Scala Programming Language
The Scala Programming LanguageThe Scala Programming Language
The Scala Programming Language
Haim Michael
 
Scala and spark
Scala and sparkScala and spark
Scala and spark
Janu Jahnavi
 
Computer software specialists wikki verma
Computer software specialists   wikki vermaComputer software specialists   wikki verma
Computer software specialists wikki verma
Livingston Technology Solution
 
An Introduction to Scala
An Introduction to ScalaAn Introduction to Scala
An Introduction to ScalaBrent Lemons
 
Ahmed Kamal CV
Ahmed Kamal CVAhmed Kamal CV
Ahmed Kamal CV
Ahmed Kamal
 
Apcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go languageApcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go language
Derek Collison
 
Whitepages Practical Experience Converting from Ruby to Reactive
Whitepages Practical Experience Converting from Ruby to ReactiveWhitepages Practical Experience Converting from Ruby to Reactive
Whitepages Practical Experience Converting from Ruby to Reactive
Dragos Manolescu
 

Similar to Commercial Usage Of Scala At Capital Iq Clari F (20)

Zalando Tech: From Java to Scala in Less Than Three Months
Zalando Tech: From Java to Scala in Less Than Three MonthsZalando Tech: From Java to Scala in Less Than Three Months
Zalando Tech: From Java to Scala in Less Than Three Months
 
Scala adoption by enterprises
Scala adoption by enterprisesScala adoption by enterprises
Scala adoption by enterprises
 
What is scala
What is scalaWhat is scala
What is scala
 
Why scala - executive overview
Why scala - executive overviewWhy scala - executive overview
Why scala - executive overview
 
From java to scala at crowd mix
From java to scala at crowd mixFrom java to scala at crowd mix
From java to scala at crowd mix
 
Scala Introduction - Meetup Scaladores RJ
Scala Introduction - Meetup Scaladores RJScala Introduction - Meetup Scaladores RJ
Scala Introduction - Meetup Scaladores RJ
 
Ahmed Kamal - Software Development Expert
Ahmed Kamal - Software Development ExpertAhmed Kamal - Software Development Expert
Ahmed Kamal - Software Development Expert
 
Refactoring to Scala DSLs and LiftOff 2009 Recap
Refactoring to Scala DSLs and LiftOff 2009 RecapRefactoring to Scala DSLs and LiftOff 2009 Recap
Refactoring to Scala DSLs and LiftOff 2009 Recap
 
Functional Scala 2022 - scalajs Alexis.pdf
Functional Scala 2022 - scalajs Alexis.pdfFunctional Scala 2022 - scalajs Alexis.pdf
Functional Scala 2022 - scalajs Alexis.pdf
 
Experience Converting from Ruby to Scala
Experience Converting from Ruby to ScalaExperience Converting from Ruby to Scala
Experience Converting from Ruby to Scala
 
Scala in practice
Scala in practiceScala in practice
Scala in practice
 
Pranab Saha
Pranab SahaPranab Saha
Pranab Saha
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
 
The Scala Programming Language
The Scala Programming LanguageThe Scala Programming Language
The Scala Programming Language
 
Scala and spark
Scala and sparkScala and spark
Scala and spark
 
Computer software specialists wikki verma
Computer software specialists   wikki vermaComputer software specialists   wikki verma
Computer software specialists wikki verma
 
An Introduction to Scala
An Introduction to ScalaAn Introduction to Scala
An Introduction to Scala
 
Ahmed Kamal CV
Ahmed Kamal CVAhmed Kamal CV
Ahmed Kamal CV
 
Apcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go languageApcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go language
 
Whitepages Practical Experience Converting from Ruby to Reactive
Whitepages Practical Experience Converting from Ruby to ReactiveWhitepages Practical Experience Converting from Ruby to Reactive
Whitepages Practical Experience Converting from Ruby to Reactive
 

Recently uploaded

Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 

Recently uploaded (20)

Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 

Commercial Usage Of Scala At Capital Iq Clari F

  • 1. Experience Report: Scala usage at Capital IQ ClariFI Paul Chiusano
  • 2. About us We make software for quantitative investment management Sell to asset managers, hedge funds, etc Flagship product, ClariFI Portfolio optimization Model/factor building, backtesting Performance/risk attribution Building, simulating trading strategies Screening, event studies Overall data management Etc... Founded in 2000, acquired by Capital IQ (itself owned by S&P) in 2007 Team size: 20 devs
  • 3. Our first Scala project About 2 yrs ago, needed to rewrite/redesign PA backend FP a natural fit for the domain Scala the clear winner among JVM FP languages
  • 4. Results highlights Scala implementation about 1/3 the LOC, comparable memory usage and speed More generic, modular New code had much better testing ScalaCheck a major win On a few occasions, discovered bugs in old implementation In production now for over a year
  • 5. Since then Used Scala on another major project, more on the way Scala well-suited for backend / analytics layer Several other devs have now used Scala in some capacity Actively hiring people with Scala/FP experience
  • 6. Scala: the good Scala/Java integration Basic functional idioms The type system Optional non-strict evaluation
  • 7. Scala: the bad IDE support (as of 2008) Scala generics vs Java generics Limited, unpredictable type inference Function values are monomorphic Weak standard library
  • 8. More on our environment Scala code in a separate project, exports a .jar Tools: Eclipse, NetBeans, Ant, ScalaCheck + JUnit, SBinary More recently: Vim, sbt, Scalaz
  • 9. How hard is Scala to learn? Learning curve can be very gradual Type system probably biggest stumbling block Deep FP knowledge takes a long time to develop Requires shift in mindset Hard to find people with deep experience
  • 10. Other takeaways Good design is hard Rewrites not always bad
  • 11. Any questions? More info at my blog: pchiusano.blogspot.com Also on twitter: @pchiusano email: paul.chiusano@gmail.com Our website: clarifi.com