Software-Technology

How Google Tests Software

I learned to develop software in the 1990s and started full-time work in the 2000s. I took time off to study other fields and returned to the practice in 2012, about the time this book came out. In the last 13-or-so years, I’ve noticed that the art of testing software has changed significantly. Twenty-five years ago, I started to code in an academic lab where we did our own testing out of necessity. In industry,…

Continue reading

Software-Technology

Tidy First? A Personal Exercise in Empirical Software Design

When a software developer is writing code, she/he is often confronted with a problem: How much work should I put into writing “the best” code versus just doing a quick but serviceable job? Kent Beck, pioneer of the influential Extreme Programming: Embrace Change, addresses this question via an in-depth look at the process of “tidying” code. His answer is usually to “tidy first”… but not always. This book seeks to identify exactly when one is…

Continue reading

Software-Technology

The Staff Engineer’s Path: A Guide for Individual Contributors Navigating Growth & Change

A lot of people enter software development because they don’t want their primary job task to consist of interacting with people. However, career progressions often define management as the next step after being a senior developer. To those who don’t want to be with people full-time, this hierarchy can make a dead end. In recent years, the pathway of a staff engineer has opened up. Staff engineers are in charge of the technical direction of…

Continue reading

Management-Business Software-Technology

Hiring the Best Knowledge Workers, Techies & Nerds: The Secrets & Science of Hiring Technical People

Today’s world is increasingly dependent on technology to increase the efficiency and effectiveness of our businesses. Yet assessing which technical person to hire can be a tall task. Do you just hire the one that is most like you? Or do you hire the one with the most accolades? And how do you advertise? Johanna Rothman’s book empowers readers to figure out their own answers. Although the technology of hiring has changed significantly since its…

Continue reading

Software-Technology

Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures

A software architect foresees potential issues in a design and judges which way will instill the most business success in the long run. Unfortunately, in almost every scenario, trade offs permeate every option. As the saying goes, the devil is in the details. Learning to anticipate problems with wisdom set great software architects apart from merely experienced ones. In this book, several experienced authors look at those trade offs in the context of distributed software…

Continue reading

Management-Business Program Management Software-Technology

Product Roadmaps Relaunched: How to Set Direction while Embracing Uncertainty

Agile practices of project management have transformed how software is developed. Planning an entire project from the start often leads to unmet objectives and cost overruns. Agile instead proposes to start small by developing a minimal viable product and growing one feature at a time. In an age of the Internet’s instantaneity, continual deployment makes agile an achievable possibility. These authors, whose careers have all been hewn in software to some degree, propose undertaking the…

Continue reading

Cybersecurity Management-Business Software-Technology

Cybersecurity Tabletop Exercises: From Planning to Execution

Cybersecurity is a trending business topic due to the incredible growth of the IT industry and the Internet. It affects almost every professional domain, whether in the business, healthcare, or financial sectors. Perhaps the biggest risk facing companies today is having their IT systems compromised in some way involving secure data – a very broad vulnerability. To limit or prevent harm, a company’s leaders can engage in “tabletop exercises” to run through common scenarios. These…

Continue reading

Management-Business Software-Technology

Putt’s Law & the Successful Technocrat: How to Win in the Information Age

Great satirical works entertain while speaking deep truths. Like a court jester or Shakespeare’s comedies, humor can often unmask human nature where polite conversation can only obscure. Thus, when approached thoughtfully, jokes play an invaluable role to any thinking person. At their best, they can correct overly genteel approaches to problems. This book, written by a pseudonymous author, does just that. It speaks foundational truths about engineering organizations with a realism that surpasses more respectful…

Continue reading

Software-Technology

Modern Software Engineering: Doing What Works to Build Better Software Faster

Software engineering is a relatively young discipline that’s rapidly evolving. What practices moved software forward thirty years ago are different from what moves them today. Today, most software requires continual-release techniques in the era of Internet speed. In this book, David Farley, an expert in that area and one seasoned in business practices, brings the field up to date with practices that work. Modern Software Engineering provides a good summary informed by reading, personal practice,…

Continue reading

Software-Technology

UML Distilled: A Brief Guide to the Standard Object Modeling Language

Unified Modeling Language (UML) models how software and technology are designed. Unfortunately, its committee-derived specifications are too long and too detailed for most software developers to parse. This book distills that complexity into a series of simple instructions alongside graphics. These graphics can easily serve as starters or quick interpretive guides for thorny situations. Additionally, Martin Fowler, a UML veteran, offers sage advice to help the reader know what’s most essential and what can be…

Continue reading