Programming Beyond Practices: Be More Than Just a Code Monkey

Writing code is the easy part of your work as a software developer. This practical book lets you explore the other 90%—everything from requirements discovery and rapid prototyping to business analysis and designing for maintainability. Instead of providing neatly packaged advice from on high, author Gregory Brown presents detailed examples of the many problems developers encounter, including the thought process it takes to solve them.

He does this in an unusual and entertaining fashion by making you the main character in a series of chapter-length stories. As these stories progress, the examples become more complex, and your responsibilities increase. Together, these stories take you on a journey that will make you question and refine the way you think about, and work on, software projects.

Steps in this unique journey include:

  • Using prototypes to explore project ideas
  • Spotting hidden dependencies in incremental changes
  • Identifying the pain points of service integrations
  • Developing a rigorous approach towards problem-solving
  • Designing software from the bottom up
  • Data modeling in an imperfect world
  • Gradual process improvement as an antidote for over-commitment
  • The future of software development
1123602071
Programming Beyond Practices: Be More Than Just a Code Monkey

Writing code is the easy part of your work as a software developer. This practical book lets you explore the other 90%—everything from requirements discovery and rapid prototyping to business analysis and designing for maintainability. Instead of providing neatly packaged advice from on high, author Gregory Brown presents detailed examples of the many problems developers encounter, including the thought process it takes to solve them.

He does this in an unusual and entertaining fashion by making you the main character in a series of chapter-length stories. As these stories progress, the examples become more complex, and your responsibilities increase. Together, these stories take you on a journey that will make you question and refine the way you think about, and work on, software projects.

Steps in this unique journey include:

  • Using prototypes to explore project ideas
  • Spotting hidden dependencies in incremental changes
  • Identifying the pain points of service integrations
  • Developing a rigorous approach towards problem-solving
  • Designing software from the bottom up
  • Data modeling in an imperfect world
  • Gradual process improvement as an antidote for over-commitment
  • The future of software development
25.99 In Stock
Programming Beyond Practices: Be More Than Just a Code Monkey

Programming Beyond Practices: Be More Than Just a Code Monkey

by Gregory T Brown
Programming Beyond Practices: Be More Than Just a Code Monkey

Programming Beyond Practices: Be More Than Just a Code Monkey

by Gregory T Brown

eBook

$25.99 

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

Writing code is the easy part of your work as a software developer. This practical book lets you explore the other 90%—everything from requirements discovery and rapid prototyping to business analysis and designing for maintainability. Instead of providing neatly packaged advice from on high, author Gregory Brown presents detailed examples of the many problems developers encounter, including the thought process it takes to solve them.

He does this in an unusual and entertaining fashion by making you the main character in a series of chapter-length stories. As these stories progress, the examples become more complex, and your responsibilities increase. Together, these stories take you on a journey that will make you question and refine the way you think about, and work on, software projects.

Steps in this unique journey include:

  • Using prototypes to explore project ideas
  • Spotting hidden dependencies in incremental changes
  • Identifying the pain points of service integrations
  • Developing a rigorous approach towards problem-solving
  • Designing software from the bottom up
  • Data modeling in an imperfect world
  • Gradual process improvement as an antidote for over-commitment
  • The future of software development

Product Details

ISBN-13: 9781491943892
Publisher: O'Reilly Media, Incorporated
Publication date: 10/06/2016
Sold by: Barnes & Noble
Format: eBook
Pages: 132
File size: 9 MB

About the Author

Gregory Brown has run the independently published Practicing Ruby journal since 2010, and is the original author of the popular Prawn PDF generation library.

In his consulting projects, Gregory has worked with key stakeholders in companies of all sizes to identify core business problems that can be solved with as little code as possible.

Gregory's relentless focus on the 90% of programming work that isn't just writing code is what lead him to begin working on Programming Beyond Practices.

Table of Contents

About This Book v

1 Using Prototypes to Explore Project Ideas 1

Start by understanding the needs behind the project 2

Use wireframes to set expectations about functionality 2

Set up a live test system as soon as you start coding 4

Discuss all defects, but be pragmatic about repairs 7

Check your assumptions early and often 8

Limit the scope of your work as much as possible 9

Remember that prototypes are not production systems 13

Design features that make collecting feedback easy 14

2 Spotting Hidden Dependencies in Incremental Changes 21

There's no such thing as a standalone feature 22

If two features share a screen, they depend on each other 23

Avoid non-essential real-time data synchronization

Look for problems when code is reused in a new context 27

3 Identifying the Pain Points of Service Integrations 31

Plan for trouble when your needs are off the beaten path 32

Remember that external services might change or die 34

Look for outdated mocks in tests when services change 36

Expect maintenance headaches from poorly coded robots 38

Remember that there are no purely internal concerns 40

4 Developing a Rigorous Approach Toward Problem Solving 43

Begin by gathering the facts and stating them plainly 44

Work part of the problem by hand before writing code 46

Validate your input data before attempting to process it 48

Make use of deductive reasoning to check your work 51

Solve simple problems to understand more difficult ones 52

5 Designing Software from the Bottom Up 59

Identify the nouns and verbs of your problem space 60

Begin by implementing a minimal slice of functionality 61

Avoid unnecessary temporal coupling between objects 64

Gradually extract reusable parts and protocols 67

Experiment freely to discover hidden abstractions 71

Know where the bottom-up approach breaks down 73

6 Data Modeling in an Imperfect World 75

Decouple conceptual modeling from physical modeling 76

Design an explicit model for tracking data changes 78

Understand how Conway's Law influences data management practices 83

Remember that workflow design and data modeling go hand in hand 85

7 Gradual Process Improvement as an Antidote for Overcommitment 91

Respond to unexpected failures with swiftness and safety 92

Identify and analyze operational bottlenecks 94

Pay attention to the economic tradeoffs of your work 95

Reduce waste by limiting work in progress 98

Make the whole greater than the sum of its parts 102

8 The Future of Software Development 107

Acknowledgments 117

O'Reilly Media, Inc 119

Index 121

From the B&N Reads Blog

Customer Reviews