Exploring CQRS and Event Sourcing
Dominic Betts - 2012
It presents a learning journey, not definitive guidance. It describes the experiences of a development team with no prior CQRS proficiency in building, deploying (to Windows Azure), and maintaining a sample real-world, complex, enterprise system to showcase various CQRS and ES concepts, challenges, and techniques.The development team did not work in isolation; we actively sought input from industry experts and from a wide group of advisors to ensure that the guidance is both detailed and practical.The CQRS pattern and event sourcing are not mere simplistic solutions to the problems associated with large-scale, distributed systems. By providing you with both a working application and written guidance, we expect you’ll be well prepared to embark on your own CQRS journey.
The Making of a Manager: What to Do When Everyone Looks to You
Julie Zhuo - 2019
She stared at a long list of logistics--from hiring to firing, from meeting to messaging, from planning to pitching--and faced a thousand questions and uncertainties. How was she supposed to spin teamwork into value? How could she be a good steward of her reports' careers? What was the secret to leading with confidence in new and unexpected situations?Now, having managed dozens of teams spanning tens to hundreds of people, Julie knows the most important lesson of all: great managers are made, not born. If you care enough to be reading this, then you care enough to be a great manager.The Making of a Manager is a modern field guide packed everyday examples and transformative insights, including:* How to tell a great manager from an average manager (illustrations included) * When you should look past an awkward interview and hire someone anyway * How to build trust with your reports through not being a boss * Where to look when you lose faith and lack the answersWhether you're new to the job, a veteran leader, or looking to be promoted, this is the handbook you need to be the kind of manager you wish you had.
Beautiful Code: Leading Programmers Explain How They Think
Andy OramLincoln Stein - 2007
You will be able to look over the shoulder of major coding and design experts to see problems through their eyes.This is not simply another design patterns book, or another software engineering treatise on the right and wrong way to do things. The authors think aloud as they work through their project's architecture, the tradeoffs made in its construction, and when it was important to break rules. Beautiful Code is an opportunity for master coders to tell their story. All author royalties will be donated to Amnesty International.
Practical Object Oriented Design in Ruby
Sandi Metz - 2012
The Web is awash in Ruby code that is now virtually impossible to change or extend. This text helps you solve that problem by using powerful real-world object-oriented design techniques, which it thoroughly explains using simple and practical Ruby examples. 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. She shows you how to build new applications that can survive success and repair existing applications that have become impossible to change. Each technique is illustrated with extended examples, all downloadable from the companion Web site, poodr.info. The first title to focus squarely on object-oriented Ruby application design,
Practical Object-Oriented Design in Ruby
will guide you to superior outcomes, whatever your previous Ruby experience. Novice Ruby programmers will find specific rules to live by; intermediate Ruby programmers will find valuable principles they can flexibly interpret and apply; and advanced Ruby programmers will find a common language they can use to lead development and guide their colleagues. This guide will help you Understand how object-oriented programming can help you craft Ruby code that is easier to maintain and upgrade Decide what belongs in a single Ruby class Avoid entangling objects that should be kept separate Define flexible interfaces among objects Reduce programming overhead costs with duck typing Successfully apply inheritance Build objects via composition Design cost-effective tests Solve common problems associated with poorly designed Ruby code
ATDD by Example: A Practical Guide to Acceptance Test-Driven Development
Markus Gärtner - 2012
However, ATDD is still widely misunderstood by many practitioners. "ATDD by Example" is the first practical, entry-level, hands-on guide to implementing and successfully applying it. ATDD pioneer Markus Gartner walks readers step by step through deriving the right systems from business users, and then implementing fully automated, functional tests that accurately reflect business requirements, are intelligible to stakeholders, and promote more effective development. Through two end-to-end case studies, Gartner demonstrates how ATDD can be applied using diverse frameworks and languages. Each case study is accompanied by an extensive set of artifacts, including test automation classes, step definitions, and full sample implementations. These realistic examples illuminate ATDD's fundamental principles, show how ATDD fits into the broader development process, highlight tips from Gartner's extensive experience, and identify crucial pitfalls to avoid. Readers will learn to Master the thought processes associated with successful ATDD implementationUse ATDD with Cucumber to describe software in ways businesspeople can understand Test web pages using ATDD toolsBring ATDD to Java with the FitNesse wiki-based acceptance test framework Use examples more effectively in Behavior-Driven Development (BDD)Specify software collaboratively through innovative workshopsImplement more user-friendly and collaborative test automationTest more cleanly, listen to test results, and refactor tests for greater value If you're a tester, analyst, developer, or project manager, this book offers a concrete foundation for achieving real benefits with ATDD now-and it will help you reap even more value as you gain experience.
Web Form Design: Filling in the Blanks
Luke WroblewskiMicah Alpern - 2008
In Web Form Design, Luke Wroblewski draws on original research, his considerable experience at Yahoo! and eBay, and the perspectives of many of the field's leading designers to show you everything you need to know about designing effective and engaging Web forms.
Pomodoro Technique Illustrated
Staffan Nöteberg - 2009
Tomorrow try something new. Use the Pomodoro Technique to work in focused sprints throughout the day. In Pomodoro Technique Illustrated, Staffan N teberg shows you how to organize your work to accomplish more in less time. There's no need for expensive software or fancy planners. You can get started with nothing more than a piece of paper, a pencil, and a kitchen timer. You have so much you need to accomplish today. Your list is a mile long and you find yourself getting interrupted every other minute. You'd like to tell everyone to leave you alone, but most of the interruptions are coming from you! You think of a phone call you need to make or a web site you need to check and before you know it you're answering email, checking twitter, and finding a million other things to occupy your time. You need to focus---really focus. The Pomodoro Technique puts you back in charge of your day. You'll apply successful techniques from software engineering to identify what you should be doing today and to help you achieve your goals. Your mind won't wander when it is fully engaged in short bursts of focused activity. Learn to work less and accomplish more using nothing more than paper, pencil, and a simple kitchen timer. Set the timer and start on your next Pomodoro. When the bell rings take a break. This personal approach to timeboxing is at the core of the Pomodoro technique and this book is filled with advice on how get started and how to tailor it to your own needs.
The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise
Martin L. Abbott - 2009
Abbott and Michael T. Fisher cover everything IT and business leaders must know to build technology infrastructures that can scale smoothly to meet any business requirement. Drawing on their unparalleled experience managing some of the world s highest-transaction-volume Web sites, the authors provide detailed models and best-practice approaches available in no other book. Unlike previous books on scalability, "The Art of Scalability" doesn t limit its coverage to technology. Writing for both technical and nontechnical decision-makers, this book covers everything that impacts scalability, including architecture, processes, people, and organizations. Throughout, the authors address a broad spectrum of real-world challenges, from performance testing to IT governance. Using their tools and guidance, organizations can systematically overcome obstacles to scalability and achieve unprecedented levels of technical and business performance. Coverage includes Staffing the scalable organization: essential organizational, management, and leadership skills for technical leaders Building processes for scale: process lessons from hyper-growth companies, from technical issue resolution to crisis management Making better build versus buy decisions Architecting scalable solutions: powerful proprietary models for identifying scalability needs and choosing the best approaches to meet them Optimizing performance through caching, application and database splitting, and asynchronous design Scalability techniques for emerging technologies, including clouds and grids Planning for rapid data growth and new data centers Evolving monitoring strategies to tightly align with customer requirements "
The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary
Eric S. Raymond - 1999
According to the August Forrester Report, 56 percent of IT managers interviewed at Global 2,500 companies are already using some type of open source software in their infrastructure and another 6 percent will install it in the next two years. This revolutionary model for collaborative software development is being embraced and studied by many of the biggest players in the high-tech industry, from Sun Microsystems to IBM to Intel.The Cathedral & the Bazaar is a must for anyone who cares about the future of the computer industry or the dynamics of the information economy. Already, billions of dollars have been made and lost based on the ideas in this book. Its conclusions will be studied, debated, and implemented for years to come. According to Bob Young, "This is Eric Raymond's great contribution to the success of the open source revolution, to the adoption of Linux-based operating systems, and to the success of open source users and the companies that supply them."The interest in open source software development has grown enormously in the past year. This revised and expanded paperback edition includes new material on open source developments in 1999 and 2000. Raymond's clear and effective writing style accurately describing the benefits of open source software has been key to its success. With major vendors creating acceptance for open source within companies, independent vendors will become the open source story in 2001.
Building Microservices: Designing Fine-Grained Systems
Sam Newman - 2014
But developing these systems brings its own set of headaches. With lots of examples and practical advice, this book takes a holistic view of the topics that system architects and administrators must consider when building, managing, and evolving microservice architectures.Microservice technologies are moving quickly. Author Sam Newman provides you with a firm grounding in the concepts while diving into current solutions for modeling, integrating, testing, deploying, and monitoring your own autonomous services. You'll follow a fictional company throughout the book to learn how building a microservice architecture affects a single domain.Discover how microservices allow you to align your system design with your organization's goalsLearn options for integrating a service with the rest of your systemTake an incremental approach when splitting monolithic codebasesDeploy individual microservices through continuous integrationExamine the complexities of testing and monitoring distributed servicesManage security with user-to-service and service-to-service modelsUnderstand the challenges of scaling microservice architectures
Co-Active Coaching: Changing Business, Transforming Lives
Laura Whitworth - 1998
Published in more than ten languages now, this book has been used as the definitive resource in dozens of corporate, professional development and university-based coaching programs as well as by thousands of individuals looking to elevate their communication, relationship and coaching skills. This fully revised third edition of Co-Active Coaching has been updated to reflect the expanded vision of the newly updated Co-Active Model and coaching course curriculum at The Coaches Training Institute, the training organization founded and run by the authors for 20 years. The third edition emphasizes evoking transformational change in the client and extends the use of the Co-Active Model into leadership management and its effectiveness throughout organizations. This edition also contains an on-line Coach's Toolkit (replacing the CD of the second edition), several new coaching demonstrations and more than 35 updated exercises, questionnaires, checklists and reproducible forms.
The Responsibility Process: Unlocking Your Natural Ability to Live and Lead with Power
Christopher Avery - 2016
The Responsibility Process proves it. The Responsibility Process is a natural mental pattern that helps you process thoughts about taking or avoiding responsibility. How you navigate it determines whether you are leading toward meaningful results or just marking time. This book gives you precision tools, practices, and leadership truths to navigate The Responsibility Process and lead yourself and others to freedom, power, and choice.FROM THE FOREWORD BY HENRY KIMSEY-HOUSE"The Responsibility Process offers powerful coaching. Christopher doesn't just define the problem and then leave you with it the way some books do. He provides abundant tools, practices, and wisdom for taking ownership, solving problems, and developing your consciousness as a leader. I know you will enjoy this book and live a better life for having read it." -HENRY KIMSEY-HOUSE, co-founder & lead designer of CTI, co-author of Co-Active Coaching & Co-Active LeadershipADVANCE PRAISE FOR THE RESPONSIBILITY PROCESS"This is an important book. The discovery and development of The Responsibility Process is a contribution to the psychology of success and happiness." -DEREK SIVERS, founder of CD Baby, author of Anything You Want"This book changed how I talk about responsibility in my training courses and with my teen daughters. An ownership mindset is critical to business agility. Avery brilliantly dissects how ownership (or the lack of it) works in the mind and what to do about it to lead yourself and others to freedom, happiness, and results that matter." -MIKE COHN, author of Succeeding with AgileCONTENTS Introduction: A More Productive Way to Live and Lead Part I. Personal Responsibility in Everyday Life 1. What is Personal Responsibility? 2. Responsibility != Accountability Part II. Three Tools for Understanding and Practicing Responsibility 3. The Responsibility Process 4. The Three Keys to Responsibility 5. The Catch Sooner Game Part III. Practicing and Mastering Responsibility 6. Lead Yourself First 7. Sharing Responsibility, Sharing Leadership 8. Developing Responsibility in Others 9. Leading the Organization of Choice Conclusion: On the Road to Mastery
Designing Data-Intensive Applications
Martin Kleppmann - 2015
Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords?In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications. Peer under the hood of the systems you already use, and learn how to use and operate them more effectively Make informed decisions by identifying the strengths and weaknesses of different tools Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity Understand the distributed systems research upon which modern databases are built Peek behind the scenes of major online services, and learn from their architectures
The Mom Test: How to talk to customers & learn if your business is a good idea when everyone is lying to you
Rob Fitzpatrick - 2013
They say you shouldn't ask your mom whether your business is a good idea, because she loves you and will lie to you. This is technically true, but it misses the point. You shouldn't ask anyone if your business is a good idea. It's a bad question and everyone will lie to you at least a little . As a matter of fact, it's not their responsibility to tell you the truth. It's your responsibility to find it and it's worth doing right .Talking to customers is one of the foundational skills of both Customer Development and Lean Startup. We all know we're supposed to do it, but nobody seems willing to admit that it's easy to screw up and hard to do right. This book is going to show you how customer conversations go wrong and how you can do better.
Atomic Design
Brad Frost - 2016
That's a daunting task indeed. Thankfully, design systems are here to help.Atomic Design details all that goes into creating and maintaining robust design systems, allowing you to roll out higher quality, more consistent UIs faster than ever before. This book introduces a methodology for thinking of our UIs as thoughtful hierarchies, discusses the qualities of effective pattern libraries, and showcases techniques to transform your team's design and development workflow.