Content Tagged engineering
-
abbr-title-tap (npm package)
A drop-in enhancement for
<abbr title="...">
that brings native-like hover tooltips to mobile users — with tap-triggered display and automatic hiding on outside tap. Zero-config, tiny, and production-ready. -
Playwright Hierarchy Reporter (npm package)
A minimal, custom hierarchical test reporter for Playwright with clean, indented CLI output — inspired by Vitest’s verbose reporter.
-
Null-Object (npm package)
A runtime-safe, polymorphic noop object that absorbs all method calls, property accesses, and assignments—without side effects or the need for conditionals.
-
Puppeteer PDF Service
The small, decoupled, quickly set up and easily scalable service to generate PDFs from the styled web page with Puppeteer.
-
Meszaros G., xUnit Test Patterns (2007)
This book is essential language-agnostic source to make your TDD delivering principal values: maintainable test code, joyful SUT refactorings, and zero product defects.
-
Architecture, Design.
This is just the short clarification for those hesitant about the subjects
-
Enhanced ENV Schema CLI (npm package)
The missing CLI (enhanced) and programmatic wrapper around env-schema that conveniently validates environment variables against JSON Schema in your CI pipelines.
-
Export Members from a TypeScript NPM Package
The short memo on how to conveniently export members of a TypeScript NPM package.
-
Cohn M., User Stories Applied (2004)
In a requirements flow, user stories come after use cases and before requirements specifications (whether SbE or traditional). This book is a foundational resource for exploring the 'how' and 'why' of user stories.
-
Multiple Conditionals Clean Way
Make conditionals of any size readable and manageable.
-
HTTP Convenience Pack (npm package)
The small TypeScript HTTP convenience library; methods, statuses, MIME types, headers enums, types, validators, normalizers,
in group
,of group
,make
,extract
etc. -
Wiegers K., Software Development Pearls (2021)
-
Cockburn A., Writing Effective Use Cases (2001)
The book presents Use Cases, a great framework for deterministic requirements. The later you discover a requirements mistake, the more it costs to fix. It is like $1 in design phase vs $10 in development vs $100 in production.
-
OpenAPI Spec Markdown Merger (npm package)
Expand the OpenAPI JSON specification
description
fields by merging the arbitrary markdown files translated to HTML. -
Monolith, Not Ball of Mud
See Big Ball of Mud pattern.
My answer for this StackOverflow question, explaining "modular monolith" term introduction redundancy.
-
Beck K., Implementation Patterns (2007)
The book is about code design—literally, how we construct meanings through code. It concisely presents a wide set of techniques and conventions that improve readability, communicate intent clearly, and make code easier to modify and use.
There is a number of great basic books on the subject (1, 2, 3). This one is a good addition in a concise form.
-
Design is Inevitable
-
Evans E., Domain-Driven Design (2004)
Successful business applications are among the most efficient and effective investments. DDD provides a unique engineering foundation to build such applications. The blue book is a must-practice resource for every OO business software developer to learn DDD.
-
When Bother with Events
When "you aren't gonna need it" (YAGNI) and when you do actually need events.
-
Beck K., TDD by Example (2002)
The foundational book on TDD. As mostly conceptual, it is an interesting reading for the experienced TDDers. The TDD cycle is, probably, the sole practical - yet critical - takeout for beginners.
-
Astels D., Test-Driven Development (2003)
The book itself is quite heavy but, unlike other TDD books, it puts TDD after modeling which cardinally helps to start applying TDD in practice. Most valuable content is reviewed.
-
Git Workflows, Principally
Are modern Git workflows actually competing? What is the purpose of each? This writing is to help you decide for yourself. Fewer words, more substance.
-
Software Engineer Toolbox Granularity
My personal approach here is that software creation tooling—both managerial and engineering—is often presented in books and media as monolithic. In reality, these are composites of dozens to hundreds of smaller, independent tools that each bring their own value.
-
Code-and-Fix Development
McConnell's original definition from his Professional Software Development (2003) book, p. 50.
-
Fowler M., UML Distilled (2004)
UML is a must-have tool for modeling, designing software, for communicating and accumulating knowledge about software within teams and across time.
-
Kruchten P., Managing Technical Debt (2019)
The book presents a concise and structured look at what the technical debt is, where it comes from and how to treat it in short- and long-term perspective.
The book is somewhat a middle ground between business and engineering perspectives, gravitating towards managerial aspects of technical debt.
It suggests a number of useful techniques for managing the debt. Meanwhile, some of the techniques look inapplicable trying to solve the engineering issues using managerial approaches.
-
Applying TDD Teaches Everything
TDD is the opposite of covering code by test. Learning it very early and the correct way gives a programmer a deliverance from the darkness surrounding them.
-
Gause D., Exploring Requirements: Quality Before Design (1989)
Many well-written books on requirements sink into details trying to establish formal processes that promise flawless execution. Often they create rigid complicated systems, difficult to apply in practice.
This book provides seemingly forgotten basics that flexibly guide our requirements journeys leading to unambiguous knowledge and products customers love. It can serve as the single comprehensive source of basic knowledge, allowing beginners to start practicing requirements extraction right away—both in substance and process.
For reference, here is a number of more modern practical books on the subject worth to study: 1, 2, 3.
-
Fowler M., Domain-Specific Languages (2011)
Probably a primary and essential reading for more experienced developers specifically for practical applications and secondary due to omnipresent usage of DSLs in the industry.
-
Sadalage P., Fowler M., NoSQL Distilled (2013)
NoSQL is not "go-to" choice for every project. While relational databases are largely similar, NoSQL has different types each designed for specific purpose. The book is a right sized intro to when and why NoSQL databases should be selected.