Look ma, No Frameworks
Pablo Chacin
Motivation
So, you are a
Java developer?
What frameworks
do you use?
I don’t use any
framework
What’s wrong with frameworks?
This is not (only) a rant
against frameworks,
but an analysis of the
consequences of using
them and a proposal
for alternatives.
Frameworkitis
“Is the disease that
a framework wants
to do too much for
you or it does it in a
way that you don't
want but you can't
change it”
Erich Gamma
“We might have been able to use
Ruby on Rails. But It also adds a
bunch of requirements for stuff you
then have to write
so everything will
work nicely with
your framework”
Node at LinkedIn: The Pursuit of Thinner, Lighter, Faster
Unneeded Stuff
Easy Yet Complex
“Many complicating
constructs are easy
to use. However,
what matters is the
complexity they yield.
And such complexity
is incidental to the
problem”
Rich Hickey, author of Clojure
Power Requires Discipline
“And because you
stand on the shoulders
of giants, you can
accomplish something
quickly. You don’t even
know exactly what you
have done.”
Dr. Ian Malcolm
Restriction in Choices
“Why did I leave .NET?
In short, it constrained
our ability to choose and
turned our focus towards
safety instead of helping
us experience all of the
possibilities out there”
Jonathan Oliver, Why I left .Net
Design as Learning
“While we all need to
write code that others
can use and maintain, I
hope part of that
process involves trying
to increase our
collective knowledge”
James Coglan
“How do you teach
magic to junior
developers?”
Greg Young, 8 lines of code
The Problems with Magic
Why Agile Development won’t help
“Software gets about 10x
bigger each decade. So while
our attention has been
focused on fixing process
problems, our software got an
order of magnitude bigger. In
my opinion, it's time to turn
our attention back to design.”
George Fairbanks, Just Enough
Software Architecture
Hints for a Solution
Create a vision
Follow a risk driven
design process
Document relevant
elements in a
meaningful way
Define your Style
Provide
a vocabulary
to describe
your system
and reason about
its properties.
Unix’s Pipe Style
Write programs that
do one thing well
and work together
by handling text
streams as a
universal interface.
The problem with styles
Msg. Passing EventsPipes Micro Services
(a.k.a SOA)
OOP
Document Relevant Structure
Follow a Risk-Driven Process
Identify risks due to
project, team, or
technology factors
Architect until main
risks are covered
Risk storming
Technical risk
(failures, data
inconsistency,
incompatibilities, ...)
Stakeholder’s
concerns (cost, time,
performance,...)
Architecturally-Evident Code
Close the model-
code gap by
adopting an
architecturally-
evident coding style,
embedding in code
hints about design
intent
Conclusions
“Life is pain. Anyone
saying differently is
selling something”
Iñigo Montoya
Questions? … Thanks!
Acknowledgements
1. Keep calm.., source: http://www.keepcalm-o-matic.co.uk/
2. Iñigo Montoya, source http://velvetgeek.com/
3. Architecture Documentation, Code naming example,
source http://www.codingthearchitecture.com/
4. Risk Storming, source http://www.doyoubuzz.
com/michael-keeling/cv/blog
5. Node at LinkedIn: The Pursuit of Thinner, Lighter, Faster,
source http://queue.acm.org/detail.cfm?id=2567673

More Related Content

PPT
PDF
React Next Conference slides: ReactJS Worst practices
PPTX
Becoming a Web Developer
PPTX
SLDC Presentation
PPTX
The Fundamentals of Continuous Software Design
PPTX
Use Checklists - Public
PPT
Engaging the Xen Developer Comminity
PDF
Reactive Microservices with Vert.x
React Next Conference slides: ReactJS Worst practices
Becoming a Web Developer
SLDC Presentation
The Fundamentals of Continuous Software Design
Use Checklists - Public
Engaging the Xen Developer Comminity
Reactive Microservices with Vert.x

Similar to Look ma, No Frameworks - JBcnConf 2015 (20)

PPT
Fed Up Of Framework Hype Dcphp
PDF
Selecting the Best Javascript Web Framework
PPT
Ruby On Rails Presentation
KEY
corporateJavascript
PPT
Designing Powerful Web Applications Using AJAX and Other RIAs
PPTX
Clean code quotes - Citações e provocações
PDF
Rules of development (and everything else for what matters)
PPT
Planning JavaScript and Ajax for larger teams
PDF
UserTesting 2016 webinar: Research to inform product design in Agile environm...
PDF
Creating An Incremental Architecture For Your System
PPTX
UX + Agile: The Good, The Bad, and The Ugly
PDF
Douglas - Real JavaScript
PDF
What Should I Do? Choosing SQL, NoSQL or Both for Scalable Web Applications
PDF
[EN] Great software development quotes
PDF
So Many Frameworks, So Little Time
PPTX
No Silver Bullet - Essence and Accidents of Software Engineering
PPTX
2015.01.09 - Writing Modern Applications for Mobile and Web
PPTX
Small team scrum and kanban
PPT
User Driven Software Architecture
PPTX
No more Three Tier - A path to a better code for Cloud and Azure
Fed Up Of Framework Hype Dcphp
Selecting the Best Javascript Web Framework
Ruby On Rails Presentation
corporateJavascript
Designing Powerful Web Applications Using AJAX and Other RIAs
Clean code quotes - Citações e provocações
Rules of development (and everything else for what matters)
Planning JavaScript and Ajax for larger teams
UserTesting 2016 webinar: Research to inform product design in Agile environm...
Creating An Incremental Architecture For Your System
UX + Agile: The Good, The Bad, and The Ugly
Douglas - Real JavaScript
What Should I Do? Choosing SQL, NoSQL or Both for Scalable Web Applications
[EN] Great software development quotes
So Many Frameworks, So Little Time
No Silver Bullet - Essence and Accidents of Software Engineering
2015.01.09 - Writing Modern Applications for Mobile and Web
Small team scrum and kanban
User Driven Software Architecture
No more Three Tier - A path to a better code for Cloud and Azure
Ad

