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"

Contemporary Marketing


Louis E. Boone - 2007
    The most successful products in the marketplace are those that know their strengths and have branded and marketed those strengths to form a passionate emotional connection with loyal users and relationships with new users every step of the way. In CONTEMPORARY MARKETING, 13e, students will find a text that includes everything they need to know in order to begin a marketing career, as well as things that will help them understand how to look at their own studies and their own careers as a marketing adventure. All the components of the marketing mix are included along with a lot of other compelling and thought-provoking ideas and concepts. Since its first edition, CONTEMPORARY MARKETING continues to showcase the foundations of marketing principles while featuring the newest trends and research in the discipline.

Talking with Tech Leads


Patrick Kua - 2014
    Discover how more than 35 Tech Leads find the delicate balance between the technical and non-technical worlds. Discover the challenges a Tech Lead faces and how to overcome them. You may be surprised by the lessons they have to share.Now available at https://leanpub.com/talking-with-tech...

Services Marketing: People, Technology, Strategy


Christopher Lovelock - 1991
    Organized around a strategic marketing framework"Services Marketing" guides readers into the consumer and competitive environments in services marketing. The marketing framework has been restructured for this edition to reflect what is happening in services marketing today.

Cracking the PM Interview: How to Land a Product Manager Job in Technology


Gayle Laakmann McDowell - 2013
    Cracking the PM Interview is a comprehensive book about landing a product management role in a startup or bigger tech company. Learn how the ambiguously-named "PM" (product manager / program manager) role varies across companies, what experience you need, how to make your existing experience translate, what a great PM resume and cover letter look like, and finally, how to master the interview: estimation questions, behavioral questions, case questions, product questions, technical questions, and the super important "pitch."

The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity


