Software Engineering at Google: Lessons Learned from Programming Over Time


Titus Winters - 2020
    With this book, you'll get a candid and insightful look at how software is constructed and maintained by some of the world's leading practitioners.Titus Winters, Tom Manshreck, and Hyrum K. Wright, software engineers and a technical writer at Google, reframe how software engineering is practiced and taught: from an emphasis on programming to an emphasis on software engineering, which roughly translates to programming over time.You'll learn:Fundamental differences between software engineering and programmingHow an organization effectively manages a living codebase and efficiently responds to inevitable changeWhy culture (and recognizing it) is important, and how processes, practices, and tools come into play

Business Analysis Methodology Book


Emrah Yayici - 2015
    A real life case study with sample project documents and diagrams is used to more practically explain these international tools, techniques, and lean principles to a broad range of practitioners, including: - Business analysts, systems analysts, developers and project managers - Entrepreneurs, product owners and product managers - Consultants, UX designers and marketing specialists - C-suite executives, investors and managers of companies of all sizes.

Fluent Python: Clear, Concise, and Effective Programming


Luciano Ramalho - 2015
    With this hands-on guide, you'll learn how to write effective, idiomatic Python code by leveraging its best and possibly most neglected features. Author Luciano Ramalho takes you through Python's core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time.Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. With this book, those Python programmers will thoroughly learn how to become proficient in Python 3.This book covers:Python data model: understand how special methods are the key to the consistent behavior of objectsData structures: take full advantage of built-in types, and understand the text vs bytes duality in the Unicode ageFunctions as objects: view Python functions as first-class objects, and understand how this affects popular design patternsObject-oriented idioms: build classes by learning about references, mutability, interfaces, operator overloading, and multiple inheritanceControl flow: leverage context managers, generators, coroutines, and concurrency with the concurrent.futures and asyncio packagesMetaprogramming: understand how properties, attribute descriptors, class decorators, and metaclasses work"

Authenticity: What Consumers Really Want


James H. Gilmore - 2007
    Disingenuous. Phony. Inauthentic. Do your customers use any of these words to describe what you sell—or how you sell it? If so, welcome to the club. Inundated by fakes and sophisticated counterfeits, people increasingly see the world in terms of real or fake. They would rather buy something real from someone genuine rather than something fake from some phony. When deciding to buy, consumers judge an offering's (and a company's) authenticity as much as—if not more than—price, quality, and availability. In Authenticity, James H. Gilmore and B. Joseph Pine II argue that to trounce rivals companies must grasp, manage, and excel at rendering authenticity. Through examples from a wide array of industries as well as government, nonprofit, education, and religious sectors, the authors show how to manage customers' perception of authenticity by: recognizing how businesses "fake it;" appealing to the five different genres of authenticity; charting how to be "true to self" and what you say you are; and crafting and implementing business strategies for rendering authenticity. The first to explore what authenticity really means for businesses and how companies can approach it both thoughtfully and thoroughly, this book is a must-read for any organization seeking to fulfill consumers' intensifying demand for the real deal.

Go, Flight!: The Unsung Heroes of Mission Control, 1965–1992


Rick Houston - 2015
    But among the talented men (and later women) who worked in mission control, the room located on the third floor of Building 30—at what is now Johnson Space Center—would become known by many as “The Cathedral.” These members of the space program were the brightest of their generations, making split-second decisions that determined the success or failure of a mission. The flight controllers, each supported by a staff of specialists, were the most visible part of the operation, running the missions, talking to the heavens, troubleshooting issues on board, and, ultimately, attempting to bring everyone safely back home. None of NASA’s storied accomplishments would have been possible without these people. Interviews with dozens of individuals who worked in the historic third-floor mission control room bring the compelling stories to life. Go, Flight! is a real-world reminder of where we have been and where we could go again given the right political and social climate.

MATLAB Programming for Engineers