Recently uploaded (20)

PPTX
Computer Software - Technology and Livelihood Education
PDF
MCP Security Tutorial - Beginner to Advanced
PPTX
Airline CRS | Airline CRS Systems | CRS System
PDF
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
PPTX
Introduction to Windows Operating System
PDF
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
PDF
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
PDF
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
PDF
BoxLang Dynamic AWS Lambda - Japan Edition
PPTX
Lecture 5 Software Requirement Engineering
PDF
Practical Indispensable Project Management Tips for Delivering Successful Exp...
PPTX
CNN LeNet5 Architecture: Neural Networks
PDF
E-Commerce Website Development Companyin india
PDF
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
PDF
Wondershare Recoverit Full Crack New Version (Latest 2025)
PDF
Microsoft Office 365 Crack Download Free
PDF
AI Guide for Business Growth - Arna Softech
PDF
CCleaner 6.39.11548 Crack 2025 License Key
PDF
Topaz Photo AI Crack New Download (Latest 2025)
PPTX
Cybersecurity: Protecting the Digital World
Computer Software - Technology and Livelihood Education
MCP Security Tutorial - Beginner to Advanced
Airline CRS | Airline CRS Systems | CRS System
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
Introduction to Windows Operating System
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
BoxLang Dynamic AWS Lambda - Japan Edition
Lecture 5 Software Requirement Engineering
Practical Indispensable Project Management Tips for Delivering Successful Exp...
CNN LeNet5 Architecture: Neural Networks
E-Commerce Website Development Companyin india
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
Wondershare Recoverit Full Crack New Version (Latest 2025)
Microsoft Office 365 Crack Download Free
AI Guide for Business Growth - Arna Softech
CCleaner 6.39.11548 Crack 2025 License Key
Topaz Photo AI Crack New Download (Latest 2025)
Cybersecurity: Protecting the Digital World
Ad

Look ma, No Frameworks - JBcnConf 2015

  • 1. Look ma, No Frameworks Pablo Chacin
  • 2. Motivation So, you are a Java developer? What frameworks do you use? I don’t use any framework
  • 3. What’s wrong with frameworks? This is not (only) a rant against frameworks, but an analysis of the consequences of using them and a proposal for alternatives.
  • 4. Frameworkitis “Is the disease that a framework wants to do too much for you or it does it in a way that you don't want but you can't change it” Erich Gamma
  • 5. “We might have been able to use Ruby on Rails. But It also adds a bunch of requirements for stuff you then have to write so everything will work nicely with your framework” Node at LinkedIn: The Pursuit of Thinner, Lighter, Faster Unneeded Stuff
  • 6. Easy Yet Complex “Many complicating constructs are easy to use. However, what matters is the complexity they yield. And such complexity is incidental to the problem” Rich Hickey, author of Clojure
  • 7. Power Requires Discipline “And because you stand on the shoulders of giants, you can accomplish something quickly. You don’t even know exactly what you have done.” Dr. Ian Malcolm
  • 8. Restriction in Choices “Why did I leave .NET? In short, it constrained our ability to choose and turned our focus towards safety instead of helping us experience all of the possibilities out there” Jonathan Oliver, Why I left .Net
  • 9. Design as Learning “While we all need to write code that others can use and maintain, I hope part of that process involves trying to increase our collective knowledge” James Coglan
  • 10. “How do you teach magic to junior developers?” Greg Young, 8 lines of code The Problems with Magic
  • 11. Why Agile Development won’t help “Software gets about 10x bigger each decade. So while our attention has been focused on fixing process problems, our software got an order of magnitude bigger. In my opinion, it's time to turn our attention back to design.” George Fairbanks, Just Enough Software Architecture
  • 12. Hints for a Solution Create a vision Follow a risk driven design process Document relevant elements in a meaningful way
  • 13. Define your Style Provide a vocabulary to describe your system and reason about its properties.
  • 14. Unix’s Pipe Style Write programs that do one thing well and work together by handling text streams as a universal interface.
  • 15. The problem with styles Msg. Passing EventsPipes Micro Services (a.k.a SOA) OOP
  • 17. Follow a Risk-Driven Process Identify risks due to project, team, or technology factors Architect until main risks are covered
  • 18. Risk storming Technical risk (failures, data inconsistency, incompatibilities, ...) Stakeholder’s concerns (cost, time, performance,...)
  • 19. Architecturally-Evident Code Close the model- code gap by adopting an architecturally- evident coding style, embedding in code hints about design intent
  • 20. Conclusions “Life is pain. Anyone saying differently is selling something” Iñigo Montoya
  • 22. Acknowledgements 1. Keep calm.., source: http://www.keepcalm-o-matic.co.uk/ 2. Iñigo Montoya, source http://velvetgeek.com/ 3. Architecture Documentation, Code naming example, source http://www.codingthearchitecture.com/ 4. Risk Storming, source http://www.doyoubuzz. com/michael-keeling/cv/blog 5. Node at LinkedIn: The Pursuit of Thinner, Lighter, Faster, source http://queue.acm.org/detail.cfm?id=2567673