Software Development on a Leash


Book Description

Software Development on a Leash is designed as a roadmap for experienced developers and architects who are interested in implementing a turbocharged software development process that encourages reuse and innovation. Author David Birmingham's products have been successfully deployed in a variety of venues, including highly complex desktop environments, with rapid turnaround and high-intensity delivery deadlines. This book contrasts the application-centric development approach to the architecture-centric development approach, introducing the concept of the metamorphic superpattern—the capability of a software program to dynamically adapt to changing application requirements without rebuilding the binary executable. Birmingham invites the reader to deploy reusable structural and behavioral building blocks, along with some powerful frameworks to gain immediate traction in any setting. He includes a high-speed multidimensional toolkit to organize and deploy the building blocks, essentially weaving the application together at run-time rather than being hard-wired in program code. Birmingham then ties the building blocks together with structural and behavioral metadata, allowing simple, interpreted macros to drive everything from database access, screen layouts, and many aspects of software development normally embedded directly into the software programand reused! The rapid deployment effect this creates allows developers to perform simple surgical application changes or rapid, sweeping rework/enhancement—without changing compiled software.




Ask Your Developer


Book Description

Jeff Lawson, developer turned CEO of Twilio (one of Bloomberg Businessweek's Top 50 Companies to Watch in 2021), creates a new playbook for unleashing the full potential of software developers in any organization, showing how to help management utilize this coveted and valuable workforce to enable growth, solve a wide range of business problems, and drive digital transformation. From banking and retail to insurance and finance, every industry is turning digital, and every company needs the best software to win the hearts and minds of customers. The landscape has shifted from the classic build vs. buy question, to one of build vs. die. Companies have to get this right to survive. But how do they make this transition? Software developers are sought after, highly paid, and desperately needed to compete in the modern, digital economy. Yet most companies treat them like digital factory workers without really understanding how to unleash their full potential. Lawson argues that developers are the creative workforce who can solve major business problems and create hit products for customers—not just grind through rote tasks. From Google and Amazon, to one-person online software companies—companies that bring software developers in as partners are winning. Lawson shows how leaders who build industry changing software products consistently do three things well. First, they understand why software developers matter more than ever. Second, they understand developers and know how to motivate them. And third, they invest in their developers' success. As a software developer and public company CEO, Lawson uses his unique position to bridge the language and tools executives use with the unique culture of high performing, creative software developers. Ask Your Developer is a toolkit to help business leaders, product managers, technical leaders, software developers, and executives achieve their common goal—building great digital products and experiences. How to compete in the digital economy? In short: Ask Your Developer.




Effective JavaScript


Book Description

“It’s uncommon to have a programming language wonk who can speak in such comfortable and friendly language as David does. His walk through the syntax and semantics of JavaScript is both charming and hugely insightful; reminders of gotchas complement realistic use cases, paced at a comfortable curve. You’ll find when you finish the book that you’ve gained a strong and comprehensive sense of mastery.” —Paul Irish, developer advocate, Google Chrome “This is not a book for those looking for shortcuts; rather it is hard-won experience distilled into a guided tour. It’s one of the few books on JS that I’ll recommend without hesitation.” —Alex Russell, TC39 member, software engineer, Google In order to truly master JavaScript, you need to learn how to work effectively with the language’s flexible, expressive features and how to avoid its pitfalls. No matter how long you’ve been writing JavaScript code, Effective JavaScript will help deepen your understanding of this powerful language, so you can build more predictable, reliable, and maintainable programs. Author David Herman, with his years of experience on Ecma’s JavaScript standardization committee, illuminates the language’s inner workings as never before—helping you take full advantage of JavaScript’s expressiveness. Reflecting the latest versions of the JavaScript standard, the book offers well-proven techniques and best practices you’ll rely on for years to come. Effective JavaScript is organized around 68 proven approaches for writing better JavaScript, backed by concrete examples. You’ll learn how to choose the right programming style for each project, manage unanticipated problems, and work more successfully with every facet of JavaScript programming from data structures to concurrency. Key features include Better ways to use prototype-based object-oriented programming Subtleties and solutions for working with arrays and dictionary objects Precise and practical explanations of JavaScript’s functions and variable scoping semantics Useful JavaScript programming patterns and idioms, such as options objects and method chaining In-depth guidance on using JavaScript’s unique “run-to-completion” approach to concurrency




Modern Software Engineering


Book Description

Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David Farley helps software professionals think about their work more effectively, manage it more successfully, and genuinely improve the quality of their applications, their lives, and the lives of their colleagues. Writing for programmers, managers, and technical leads at all levels of experience, Farley illuminates durable principles at the heart of effective software development. He distills the discipline into two core exercises: learning and exploration and managing complexity. For each, he defines principles that can help you improve everything from your mindset to the quality of your code, and describes approaches proven to promote success. Farley's ideas and techniques cohere into a unified, scientific, and foundational approach to solving practical software development problems within realistic economic constraints. This general, durable, and pervasive approach to software engineering can help you solve problems you haven't encountered yet, using today's technologies and tomorrow's. It offers you deeper insight into what you do every day, helping you create better software, faster, with more pleasure and personal fulfillment. Clarify what you're trying to accomplish Choose your tools based on sensible criteria Organize work and systems to facilitate continuing incremental progress Evaluate your progress toward thriving systems, not just more "legacy code" Gain more value from experimentation and empiricism Stay in control as systems grow more complex Achieve rigor without too much rigidity Learn from history and experience Distinguish "good" new software development ideas from "bad" ones Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.




The Art of Lean Software Development


Book Description

This succinct book explains how you can apply the practices of Lean software development to dramatically increase productivity and quality. Based on techniques that revolutionized Japanese manufacturing, Lean principles are being applied successfully to product design, engineering, the supply chain, and now software development. With The Art of Lean Software Development, you'll learn how to adopt Lean practices one at a time rather than taking on the entire methodology at once. As you master each practice, you'll see significant, measurable results. With this book, you will: Understand Lean's origins from Japanese industries and how it applies to software development Learn the Lean software development principles and the five most important practices in detail Distinguish between the Lean and Agile methodologies and understand their similarities and differences Determine which Lean principles you should adopt first, and how you can gradually incorporate more of the methodology into your process Review hands-on practices, including descriptions, benefits, trade-offs, and roadblocks Learn how to sell these principles to management The Art of Lean Software Development is ideal for busy people who want to improve the development process but can't afford the disruption of a sudden and complete transformation. The Lean approach has been yielding dramatic results for decades, and with this book, you can make incremental changes that will produce immediate benefits. "This book presents Lean practices in a clear and concise manner so readers are motivated to make their software more reliable and less costly to maintain. I recommend it to anyone looking for an easy-to-follow guide to transform how the developer views the process of writing good software."-- Bryan Wells, Boeing Intelligence & Security Sytems Mission System "If you're new to Lean software development and you're not quite sure where to start, this book will help get your development process going in the right direction, one step at a time."-- John McClenning, software development lead, Aclara




The Well-Grounded Python Developer


Book Description

If you’re new to Python, it can be tough to understand when, where, and how to use all its language features. This friendly guide shows you how the Python ecosystem fits together, and grounds you in the skills you need to continue your journey to being a software developer. Summary Inside The Well-Grounded Python Developer you will discover: Building modules of functionality Creating a well-constructed web server application Integrating database access into your Python applications Refactor and decoupling systems to help scale them How to think about the big picture of your application The Well-Grounded Python Developer builds on Python skills you’ve learned in isolation and shows you how to unify them into a meaningful whole. It helps you understand the dizzying array of libraries and teaches important concepts, like modular construction, APIs, and the design of a basic web server. As you work through this practical guide, you’ll discover how all the bits of Python link up as you build and modify a typical web server application—the kind of web app that’s in high demand by modern businesses. About the technology As a new programmer, you’re happy just to see your code run. A professional developer, on the other hand, needs to create software that runs reliably. It must be fast, maintainable, scalable, secure, well designed and documented, easy for others to update, and quick to ship. This book teaches you the skills you need to go from Python programmer to Python developer. About the book The Well-Grounded Python Developer shows you why Python, the world’s most popular programming language, is a fantastic tool for professional development. It guides you through the most important skills, like how to name variables, functions, and classes, how to identify and write a good API, and how to use objects. You’ll also learn how to deal with inevitable failures, how to make software that connects to the internet, core security practices, and many other professional-grade techniques. What's inside Create a web application Connect to a database Design programs to handle big tasks About the reader For experienced beginners who want to learn professional-level skills. About the author Doug Farrell has been a professional developer since 1983, and has worked with Python for over 20 years. Table of Contents 1 Becoming a Pythonista PART 1 - GROUNDWORK 2 That’s a good name 3 The API: Let’s talk 4 The object of conversation 5 Exceptional events PART 2 - FIELDWORK 6 Sharing with the internet 7 Doing it with style 8 Do I know you? Authentication 9 What can you do? Authorization 10 Persistence is good: Databases 11 I’ve got something to say 12 Are we there yet?




The Art of Agile Development


Book Description

For those considering Extreme Programming, this book provides no-nonsense advice on agile planning, development, delivery, and management taken from the authors' many years of experience. While plenty of books address the what and why of agile development, very few offer the information users can apply directly.




Distributed .NET Programming in C#


Book Description

Barnaby describes how to use the new .NET technologies to build fast, scalable, and robust distributed applications.




Lean Software Strategies


Book Description

Lean production, which has radically benefited traditional manufacturing, can greatly improve the software industry with similar methods and results. This transformation is possible because the same overarching principles that apply in other industries work equally well in software development. The software industry follows the same industrial concepts of production as those applied in manufacturing; however, the software industry perceives itself as being fundamentally different and has largely ignored what other industries have gained through the application of lean techniques.




Database Programming with C#


Book Description

Non-VB programmers are shown how they can have the same database ease that Visual Basic programmers have: step-by-step coverage of data access in Visual Studio .NET, with example code in C#.