Stephen J. Chapman - 1999
    The book teaches MATLAB as a technical programming language showing students how to write clean, efficient, and well-documented programs. It makes no pretense at being a complete description of all of MATLAB's hundreds of functions. Instead, it teaches students how to locate any desired function with MATLAB's extensive on line help facilities. Overall, students develop problem-solving skills and are equipped for future courses and careers using the power of MATLAB.

Machine That Changed the World: The Story of Lean Production


James P. Womack - 1990
    It then identifies and describes the advantages of this system, which needs less of everything including time, human effort, inventories, and investment to produce products with fewer defects in smaller volumes at lower costs for fragmenting markets. The Machine That Changed the World even gave the system its name: lean.In the decade since its launch in the fall of 1990, The Machine That Changed the World has sold more than 600,000 copies in 11 languages and has introduced a whole generation of managers and engineers to lean thinking. No lean library is complete without this groundbreaking book."The fundamentals of this system are applicable to every industry across the globea[and] will have a profound effect on human society. It will truly change the world." - New York TimesPaperback / 1990 / 323 pages

Hackers & Painters: Big Ideas from the Computer Age


Paul Graham - 2004
    Who are these people, what motivates them, and why should you care?Consider these facts: Everything around us is turning into computers. Your typewriter is gone, replaced by a computer. Your phone has turned into a computer. So has your camera. Soon your TV will. Your car was not only designed on computers, but has more processing power in it than a room-sized mainframe did in 1970. Letters, encyclopedias, newspapers, and even your local store are being replaced by the Internet.Hackers & Painters: Big Ideas from the Computer Age, by Paul Graham, explains this world and the motivations of the people who occupy it. In clear, thoughtful prose that draws on illuminating historical examples, Graham takes readers on an unflinching exploration into what he calls “an intellectual Wild West.”The ideas discussed in this book will have a powerful and lasting impact on how we think, how we work, how we develop technology, and how we live. Topics include the importance of beauty in software design, how to make wealth, heresy and free speech, the programming language renaissance, the open-source movement, digital design, internet startups, and more.

The Pragmatic Programmer: From Journeyman to Master


Andy Hunt - 1999
    It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how toFight software rot; Avoid the trap of duplicating knowledge; Write flexible, dynamic, and adaptable code; Avoid programming by coincidence; Bullet-proof your code with contracts, assertions, and exceptions; Capture real requirements; Test ruthlessly and effectively; Delight your users; Build teams of pragmatic programmers; and Make your developments more precise with automation. Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.

Core JavaServer Faces (Core Series)


David M. Geary - 2004
    Now, Core JavaServer™ Faces–the #1 guide to JSF–has been thoroughly updated in this second edition, covering the latest feature enhancements, the powerful Ajax development techniques, and open source innovations that make JSF even more valuable. Authors David Geary and Cay Horstmann delve into all facets of JSF 1.2 development, offering systematic best practices for building robust applications, minimizing handcoding, and maximizing productivity. Drawing on unsurpassed insider knowledge of the Java platform, they present solutions, hints, tips, and “how-tos” for writing superior JSF 1.2 production code, even if you’re new to JSF, JavaServer Pages™, or servlets.The second edition’s extensive new coverage includes: JSF 1.2’s improved alignment with the broader Java EE 5 platform; enhancements to the JSF APIs; controlling Web flow with Shale; and using Facelets to replace JSP with XHTML markup. The authors also introduce Ajax development with JSF–from real-time validation and Direct Web Remoting to wrapping Ajax in JSF components and using the popular Ajax4jsf framework.This book will help you Automate low-level details and eliminate unnecessary complexity in server-side development Discover JSF best practices, ranging from effective UI design and style sheets to internationalization Use JSF with Tiles to build consistent, reusable user interfaces Leverage external services such as databases, LDAP directories, authentication/authorization, and Webservices Use JBoss Seam to greatly simplify development of database-backed applications Implement custom components, converters, and validators Master the JSF 1.2 tag libararies, and extend JSF with additional tag libraries Preface Acknowledgments Chapter 1: Getting Started Chapter 2: Managed Beans Chapter 3: Navigation Chapter 4: Standard JSF Tags Chapter 5: Data Tables Chapter 6: Conversion and Validation Chapter 7: Event Handling Chapter 8: Subviews and Tiles Chapter 9: Custom Components, Converters, and Validators Chapter 10: External Services Chapter 11: Ajax Chapter 12: Open Source Chapter 13: How Do I . . . Index

