The New Software Engineering

The New Software Engineering PDF

Author: Sue A. Conger

Publisher: Wadsworth Publishing Company

Published: 1994

Total Pages: 858

ISBN-13:

DOWNLOAD EBOOK →

This text is written with a business school orientation, stressing the how to and heavily employing CASE technology throughout. The courses for which this text is appropriate include software engineering, advanced systems analysis, advanced topics in information systems, and IS project development. Software engineer should be familiar with alternatives, trade-offs and pitfalls of methodologies, technologies, domains, project life cycles, techniques, tools CASE environments, methods for user involvement in application development, software, design, trade-offs for the public domain and project personnel skills. This book discusses much of what should be the ideal software engineer's project related knowledge in order to facilitate and speed the process of novices becoming experts. The goal of this book is to discuss project planning, project life cycles, methodologies, technologies, techniques, tools, languages, testing, ancillary technologies (e.g. database) and CASE. For each topic, alternatives, benefits and disadvantages are discussed.

Software Engineering at Google

Software Engineering at Google PDF

Author: Titus Winters

Publisher: O'Reilly Media

Published: 2020-02-28

Total Pages: 602

ISBN-13: 1492082767

DOWNLOAD EBOOK →

Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the world’s leading practitioners construct and maintain software. This book covers Google’s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. You’ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions

The Missing README

The Missing README PDF

Author: Chris Riccomini

Publisher: No Starch Press

Published: 2021-08-10

Total Pages: 194

ISBN-13: 1718501846

DOWNLOAD EBOOK →

Key concepts and best practices for new software engineers — stuff critical to your workplace success that you weren’t taught in school. For new software engineers, knowing how to program is only half the battle. You’ll quickly find that many of the skills and processes key to your success are not taught in any school or bootcamp. The Missing README fills in that gap—a distillation of workplace lessons, best practices, and engineering fundamentals that the authors have taught rookie developers at top companies for more than a decade. Early chapters explain what to expect when you begin your career at a company. The book’s middle section expands your technical education, teaching you how to work with existing codebases, address and prevent technical debt, write production-grade software, manage dependencies, test effectively, do code reviews, safely deploy software, design evolvable architectures, and handle incidents when you’re on-call. Additional chapters cover planning and interpersonal skills such as Agile planning, working effectively with your manager, and growing to senior levels and beyond. You’ll learn: How to use the legacy code change algorithm, and leave code cleaner than you found it How to write operable code with logging, metrics, configuration, and defensive programming How to write deterministic tests, submit code reviews, and give feedback on other people’s code The technical design process, including experiments, problem definition, documentation, and collaboration What to do when you are on-call, and how to navigate production incidents Architectural techniques that make code change easier Agile development practices like sprint planning, stand-ups, and retrospectives This is the book your tech lead wishes every new engineer would read before they start. By the end, you’ll know what it takes to transition into the workplace–from CS classes or bootcamps to professional software engineering.

The Technical and Social History of Software Engineering

The Technical and Social History of Software Engineering PDF

Author: Capers Jones

Publisher: Pearson Education

Published: 2014

Total Pages: 488

ISBN-13: 0321903420

DOWNLOAD EBOOK →

Pioneering software engineer Capers Jones has written the first and only definitive history of the entire software engineering industry. Drawing on his extraordinary vantage point as a leading practitioner for several decades, Jones reviews the entire history of IT and software engineering, assesses its impact on society, and previews its future. One decade at a time, Jones assesses emerging trends and companies, winners and losers, new technologies, methods, tools, languages, productivity/quality benchmarks, challenges, risks, professional societies, and more. He quantifies both beneficial and harmful software inventions; accurately estimates the size of both the US and global software industries; and takes on "unexplained mysteries" such as why and how programming languages gain and lose popularity.

Modern Software Engineering

Modern Software Engineering PDF

Author: David Farley

Publisher: Addison-Wesley Professional

Published: 2021-11-16

Total Pages: 478

ISBN-13: 0137314868

DOWNLOAD EBOOK →

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.

Become an Effective Software Engineering Manager

Become an Effective Software Engineering Manager PDF

Author: James Stanier

Publisher: Pragmatic Bookshelf

Published: 2020-06-09

Total Pages: 398

ISBN-13: 9781680507249

DOWNLOAD EBOOK →

