Indie Software-Technology

Advanced JavaScript Unleashed: Master Advanced JavaScript Concepts like Prototypes, Symbols, Generators & More

Like many web developers, I learned about modern JavaScript/ECMAScript soon after it came out in 2015. JavaScript is the programming language that has powered interactive webpages since Netscape Navigator was a thing. Now, it’s the world’s most used programming language for all sorts of non-browser-based applications, including mobile apps, web servers, and full-stack development. Therefore, understanding how it works and why it works becomes a priority for most software engineers. Grasping the implementation details can…

Continue reading

Leadership Management-Business Software-Technology

Leading Effective Engineering Teams: Lessons for Individual Contributors & Managers from 10 Years at Google

This book fills a gap in literature about technology leadership. Many books on leadership exist; likewise, many books on approaching technology from the perspective of business leadership exist; however, not a lot of books talk about how to lead from a technologist’s angle. People working in software are usually really smart people. They know and respect “game” when they see competence and mastery in their field. But mentorship from books or from seasoned leaders is…

Continue reading

Software-Technology

AI & Machine Learning for Coders: A Programmer’s Guide to Artificial Intelligence

I’m a tad suspicious about listening to books that are too deep in the weeds with code. If they’re about programming concepts, audiobooks can be suitable, but if they involve code like this one, I like to have a physical picture of the lines of code. However, I was pleasantly surprised that this book conveyed many ideas despite communicating code aurally, too. Artificial intelligence (AI) and machine learning (ML) are huge topics today. I read…

Continue reading

Research-Education Science Software-Technology

Understanding Tech Transfer: A Brief Guide to University Technology Transfer

This short, accessible work outlines a typical tech transfer office at a university. Research universities drive innovation across entire industries and local economies, and smart companies can figure out how to leverage partnerships for commercial successes. The university office that facilitates that is called “tech transfer.” These offices received increased momentum when a federal act in 1980 allowed universities to license their innovations for profit while under federal funding. At 31 pages, this book is…

Continue reading

Research-Education Science Software-Technology

Tech Transfer 2.0: How Universities Can Unlock Their Patent Portfolios & Create More Tech Startups

Tech transfer offices in American universities attempt to translate innovations from their research labs into industry and the wider marketplace. Tech transfer’s successes tend to be counted in patents and revenue, but most scientific advances run through larger pipelines of graduating students and journal publications. The Bayh-Dole Act of 1980 attempted to increase the transfer of patents from universities’ labs into licensing to industry. However, as Melba Kurman notes, successful tech transfer has been around…

Continue reading

Software-Technology

How to Break Web Software: Functional & Security Testing of Web Applications & Web Services

This almost 20-year-old book describes the then-most common weaknesses of Internet software. Although some of the referenced technologies are outdated, a majority of the principles are still relevant in 2025. SQL injection, cross-site scripting, and the need to sanitize input parameters remain hot issues in web security for developers. Other items bring eye rolls to developers who have been around the bush – Internet Explorer, to name one. Although this book isn’t going to suddenly…

Continue reading

Software-Technology

Fundamentals of Software Architecture: An Engineering Approach

Software architects guide development teams during projects from design to completion. It’s a notoriously nebulous field where the only goal is to build successful software… whatever that means and whatever that takes. Like any ill-defined field, getting from point A to point B requires skill and wisdom. That skill and wisdom evolves over time as the field evolves. Mark Richards and Neal Ford attempt to provide a guide to being a software architect without tying…

Continue reading

Software-Technology

Writing Effective Use Cases

The first thing I noticed is that this book is almost 25 years old. That’s an eternity in computer science, especially in a non-mathematical subject. It was written under the “waterfall” paradigm of software development, before agile took over most of the software engineering world. Instead of a page or two, waterfall specifications could require a binder of dozens, if not hundreds, of pages. This book describes “use cases” instead of the “user stories” that…

Continue reading

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