Alan Cooper - 1999
    Cooper details many of these meta functions to explain his central thesis: programmers need to seriously re-evaluate the many user-hostile concepts deeply embedded within the software development process. Rather than provide users with a straightforward set of options, programmers often pile on the bells and whistles and ignore or de-prioritise lingering bugs. For the average user, increased functionality is a great burden, adding to the recurrent chorus that plays: "computers are hard, mysterious, unwieldy things." (An average user, Cooper asserts, who doesn't think that way or who has memorised all the esoteric commands and now lords it over others, has simply been desensitised by too many years of badly designed software.) Cooper's writing style is often overblown, with a pantheon of cutesy terminology (i.e. "dancing bearware") and insider back-patting. (When presenting software to Bill Gates, he reports that Gates replied: "How did you do that?" to which he writes: "I love stumping Bill!") More seriously, he is also unable to see beyond software development's importance--a sin he accuses programmers of throughout the book. Even with that in mind, the central questions Cooper asks are too important to ignore: Are we making users happier? Are we improving the process by which they get work done? Are we making their work hours more effective? Cooper looks to programmers, business managers and what he calls "interaction designers" to question current assumptions and mindsets. Plainly, he asserts that the goal of computer usage should be "not to make anyone feel stupid." Our distance from that goal reinforces the need to rethink entrenched priorities in software planning. -- Jennifer Buckendorff, Amazon.com

Agile Software Development, Principles, Patterns, and Practices


Robert C. Martin - 2002
    The author incudes OOD, UML, Design Patterns, Agile and XP methods with a detailed description of a complete software design for reusable programs in C++ and Java. Using a practical, problem-solving approach, it shows how to develop an object-oriented application -- from the early stages of analysis, through the low-level design and into the implementation. Walks readers through the designer's thoughts -- showing the errors, blind alleys, and creative insights that occur throughout the software design process. KEY TOPICS: Covers: Statics and Dynamics; Principles of Class Design; Complexity Management; Principles of Package Design; Analysis and Design; Patterns and Paradigm Crossings. Explains the principles of OOD, one by one, and then demonstrates them with numerous examples, completely worked-through designs, and case studies. Covers traps, pitfalls, and work arounds in the application of C++ and OOD and then shows how Agile methods can be used. Discusses the methods for designing and developing big software in detail. Features a three-chapter, in-depth, single case study of a building security system. MARKET: For Software Engineers, Programmers, and Analysts who want to understand how to design object oriented software with state of the art methods.

Refactoring: Improving the Design of Existing Code


Martin Fowler - 1999
    Significant numbers of poorly designed programs have been created by less-experienced developers, resulting in applications that are inefficient and hard to maintain and extend. Increasingly, software system professionals are discovering just how difficult it is to work with these inherited, non-optimal applications. For several years, expert-level object programmers have employed a growing collection of techniques to improve the structural integrity and performance of such existing software programs. Referred to as refactoring, these practices have remained in the domain of experts because no attempt has been made to transcribe the lore into a form that all developers could use... until now. In Refactoring: Improving the Design of Existing Software, renowned object technology mentor Martin Fowler breaks new ground, demystifying these master practices and demonstrating how software practitioners can realize the significant benefits of this new process.

DotCom Secrets: The Underground Playbook for Growing Your Company Online


Russell Brunson - 2015
    In Russell Brunson's experience, after working with thousands of businesses, he has found that’s rarely the case. Low traffic and weak conversion numbers are just symptoms of a much greater problem, a problem that’s a little harder to see (that’s the bad news), but a lot easier to fix (that’s the good news). DotComSecrets will give you the marketing funnels and the sales scripts you need to be able to turn on a flood of new leads into your business.

Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation


Jez Humble - 2010
    This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours-- sometimes even minutes-no matter what the size of a project or the complexity of its code base. Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk delivery process. Next, they introduce the "deployment pipeline," an automated process for managing all changes, from check-in to release. Finally, they discuss the "ecosystem" needed to support continuous delivery, from infrastructure, data and configuration management to governance. The authors introduce state-of-the-art techniques, including automated infrastructure management and data migration, and the use of virtualization. For each, they review key issues, identify best practices, and demonstrate how to mitigate risks. Coverage includes - Automating all facets of building, integrating, testing, and deploying software - Implementing deployment pipelines at team and organizational levels - Improving collaboration between developers, testers, and operations - Developing features incrementally on large and distributed teams - Implementing an effective configuration management strategy - Automating acceptance testing, from analysis to implementation - Testing capacity and other non-functional requirements - Implementing continuous deployment and zero-downtime releases - Managing infrastructure, data, components and dependencies - Navigating risk management, compliance, and auditing Whether you're a developer, systems administrator, tester, or manager, this book will help your organization move from idea to release faster than ever--so you can deliver value to your business rapidly and reliably.

Domain-Driven Design: Tackling Complexity in the Heart of Software


Eric Evans - 2003
    "His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique. "The book is a fun read. Eric has lots of interesting stories, and he has a way with words. I see this book as essential reading for software developers--it is a future classic." --Ralph Johnson, author of Design Patterns "If you don't think you are getting value from your investment in object-oriented programming, this book will tell you what you've forgotten to do. "Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion." --Dave Collins, author of Designing Object-Oriented User Interfaces "Eric weaves real-world experience modeling--and building--business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric's descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributions to our field." --Luke Hohmann, author of Beyond Software Architecture "This book belongs on the shelf of every thoughtful software developer." --Kent Beck "What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We've given away bits and pieces of this knowledge...but we've never organized and systematized the principles of building domain logic. This book is important." --Kyle Brown, author of Enterprise Java(TM) Programming with IBM(R) WebSphere(R) The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process. Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development. Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis--refactoring not just the code but the model underlying the code--in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include:Getting all team members to speak the same language Connecting model and implementation more deeply Sharpening key distinctions in a model Managing the lifecycle of a domain object Writing domain code that is safe to combine in elaborate ways Making complex code obvious and predictable Formulating a domain vision statement Distilling the core of a complex domain Digging out implicit concepts needed in the model Applying analysis patterns Relating design patterns to the model Maintaining model integrity in a large system Dealing with coexisting models on the same project Organizing systems with large-scale structures Recognizing and responding to modeling breakthroughs With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.

The Lean Product Playbook: How to Innovate with Minimum Viable Products and Rapid Customer Feedback


Dan Olsen - 2015
    Whether you work at a startup or a large, established company, we all know that building great products is hard. Most new products fail. This book helps improve your chances of building successful products through clear, step-by-step guidance and advice. The Lean Startup movement has contributed new and valuable ideas about product development and has generated lots of excitement. However, many companies have yet to successfully adopt Lean thinking. Despite their enthusiasm and familiarity with the high-level concepts, many teams run into challenges trying to adopt Lean because they feel like they lack specific guidance on what exactly they should be doing. If you are interested in Lean Startup principles and want to apply them to develop winning products, this book is for you. This book describes the Lean Product Process: a repeatable, easy-to-follow methodology for iterating your way to product-market fit. It walks you through how to: Determine your target customers Identify underserved customer needs Create a winning product strategy Decide on your Minimum Viable Product (MVP) Design your MVP prototype Test your MVP with customers Iterate rapidly to achieve product-market fit This book was written by entrepreneur and Lean product expert Dan Olsen whose experience spans product management, UX design, coding, analytics, and marketing across a variety of products. As a hands-on consultant, he refined and applied the advice in this book as he helped many companies improve their product process and build great products. His clients include Facebook, Box, Hightail, Epocrates, and Medallia. Entrepreneurs, executives, product managers, designers, developers, marketers, analysts and anyone who is passionate about building great products will find The Lean Product Playbook an indispensable, hands-on resource.

Escaping the Build Trap: How Effective Product Management Creates Real Value


Melissa Perri - 2018
    Companies that live and die by outputs often fall into the "build trap," cranking out features to meet their schedule rather than the customer’s needs. In this book, Melissa Perri explains how laying the foundation for great product management can help companies solve real customer problems while achieving business goals. By understanding how to communicate and collaborate within a company structure, you can create a product culture that benefits both the business and the customer. You’ll learn product management principles that can be applied to any organization, big or small. In five parts, this book explores: Why organizations ship features rather than cultivate the value those features represent How to set up a product organization that scales How product strategy connects a company’s vision and economic outcomes back to the product activities How to identify and pursue the right opportunities for producing value through an iterative product framework How to build a culture focused on successful outcomes over outputs

Mastering Ethereum: Building Smart Contracts and DApps


Andreas M. Antonopoulos - 2018
    This platform enables you to run decentralized applications (DApps) and smart contracts that have no central points of failure or control, integrate with a payment network, and operate on an open blockchain. With this practical guide, Andreas M. Antonopoulos and Gavin Wood provide everything you need to know about building smart contracts and DApps on Ethereum and other virtual-machine blockchains.Discover why IBM, Microsoft, NASDAQ, and hundreds of other organizations are experimenting with Ethereum. This essential guide shows you how to develop the skills necessary to be an innovator in this growing and exciting new industry.Run an Ethereum client, create and transmit basic transactions, and program smart contractsLearn the essentials of public key cryptography, hashes, and digital signaturesUnderstand how wallets hold digital keys that control funds and smart contractsInteract with Ethereum clients programmatically using JavaScript libraries and Remote Procedure Call interfacesLearn security best practices, design patterns, and anti-patterns with real-world examplesCreate tokens that represent assets, shares, votes, or access control rightsBuild decentralized applications using multiple peer-to-peer (P2P) components

A Project Guide to UX Design: For User Experience Designers in the Field or in the Making


Russ Unger - 2009
    If you are an organization that really needs to start grokking UX this book is also for you. " -- Chris Bernard, User Experience Evangelist, Microsoft User experience design is the discipline of creating a useful and usable Web site or application--one that's easily navigated and meets the needs of both the site owner and its users. But there's a lot more to successful UX design than knowing the latest Web technologies or design trends: It takes diplomacy, project management skills, and business savvy. That's where this book comes in. Authors Russ Unger and Carolyn Chandler show you how to integrate UX principles into your project from start to finish. - Understand the various roles in UX design, identify stakeholders, and enlist their support- Obtain consensus from your team on project objectives- Define the scope of your project and avoid mission creep- Conduct user research and document your findings- Understand and communicate user behavior with personas- Design and prototype your application or site- Make your product findable with search engine optimization- Plan for development, product rollout, and ongoing quality assurance