Software startups make global headlines every day. As technology companies succeed and grow, so do their engineering departments. In your career, you'll may suddenly get the opportunity to lead teams: to become a manager. But this is often uncharted territory. How can you decide whether this career move is right for you? And if you do, what do you need to learn to succeed? Where do you start? How do you know that you're doing it right? What does "it" even mean? And isn't management a dirty word? This book will share the secrets you need to know to manage engineers successfully. Going from engineer to manager doesn't have to be intimidating. Engineers can be managers, and fantastic ones at that. Cast aside the rhetoric and focus on practical, hands-on techniques and tools. You'll become an effective and supportive team leader that your staff will look up to. Start with your transition to being a manager and see how that compares to being an engineer. Learn how to better organize information, feel productive, and delegate, but not micromanage. Discover how to manage your own boss, hire and fire, do performance and salary reviews, and build a great team. You'll also learn the psychology: how to ship while keeping staff happy, coach and mentor, deal with deadline pressure, handle sensitive information, and navigate workplace politics. Consider your whole department. How can you work with other teams to ensure best practice? How do you help form guilds and committees and communicate effectively? How can you create career tracks for individual contributors and managers? How can you support flexible and remote working? How can you improve diversity in the industry through your own actions? This book will show you how. Great managers can make the world a better place. Join us.

Experimentation in Software Engineering

Experimentation in Software Engineering PDF

Author: Claes Wohlin

Publisher: Springer Science & Business Media

Published: 2012-06-16

Total Pages: 249

ISBN-13: 3642290442

DOWNLOAD EBOOK →

Like other sciences and engineering disciplines, software engineering requires a cycle of model building, experimentation, and learning. Experiments are valuable tools for all software engineers who are involved in evaluating and choosing between different methods, techniques, languages and tools. The purpose of Experimentation in Software Engineering is to introduce students, teachers, researchers, and practitioners to empirical studies in software engineering, using controlled experiments. The introduction to experimentation is provided through a process perspective, and the focus is on the steps that we have to go through to perform an experiment. The book is divided into three parts. The first part provides a background of theories and methods used in experimentation. Part II then devotes one chapter to each of the five experiment steps: scoping, planning, execution, analysis, and result presentation. Part III completes the presentation with two examples. Assignments and statistical material are provided in appendixes. Overall the book provides indispensable information regarding empirical studies in particular for experiments, but also for case studies, systematic literature reviews, and surveys. It is a revision of the authors’ book, which was published in 2000. In addition, substantial new material, e.g. concerning systematic literature reviews and case study research, is introduced. The book is self-contained and it is suitable as a course book in undergraduate or graduate studies where the need for empirical studies in software engineering is stressed. Exercises and assignments are included to combine the more theoretical material with practical aspects. Researchers will also benefit from the book, learning more about how to conduct empirical studies, and likewise practitioners may use it as a “cookbook” when evaluating new methods or techniques before implementing them in their organization.

New Software Engineering Paradigm Based on Complexity Science

New Software Engineering Paradigm Based on Complexity Science PDF

Author: Jay Xiong

Publisher: Springer Science & Business Media

Published: 2011-02-14

Total Pages: 769

ISBN-13: 1441973265

DOWNLOAD EBOOK →

This book describes a complete revolution in software engineering based on complexity science through the establishment of NSE – Nonlinear Software Engineering paradigm which complies with the essential principles of complexity science, including the Nonlinearity principle, the Holism principle, the Complexity Arises From Simple Rules principle, the Initial Condition Sensitivity principle, the Sensitivity to Change principle, the Dynamics principle, the Openness principle, the Self-organization principle, and the Self-adaptation principle. The aims of this book are to offer revolutionary solutions to solve the critical problems existing with the old-established software engineering paradigm based on linear thinking and simplistic science complied with the superposition principle, and make it possible tohelp software development organizations double their productivity, halve their cost, and remove 99% to 99.99% of the defects in their software products, and efficiently handle software complexity, conformity, visibility, and changeability. It covers almost all areas in software engineering. The tools NSE_CLICK- an automatic acceptance testing platform for outsourcing (or internally developed) C/C++ products, and NSE_CLICK_J - an automatic acceptance testing platform for outsourcing (or internally developed) Java products are particularly designed for non-technical readers to view/review how the acceptance testing of a software product developed with NSE can be performed automatically, and how the product developed with NSE is truly maintainable at the customer site.

An Elegant Puzzle

An Elegant Puzzle PDF

Author: Will Larson

Publisher: Stripe Press

Published: 2019-05-20

Total Pages: 281

ISBN-13: 1953953336

DOWNLOAD EBOOK →

A human-centric guide to solving complex problems in engineering management, from sizing teams to handling technical debt. There’s a saying that people don’t leave companies, they leave managers. Management is a key part of any organization, yet the discipline is often self-taught and unstructured. Getting to the good solutions for complex management challenges can make the difference between fulfillment and frustration for teams—and, ultimately, between the success and failure of companies. Will Larson’s An Elegant Puzzle focuses on the particular challenges of engineering management—from sizing teams to handling technical debt to performing succession planning—and provides a path to the good solutions. Drawing from his experience at Digg, Uber, and Stripe, Larson has developed a thoughtful approach to engineering management for leaders of all levels at companies of all sizes. 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.