An Elegant Puzzle: Systems of Engineering Management


Will Larson - 2019
    Management is a key part of any organization, yet the discipline is often self-taught and unstructured. Getting to the good solutions of complex management challenges can make the difference between fulfillment and frustration for teams, and, ultimately, the success or failure of companies. Will Larson's An Elegant Puzzle orients around the particular challenges of engineering management--from sizing teams to technical debt to succession planning--and provides a path to the good solutions. Drawing from his experience at Digg, Uber, and Stripe, Will Larson has developed a thoughtful approach to engineering management that leaders of all levels at companies of all sizes can apply. An Elegant Puzzle balances structured principles and human-centric thinking to help any leader create more effective and rewarding organizations for engineers to thrive in.

Effective Java


Joshua Bloch - 2001
    The principal enhancement in Java 8 was the addition of functional programming constructs to Java's object-oriented roots. Java 7, 8, and 9 also introduced language features, such as the try-with-resources statement, the diamond operator for generic types, default and static methods in interfaces, the @SafeVarargs annotation, and modules. New library features include pervasive use of functional interfaces and streams, the java.time package for manipulating dates and times, and numerous minor enhancements such as convenience factory methods for collections. In this new edition of Effective Java, Bloch updates the work to take advantage of these new language and library features, and provides specific best practices for their use. Java's increased support for multiple paradigms increases the need for best-practices advice, and this book delivers. As in previous editions, each chapter consists of several "items," each presented in the form of a short, standalone essay that provides specific advice, insight into Java platform subtleties, and updated code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why. Coverage includes:Updated techniques and best practices on classic topics, including objects, classes, methods, libraries, and generics How to avoid the traps and pitfalls of commonly misunderstood subtleties of the platform Focus on the language and its most fundamental libraries, such as java.lang and java.util

Joel on Software


Joel Spolsky - 2004
    For years, Joel Spolsky has done exactly this at www.joelonsoftware.com. Now, for the first time, you can own a collection of the most important essays from his site in one book, with exclusive commentary and new insights from joel.

Digital Signal Processing


Alan V. Oppenheim - 1975
    Includes many useful applications.

The Box: How the Shipping Container Made the World Smaller and the World Economy Bigger


Marc Levinson - 2006
    From that modest beginning, container shipping developed into a huge industry that made the boom in global trade possible. "The Box" tells the dramatic story of the container's creation, the decade of struggle before it was widely adopted, and the sweeping economic consequences of the sharp fall in transportation costs that containerization brought about.Published on the fiftieth anniversary of the first container voyage, this is the first comprehensive history of the shipping container. It recounts how the drive and imagination of an iconoclastic entrepreneur, Malcom McLean, turned containerization from an impractical idea into a massive industry that slashed the cost of transporting goods around the world and made the boom in global trade possible.But the container didn't just happen. Its adoption required huge sums of money, both from private investors and from ports that aspired to be on the leading edge of a new technology. It required years of high-stakes bargaining with two of the titans of organized labor, Harry Bridges and Teddy Gleason, as well as delicate negotiations on standards that made it possible for almost any container to travel on any truck or train or ship. Ultimately, it took McLean's success in supplying U.S. forces in Vietnam to persuade the world of the container's potential.Drawing on previously neglected sources, economist Marc Levinson shows how the container transformed economic geography, devastating traditional ports such as New York and London and fueling the growth of previously obscure ones, such as Oakland. By making shipping so cheap that industry could locate factories far from its customers, the container paved the way for Asia to become the world's workshop and brought consumers a previously unimaginable variety of low-cost products from around the globe.