Refactoring (the brain) for developers


Published on

Refactoring (the brain) for developers ;
a collection of basic ideas about how to advance in career as software engineers and how to improve our brain to support this effort

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

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Refactoring (the brain) for developers

  1. 1. Refactoring (the Brain)for DevelopersToday about The Basics of our Brain…. next time will be about Thinking & LearningIonel Condor, Cluj-Napoca, Romania, January 16, 2012
  2. 2. Agenda Attention warm-up exercise Our story: A never ending journey from Novice to Expert Our Brain Today it’s an intro to brain teasers… in pairs of 2 (these are not IQ tests)
  3. 3. Attention warm-up exerciseQuick! say aloud what color you see in every word, NOT the word you read. Source:
  4. 4. Our story: A never endingjourney from Novice to Expert Intro to the Dreyfus model Skill acquisition 5 levels : Novice, Advanced Beginner, Competent, Proficient, Expert
  5. 5. Our story: A never endingjourney from Novice to Expert Source:
  6. 6. Our story: A never endingjourney from Novice to Expert A Novice needs rules in form of:  Checklists  How-to lists  Focused trainings for his daily activities  A mentor/mentorship  To be helped An Advanced Beginner needs:  Controlled Simulations  Environments where to try out things in safety  Mailing Lists/ Communities (eg., …) to ask questions and find solutions to common problems  Assignments to practice his new found skills Source:
  7. 7. Our story: A never endingjourney from Novice to Expert A Competent needs:  Case Studies to support their grow by understanding other (similar) problems& solutions  Continue their social exposure to read about real problems and solutions  Read books and blogs, listen podcasts, attend conferences and webinars  A lot of practice – daily work ! Source:
  8. 8. Our story: A never endingjourney from Novice to Expert Source:
  9. 9. Our story: A never endingjourney from Novice to Expert A recommended rule: Favor rules for Novice and intuition plus creativity for Experts A sad true: Most people are and will remain as Advanced Beginners“performing the tasks they need and learning new tasks as the need arises but never dosome extra miles if not requested” (e.g. using Google as part of IDE for copy&paste  )!!! R&D does not stand for “Rip off and duplicate” !!!
  10. 10. Our story: A never endingjourney from Novice to Expert Do you want to be an expert in a field?  BAD NEWS: You need to budget 10 years of effort in the same subject area AND practice in an environment where: - Tasks are well defined (for your level of expertise) - Tasks are challenging & doable - The environment (context) gives you feedback that you can use - The environment provides opportunities for repetition and correction GOOD NEWS: Once you become an expert in one field, it becomesmuch easier to gain experience in another (acquisition skills, model-building abilities)
  11. 11. Our story: A never endingjourney from Novice to Expert WARNING 1: Winners do not carry losers: A group is only as good as its weakest link WARNING 2: “if you think you are standing firm, be careful that you dont fall!”(The Holly Bible, The New Testament, Corinthians 10), SO WE NEED TO KEEP PRACTICE AND KEEP STUDY WARNING 3: Alienate experienced practitioners in favor of novices: usually by creating general rules and ask the experts to follow them WARNING 4: Mystification, slogans all over (es. “We are Agile in planning”) WARNING 5: There is no substitute (rule, tool, methodology, standard, formal method, etc) for thinking
  12. 12. Our Brain Looks like this Source: brain.html Or these… funny:
  13. 13. Our Brain• L mode : analysis vs R mode: synthesis (“Don’t analyse, build it”)• About neurons: new discovery: to grow them you need a rich environment with sensory opportunities: learn, observe, interact
  14. 14. Our Brain Skills and abilities we constantly use/practice will begin to dominate and more of our brain will become wired for these purposes “use it or loose it”: want to be a better task estimator? Practice more task estimations and retrospectives L is dominant in engineering, so to access R we need to come with something that the verbal, analythical L will turn down: some people try music, drawing, meditation… R mode will not solve our problems but what we need is a better way of synch L & R so the whole mind can work better “Write drunk, revise sober” – when problem solving, learn to be comfortable with uncertainty Experiment: pair programming when you are in L and your partner in R  (navigator and driver) L & R use to meet in “metaphors” : a powerful technique to open up creativity (at the end we use metaphors all the time: window, mouse, trash, threads, zombie cloud…) or “system metaphors” (any sw module or system can be described/guided by metaphors) see Andy Hunt’s book bellow, a great book R mode can be invited, not commanded Many ideas cannot be fully expressed in words( but can be implemented!!!) es. you are not able to describe all the faces but someone can even draw them  When you focus on a creative goal (design, solve a problem that requires creativity, …) L mode will dominate, so you cannot solve it easy; solution? Defocus to focus  see Andy Hunt’s book bellow, a great bookSource, some ideas taken from : Pragmatic Thinking and Learning: Refactor Your Wetware (Pragmatic Programmers ) by Andy Hunt
  15. 15. Some tests – a sampleIn which direction is the bus travelling ?Note: this test above will probably be a test for my daughter Ligia in kindergarten
  16. 16. Some tests – a sample Give your own short examples of brain teasers (exercises designed to stimulate our brain functions and grow them also)
  17. 17. Some tests Individual: L vs R dominancy In the same time: Attention and working memory: Individual: Senses : Individual: Attention Skills: Individual: Attention again: Individual: Name two objects for every let-ter in your com-plete name. Work up to five objects, try-ing to use dif-fer-ent items each time. Team: Pattern recognition: A blind beggar had a brother who died. What rela-tion was the blind beggar to the brother who died? “Brother” is not the answer. (or someone may know this as “a blind masseur” ) Individual: A Brain Teaser for your peripheral vision: Team: Of the 100 peo-ple at a recent party, 90 spoke Span-ish, 80 spoke Ital-ian, and 75 spoke Man-darin. At least how many spoke all three languages?
  18. 18. Thank you Twitter: @ionel_condor!/ionel_condor Blog: