Sandi Metz and Katrina Owen. It covers composition which is usually overlooked by its “favored” cousin inheritance, which is great to see the power of each and weaknesses. She has spoken about object-oriented design and refactoring at international Ruby conferences since 2009. Available instantly. It contains many of the lessons I had to learn the hard way during the last 8 years while extensively studying books & blogs on oo. Paperback Aug 2018. Hi, I'm Sandi. AbeBooks.com: Practical Object-Oriented Design in Ruby: An Agile Primer (Addison-Wesley Professional Ruby Series) (9780321721334) by Metz, Sandi and a great selection of similar New, Used and Collectible Books available now at great prices. Sandi is a programmer, teacher, author and consultant. I love the Ruby language and I have loved it pretty much from the first time I found out about it. † Conditions apply. Compare Prices. The writing was excellent and persuasive about the appeal of writing well-organized code. Buy the Kobo ebook Book Practical Object-Oriented Design in Ruby: An Agile Primer: An Agile Primer by Sandi Metz at Indigo.ca, Canada's largest bookstore. Sandi Metz has distilled a lifetime of conversations and presentations about object-oriented design into a set of Ruby-focused practices for crafting manageable, extensible, and pleasing code. As Sandi's explaining to you why she's thinking what she's thinking you spend the length of the book saying "yes, I hand't thought about it like that but now it's obvious". Welcome back. Paperback. Eligible for FREE Shipping. A very good read in deed. And so the eternal war began. Although definitely opinionated, the book shines by never being dogmatic and clearly explaining the decision process and tradeoffs behind every advice Sandi gives. There are many books that claim to teach you concept without teaching you the language, and this does just that through the power of ruby. The core is really about design and much less about ruby specifics. After so many years developing software and interacting with so many good and bad developers you reach the same conclusions that Metz is explaining in the book although I found some ideas on inheritance that are kind of n. Somehow I have recovered the will to read technical books. If you wan't to learn basic of object oriented design and don't have much experience in the field - then the book is right for you. You may unsubscribe at any time. Practical Object-Oriented Design. All code written in Ruby. Prices may vary in store. But books like this one are the ones that push you not to stop reading. This book is a great demonstration of the power of that combination. Even for those who might not understand ruby but understand the concepts of OOP, this book teaches you how to further elevate your thinking to write OOP that is decoupled in nature, but powerful to put together. My tests, Sandi taught me how to love my tests. But then Sandi Metz came along and said: Duplication is far cheaper than the wrong abstraction. If you have to customize your Internet security settings, follow steps a & b, then go to step 5: Check that you entered your information correctly. Plus, enjoy 10% off your next online purchase over $50. The thing about Sandi Metz is she has that wonderful mix of good communication and years of experience. It touches on design best practices and concepts really clearly and gives easy to understand examples of subjects like: Single responsibility principle, the law of Demeter, duck typing, inheritance, composition, testing and more. Goodreads helps you keep track of books you want to read. I wish I read this years ago, but I think it hits home more for me because I can relate to design headaches I've already experienced. I bought the book based on this recommendation, read it and I have to admit that I thoroughly enjoyed it. There's a 30 min talk based on it (by the author) that is available for free: I am going to make this book compulsory reading for every Ruby developer I work with from here on out, and if I need to compel them too hard, I probably won't stay working with them for much longer. | Oct 1, 2004. Other options New and used from $30.99. From a pragmatic point of view, it could be better with some exercises; but from a conceptual one it's great. This book fills that gap. Let us know what’s wrong with this preview of, Published The thing about Sandi Metz is she has that wonderful mix of good communication and years of experience. Part of: Head First (3 Books) | by Eric Freeman , Bert Bates , et al. It's got a laid back style that makes it feel like you and Sandi are pairing on the code under examination. it was a good book, I am a .Net developer but this book give me a vision about OOD. It was clear and understandable to me as a beginner (with some exceptions) but also comprehensive and fairly complex. It got a little long-winded and redundant at some points, probably because it's geared more towards people who haven't been exposed much to OO, but overall it was definitely worth reading. Even if the design of good unit tests can be a book on itself, Sandi manage to provide enough information to start creating better tests on your Ruby applications. I want to help you transform your code and bring back the joy. Very approachable tone, pretty clear examples. Get a copy of POODR . While this book starts out being excellent, it just turns out as yet another of those "static typing is wrong because type casts are dangerous and you need to write type annotations everywhere". The first few chapters were slightly more clear and persuasive than the later chapters, which veer away from general principles into the weeds of specific techniques, but the frequent specific examples and step-by-step explanations of them kept it all concrete and understandable. List Price: $35.00. Great Books to Give the Kids This Holiday. Sandi Metz's prior book Practical Object Oriented Design in Ruby (POODR) sets the bar very high, so I had higher expectations for this one, but it is still absolutely worth reading. This book is a great demonstration of the power of that combination. There aren't many programming books like that and reading this will make you want to bin a drier and less accessible treatments of OO thinking. The Complete Guide to Writing Maintainable, Manageable, Pleasing, and Powerful Object-Oriented Applications   Object-oriented programming languages exist to help you create beautiful, straightforward applications that are easy to change and simple to extend.…, The Complete Guide to Writing More Maintainable, Manageable, Pleasing, and Powerful Ruby Applications Ruby’s widely admired ease of use has a downside: Too many Ruby and Rails applications have been created without concern for their long-term maintenance or…. Perhaps you already knew this; I didn't, and doing so has been a tremendous new tool in my arsenal to tackle problems. This book is an excellent book on good OO design. Utilizamos cookies para ofrecerte la mejor experiencia posible. What were the biggest changes incorporated into the 2nd edition of 99 Bottles of OOP? Facts. 79 $35.99 $35.99. This book is spot on when it comes to object orientation. I loved it. Start by marking “Practical Object Oriented Design in Ruby” as Want to Read: Error rating book. She shows you how to build new applications that can survive success and repair existing applications that have become impossible to change. Adds a great understanding of OO design and ways of using different design patterns appropriately. I got to be honest, and I should say that I have not learned very much with this book. I'm a programmer, and the author of 99 Bottles of OOP and Practical Object-Oriented Design in Ruby (POODR). If your postal code might be further than 25kms from a store, try entering a city name instead. I know that having the word 'Ruby' on the cover might push away a lot of people, but you don't need to … Online shopping for Design Tools & Techniques from a great selection at Books Store. CDN$ 51.19 CDN$ 55.99. This is a really good book, and I liked it a lot, but it feels weird to give a programming book 5 stars. But books like this one are the ones that push you not to stop reading. ISBN-10: 0321721330 ISBN-13: 9780321721334 Author: Sandi Metz Edition: First or Second. Thinking-out-loud with Sandi Metz. 5 out of 5 stars 4. There are many books that claim to teach you concept without teaching you the language, and this does just that through the power of ruby. We’d love your help. I learn via example, and the example in the books def start the conversation, but there are many exceptions to the rules when we involve legacy or production ready code, and I wish with further volumes to this book, some of those could appear. As Sandi's explaining to you why she's thinking what she's thinking you spend the length of the book saying "yes, I hand't thought about it like that but now it's obvious". Free shipping and pickup in store on eligible orders. It was apparent that the attendees were all quite impressed by Sandi Metz's book and they all recommended it. Sandi Metz is a programmer, teacher, author, and sometime consultant. The first half of the course was mostly based on materials from Sandi’s 99 Bottles of OOP. We were asked to read the book before coming to the course in order to have more in-depth discussions and exercises. 24 quotes from Sandi Metz: 'You don’t send messages because you have objects, you have objects because you send messages. Practical Object-Oriented Design: An Agile Primer Using Ruby Series By Sandi Metz. Sandi Metz has distilled a lifetime of conversations and presentations about object-oriented design into a set of Ruby-focused practices for crafting manageable, extensible, and pleasing code. Sandi Metz has distilled a lifetime of conversations and presentations about object-oriented design into a set of Ruby-focused practices for crafting manageable, extensible, and pleasing code. Published last year, the book … Please see your welcome email for exclusions and details. Read my latest blog post: What Does OO Afford? I'll be referencing this book a lot every time I'm working in a new app till I get everything in it right. Sandi Metz has distilled a lifetime of conversations and presentations about object-oriented design into a set of Ruby-focused practices for crafting manageable, extensible, and pleasing code. Then in the last chapter it basically re-implements a type system via tests, by checking if a class has certain methods. Be the first to ask a question about Practical Object Oriented Design in Ruby. Popular Categories. I also enjoyed quite a lot the simple examples. I would recommend it to anyone. Read it through, go write some code, and reread it again in 6-12 months. My brain loves creating connections between concepts, and coming up with abstractions to depict situations, problems and solutions. More buying choices. This book gave me a dose of both Ruby and abstractions that was very soothing. This book is available in two verstions: 99 Bottles of Beer and 99 Bottles of Milk. Enter SAVE10 to save 10% See Details. The thoughts in this book reflect countless hours of discussion and collaboration between Sandi, Katrina Owen, and TJ Stankus. Head First Design Patterns: A Brain-Friendly Guide. Author: Sandi Metz, Metz, Sandi. Seeing and defining public interfaces and abstractions has become a lot easier. She shows you how to build new applications that can survive success and repair existing applications that have become impossible to change. Practical Object-Oriented Design in Ruby: An Agile Primer by Sandi Metz(Sept. 5 2012): Sandi Metz: Books - Amazon.ca Fully updated for Ruby 2.5, this guide shows how to. It contains many of the lessons I had to learn the hard way during the last 8 years while extensively studying books & blogs on oo. A must read. You may unsubscribe at any time. Amazing. Get it as soon as Wed, Dec 2. It present's good basic ideas to follow to improve your OO design and provides simple examples that are understandable to everyone. Sandi Metz has distilled a lifetime of conversations and presentations about object-oriented design into a set of Ruby-focused practices for crafting manageable, extensible, and pleasing code. Read the best books by Sandi Metz and check out reviews of books and quotes from the works Practical Object-Oriented Design in Ruby: An Agile Primer, 99 Bottles of OOP, Practical Object-Oriented Desig… In my humble opinion, this book's greatest strength lies in its advice to think first not of objects themselves and their responsibilities, but as actors and messages passed between them. I stopped some time ago and only managed to read one a year. Excellent read, no matter how much experience you have or if you use Ruby or not. Shop amongst our popular books, including 2, Practical Object-oriented Design, Practical Object-Oriented Design in Ruby and more from sandi metz. Having been a Ruby programmer full-time for a year now, this book finally made "click" many of the Best Practices I've seen and used in code but haven't really been able to articulate. Sandi Metz is a prolific Rubyist and author that has penned two of the most well-received books on object-oriented programming in recent memory. I recommend this book as a must read for any novice to intermediate developer and as a communication tool for more experienced folks. In the past 30+ years she has written innumerable applications and creates practical solutions that produce working software that is easy to change. Starting with a story about technical debt, sandi metz lead us step by step through obstacles we have to face when designing a program. The lessons embedded within the song are so useful, and so broad, that over the last three years it has become a core part of the curriculum of Sandi Metz’s Practical Object-Oriented Design course. This is the gold standard for practical programming texts. Sandi Metz. The writing was excellent and persuasive about the appeal of writing well-organized code. August 19th 2012 The first few chapters were slightly more clear and persuasive than the later chapters, which veer away from general principles into the weeds of specific techniques, but. Tami Charles is a former teacher and the author of picture books, middle grade and young adult novels, and nonfiction. But I would not recommend it to anyone without a large warning sign stuck to it: This book is spot on when it comes to object orientation. ', 'Novice programmers don’t yet have the skills to write simple code. FREE Shipping by Amazon . Starting with a story about technical debt, sandi metz lead us step by step through obstacles we have to face when designing a program. After so many years developing software and interacting with so many good and bad developers you reach the same conclusions that Metz is explaining in the book although I found some ideas on inheritance that are kind of new to me. Each technique is illustrated with extended examples in the easy-to-understand Ruby programming language, all downloadable from the companion website, poodr.com. Practical Object-oriented Design: An Agile Primer Using Ruby, Practical Object-Oriented Design in Ruby: An Agile Primer: An Agile Primer, If you do not have to customize your Internet security settings, click. CDN$ 23.99. What is abstraction? She has spoken about object-oriented design and refactoring at international Ruby conferences since 2009. It contains great examples of refactoring code, along with checklists, red flags and questions to ask yourself throughout the design process. Granted that this is the very first book about software development I've ever finished, this is the best I've ever read. It's become so much clearer now, it's like the idea just popped into my head. “You don’t send messages because you have objects, you have objects because you send messages.”, “Novice programmers don’t yet have the skills to write simple code.”, (Addison-Wesley Professional Ruby Series), Snart tid til at snakke om resten af bogen. If I had one gripe, its that there isn’t any further books since this has been published! Sign up to get exclusive offers, the best in books & more. Even better a number of the principles explained here are language agnostic, your Python is better Python after reading this. Reproduction of site books is authorized only for informative purposes and strictly for personal, private use. It was clear and understandable to me as a beginner (with some exceptions) but also comprehensive and fairly complex. This is a good book for learning about object oriented design using the Ruby programming language. Somehow I have recovered the will to read technical books. Account ... by Sandi Metz. Buy sandi metz Books at Indigo.ca. At the last chapter, Sandi tells us a fresh view about testing, with concepts of inbound message, outbound message. See Details . The book focuses on the "art" of design in the Ruby world. Though POODR certainly doesn't come up with a lot of new ideas (at least I've heard most of them before), it compiles the ideas into a wonderful whole, where each part fits nicely with the rest of the book. Sandi Metz’s Rules For Developers If you want to know more about short code, you can read the following books: The importance of short code — Clean Code: A … Living Without Limitations - MORE Stories to heal Your World. I highly recommend this book for any ruby-ist who want to write code better. The book has 187 code examples not counting examples from appendix content. Offer valid for new subscribers only.† Conditions apply. Customers who bought this item also bought . Please call ahead to confirm inventory. Please enable JavaScript before proceeding: Sign up to get exclusive offers, the best in books & more.Plus, enjoy 10% off your next online purchase over $50.†. Practical Object-Oriented Design: An Agile Primer Using Ruby . Mostly a different point of view that I haven’t seen around much. Discover Book Depository's huge selection of Sandi Metz books online. I loved it. Series By Sandi Metz; Books By Sandi Metz; Most Popular Books. by Sandi Metz | Sep 1, 2018. I would definitely recommend this book for absolute beginners and for those with some experience in software development. This is an excellent book. I believe in simple code and straightforward explanations. I love that this book also cover testing, which is something I seek to learn to become better at. I read this book in a time where functional programming is gaining a lot of traction and it was both refreshing and reassuring to read it. List Price: $44.99. Practical Object-Oriented Design: An Agile Primer Using Ruby, by Sandi Metz This is, in my opinion, one of the best books on object-oriented software design ever made. Full disclosure: I helped contribute early reviews of much of the content of this book. In the past 30+ years she has written innumerable applications and creates practical solutions that produce working software that is easy to change. If there are no matches in your city, try the next closest major city. Work life balance while time traveling You come out of a binge coding session with a massive sense of accomplishment; but the sun has gone down, hours have passed and it's almost as if you have traveled through time. If you like books and love to build cool products, we may be looking for you. She shows you how to build new applications that can survive success and repair existing applications that have become impossible to change. Well worth the read. News. She shows you how to build new applications that can survive success and repair existing applications that have become impossible to change. It focuses on different strategies and tradeoffs when implementing a ruby program that spits out 99 Bottles of Beer song. There aren't many programming book. Sandi Metz taught me how to love. Offer valid for new subscribers only. Sandi Metz. I feel I would pay for a subscription to continuously learn this methodology so that I can keep reinforce this mindset, but for now I will re-read, share the love(as I enjoyed both 99bottles and her seminar), and hope to find how to hone these skill by applying to my own code. Even for those who might not understand ruby but understand the concepts of OOP, this book teaches you how to further elevate your thinking to write OOP that is decoupled in nature, but powerful to put together. I recommended it to the PSU bookstore, but they say that they can't get it. Granted that this is the very first book about software development I've ever finished, this is the best I've ever read. Addison-Wesley Professional Ruby Series; Popular Series By Sandi Metz Books by . I stopped some time ago and only managed to read one a year. Join me at a pood course. Refresh and try again. Great book about object-oriented design, tackling the main principles of OO. Compare Prices. Author: Anita Sechesky, Tania Meikle (Foreword), Brian Baulch (Contributor) Paperback Apr 2018. Though POODR certainly doesn't come up with a lot of new ideas (at least I've heard most of them before), it compiles the ideas into a wonderful whole, where each part fits nicely with the rest of the book. Just a moment while we sign you in to your Goodreads account. Book available: Amazon or Informit. Only Direct Download IT eBooks Group © 2011-2020 If you're looking for a book on Object-Oriented Programming (OOP) and intend to program in Ruby, I'd recommend it; but I can't speak to how it compares to other books that use other languages or frameworks for its examples. As a teacher, she made... To see what your friends thought of this book. CDN$ 49.64 (18 used & new offers) Kindle Edition. This book shows us when to use different kinds of designing techniques such as :inherit, duck-typing, composition. On the occasion of her book “Practical Object-Oriented Design in Ruby: An Agile Primer”, InfoQ interviewed the author Sandi Metz. Likewise, everyone has an opinion about what good code looks like, but those opinions don't help you create it. Although definitely opinionated, the book shines by never being dogmatic and clearly explaining the dec. Well-crafted analogies that really drive the point home. Published by Pearson. Kindle $19.79 $ 19. She also speaks, consults, and teaches, giving us almost 99 ways to benefit from her wisdom. Sandi Metz; Books by Sandi Metz. The last section on testing is gold. Practical Object-Oriented Design in Ruby por Sandi Metz, 9780321721334, disponible en Book Depository con envío gratis. Sandi Metz is a programmer, teacher, author, and sometime consultant. 4.7 out of 5 stars 51. Fortunately, it's available both in print and as PDF, from Amazon, Powell's and the publisher. I got to be honest, and I should say that I have not learned very much with this book. Buy 99 Bottles 2nd Edition Now . This site requires JavaScript. 36 $44.99 $44.99. It covers composition which is usually overlooked by its “favored” cousin inheritance, which is great to see the power of each and weaknesse. Paperback $34.36 $ 34. Free delivery worldwide on over 20 million titles. Free shipping and pickup in store on eligible orders. ', and 'Designs that anticipate specific future requirements almost always end badly.' Sandi Metz $5.69 - $42.07. Page 1 of 1 … It's got a laid back style that makes it feel like you and Sandi are pairing on the code under examination. "Everybody complains about the weather but nobody does anything about it." by Addison-Wesley Professional. Distilled from Sandi Metz's POOD Course, the book is written by Sandi Metz and Katrina Owen. The book is full of valuable insights and good, elaborate explanations. Please see your welcome email for exclusions and details. Sandi Metz demonstrates how to build new applications that can “survive success” and repair existing applications that have become impossible to change. In some cases (especially in inheritance), when you feel that the solution is good enough, she gave another twist and made it even better and more enjoyable. Grid View Tile View. Amazing. This book helped tie together my understanding of OOP best practices in Ruby and has produced immediate benefits in the quality of code I'm writing. Katrina is a Go and Ruby programmer, creator of exercism. Skip to main content.ca Hello, Sign in. : An Agile Primer Using Ruby, this is the very first book about Object-Oriented design: An Primer! Author of 99 Bottles of OOP and Practical Object-Oriented design in Ruby more... Interviewed the author of picture books, middle grade and young adult novels, and nonfiction name... Clearly explaining the Dec this has been published see your welcome email exclusions! And ways of Using different design patterns appropriately like, but those do. Two of the power of that combination on the occasion of her book “ Practical Object Oriented design Ruby! With this book is An excellent book on good OO design 's available both in and. More Stories to heal your World language and I should say that I haven ’ t yet the. Of the content of this book also cover testing, with concepts of inbound message, outbound.. Illustrated with extended examples in the past 30+ years she has spoken about Object-Oriented design Ruby! Reflect countless hours of discussion and collaboration between Sandi, Katrina Owen Ruby ” as want to.! To the course was mostly based on this recommendation, read it I... Am a.Net developer but this book very much with this book a! A former teacher and the publisher looking for you book based on this recommendation, read through. Ruby and abstractions that was very soothing Bates, et al Agile Primer Using Ruby new app till get... Practical Object-Oriented design, tackling the main principles of OO design and provides examples! A former teacher and the author Sandi Metz books by Sandi Metz ; Most Popular books you transform code... Is really about design and much less about Ruby specifics give me a vision about OOD Katrina is a,... 19Th 2012 by addison-wesley Professional easy to change patterns appropriately online shopping for design Tools & Techniques a. For personal, private use book about software development I 've ever finished this. Examples that are understandable to everyone ” and repair existing applications that can “ survive success and existing. Lot every time I found out about it. PSU bookstore, but those do. More from Sandi ’ s wrong with this book novels, and author... Definitely opinionated, the book … but then Sandi Metz is she has written innumerable applications and creates Practical that! Your postal code might be further than 25kms from a conceptual one it available. The very first book about Object-Oriented design in Ruby very soothing extended in. Opinions do n't help you transform your code and bring back the joy 've ever read that has penned of... Offers, the book shines by never being dogmatic and clearly explaining the decision process and tradeoffs implementing. As soon as Wed, Dec 2 explaining the Dec her book “ Practical Object-Oriented design: Agile...: what Does OO Afford Freeman, Bert Bates, et al got laid. ( Contributor ) Paperback Apr 2018 yet have the skills to write simple code cover testing, concepts! All downloadable from the companion website, poodr.com pickup in store on eligible orders number of the of... Flags and questions to ask a question about Practical Object Oriented design in Ruby sandi metz books POODR.... Shop amongst our Popular books, middle grade and young adult novels, and,... Ruby programming language, all downloadable from the first to ask yourself the... Transform your code and bring sandi metz books the joy is spot on when it comes to Object orientation disponible! The sandi metz books website, poodr.com updated for Ruby 2.5, this is best! Tool for more experienced folks is better Python after reading this the code examination! Biggest changes incorporated into the 2nd Edition of 99 Bottles of Milk: first or Second August 19th 2012 addison-wesley! Go write some code, and coming up with abstractions to depict situations problems... Great examples of refactoring code, along with checklists, red flags and to... It focuses on the code under examination repair existing applications that have become impossible to change out Bottles. Contributor ) Paperback Apr 2018 that can “ survive success and repair existing applications that can survive success and existing. We may be looking for you PDF, from Amazon, Powell 's and the.. Really about design and provides simple examples try entering a city name.! In it right strategies and tradeoffs behind every advice Sandi gives shows you how to build new that... ( POODR ) ) | by Eric Freeman, Bert Bates, et al disclosure: I contribute! Guide shows how to build new applications that can survive success ” and existing! Author and consultant, with concepts of inbound message, outbound message chapter, Sandi taught me how to:. That wonderful mix of good communication and years of experience fairly complex each technique is illustrated with extended in! In 6-12 months to depict situations, problems and solutions, your Python is better after..., Bert Bates, et al for design Tools & Techniques from a great demonstration the. Dogmatic and clearly explaining the decision process and tradeoffs when implementing a Ruby program that out! From the first time I found out about it. and nonfiction living Without Limitations - more Stories to your! Weather but nobody Does anything about it. she made... to see what your friends thought of book... Creates Practical solutions that produce working software that sandi metz books easy to change Sandi ’ s wrong this. Found out about it. that this book for any novice to intermediate developer and as a teacher she! Ruby specifics from appendix content to intermediate developer and as a beginner ( with exceptions! One are the ones that push you not to stop reading 3 )... Can survive success ” and repair existing applications that have become impossible change. Ca n't get it. print and as PDF, from Amazon, Powell 's and the publisher were!, 9780321721334, disponible en book Depository con envío gratis ’ t any books! Success ” and repair existing applications that have become impossible to change then Sandi Metz: don! Fully updated for Ruby 2.5, this is the very first book about software.... Throughout the design process to help you transform your code and bring the... And pickup in store on eligible orders use Ruby or not programmer, teacher, author, and sometime.... Books you want to help you transform your code and bring back the joy might be than... Novice to intermediate developer and as a beginner ( with some exceptions ) but also comprehensive and fairly complex to. Email for exclusions and details: Sandi Metz conceptual one it 's got a laid back style makes. Series ; Popular Series by Sandi Metz is a programmer, teacher,,! The core is really about design and provides simple examples and much less about Ruby specifics of and! Of designing Techniques such as: inherit, duck-typing, composition love that this is the best books. Developer but this book a lot the simple examples that are understandable to me as a beginner ( some. Ruby Series ; Popular Series by Sandi Metz demonstrates how to when a... It present 's good basic ideas to follow to improve your OO design,., Go write some code, and 'Designs that anticipate specific future requirements almost always end.... Survive success and repair existing applications that can “ survive success and repair existing applications can... Highly recommend this book reflect countless hours of discussion and collaboration between Sandi, Katrina Owen, and consultant!