Successfully reported this slideshow.
Deleting Code
at Nokia
Tom Coupland
@tcoupland
#0254
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese an...
Presented at QCon London
www.qconlondon.com
Purpose of QCon
- to empower software development by facilitating the spread o...
What happened when we
set out for simplicity
Tom Coupland
@tcoupland
#0254
Nokia Entertainment Bristol
The Journey
Why did we set off?
Why did we set off?
575140
Why did we set off?
Why did we set off?
Why did we set off?
The Journey
Increased transparency
Easier to reason about
Can dive into the code
Less magic
The Journey
Simple configuration
Faster boot time
Does less
The Journey
Reduction in verbosity
Scriptable
Easier to reason
The Journey
Reduction in verbosity
Valid Java is valid Groovy
Functional concepts
Immature at the time
Lack of adoption drive
Cost/Benefit didn't add up
The Journey
Reduction in mapping code
Schema duplication
Familiar query structure
Built in sharding support
Similar write semantics
Stalked project
Engaged large group
Presented to department
Devops style deployment
The Journey
Both OO and FP paradigms
Developer satisfaction
Retains static types
Information Density
Both OO and FP paradigms
Complexity
Covert adoption
The Journey
Dynamic
Simple
Immutable
Functional
Declarative
Sense of fun
The Joy of Clojure
Embodied in Land of Lisp
Concise
Local user-group
Greenfield service
Early knowledge sharing
Brown bag meetings
The Journey
71%
~100ms
~10ms
40 12
16745751
What about Deleting Code?
How to escape
Think about what you want
Educate yourself
& those around you
Local user groups
Patience
How to move on
Perform experiments
Break down your system
Patience
Be inclusive
Be brave
Never make this mistake again?
You're going to
Prepare for it instead
Relax
Break down your system
Keep learning
Have fun
...
Thank You
Refs:
"Simple Made Easy"
RHickey @ QCon 2012 (and others)
"Six Months of MongoDB"
TCoupland @ MongoUK 2012
"Cloj...
Deleting Code at Nokia
Upcoming SlideShare
Loading in …5
×

Deleting Code at Nokia

728 views

Published on

Video and slides synchronized, mp3 and slide download available at http://bit.ly/16BGPyu.

Tom Coupland discusses some of the various technologies investigated, and in many cases deployed at Nokia including Gradle, Spring, MongoDB and Clojure. Filmed at qconlondon.com.

Tom Coupland is a Senior Engineer at Nokia Entertainment Bristol. After years of Java, he set out to find more productive and elegant tools, currently very much enjoying spending time with Clojure. When not trying to make his bit of the world of software a better place, he can be found out in the real one, running, preferably in the mud, wind and rain. Twitter: @tcoupland

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

Deleting Code at Nokia

  1. 1. Deleting Code at Nokia Tom Coupland @tcoupland #0254
  2. 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations /java-nokia-case-study
  3. 3. Presented at QCon London www.qconlondon.com Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide
  4. 4. What happened when we set out for simplicity Tom Coupland @tcoupland #0254
  5. 5. Nokia Entertainment Bristol
  6. 6. The Journey
  7. 7. Why did we set off?
  8. 8. Why did we set off? 575140
  9. 9. Why did we set off?
  10. 10. Why did we set off?
  11. 11. Why did we set off?
  12. 12. The Journey
  13. 13. Increased transparency Easier to reason about Can dive into the code Less magic
  14. 14. The Journey
  15. 15. Simple configuration Faster boot time Does less
  16. 16. The Journey
  17. 17. Reduction in verbosity Scriptable Easier to reason
  18. 18. The Journey
  19. 19. Reduction in verbosity Valid Java is valid Groovy Functional concepts
  20. 20. Immature at the time Lack of adoption drive Cost/Benefit didn't add up
  21. 21. The Journey
  22. 22. Reduction in mapping code Schema duplication Familiar query structure Built in sharding support Similar write semantics
  23. 23. Stalked project Engaged large group Presented to department Devops style deployment
  24. 24. The Journey
  25. 25. Both OO and FP paradigms Developer satisfaction Retains static types Information Density
  26. 26. Both OO and FP paradigms Complexity Covert adoption
  27. 27. The Journey
  28. 28. Dynamic Simple Immutable Functional Declarative
  29. 29. Sense of fun The Joy of Clojure Embodied in Land of Lisp Concise
  30. 30. Local user-group Greenfield service Early knowledge sharing Brown bag meetings
  31. 31. The Journey
  32. 32. 71% ~100ms ~10ms 40 12 16745751 What about Deleting Code?
  33. 33. How to escape Think about what you want Educate yourself & those around you Local user groups Patience
  34. 34. How to move on Perform experiments Break down your system Patience Be inclusive Be brave
  35. 35. Never make this mistake again? You're going to Prepare for it instead Relax Break down your system Keep learning Have fun Time of 'The Stack' is over
  36. 36. Thank You Refs: "Simple Made Easy" RHickey @ QCon 2012 (and others) "Six Months of MongoDB" TCoupland @ MongoUK 2012 "Clojure at Nokia Entertainment" AJones & BGriffiths @ Skillsmatter 22/01/13 #0254

×