# software-architecture

Software architecture concerns the high-level structure and behavior of software systems, including architecture patterns, tactics, and design decisions.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## ESP-GMF v1.0: General Multimedia Framework, First Official Release

DevFeed: [ESP-GMF v1.0: General Multimedia Framework, First Official Release](<https://devfeed.tech/articles/esp-gmf-v1-0-general-multimedia-framework-first-official-release-13782.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2026/07/esp-gmf-v1-0-release/>)

Author: John Lee

Published: 2026-07-21T00:00:00Z

Content type: release

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [Frameworks](<https://devfeed.tech/topics/frameworks.md>), [Espressif](<https://devfeed.tech/topics/espressif.md>), [releases](<https://devfeed.tech/topics/releases.md>), [software-architecture](<https://devfeed.tech/topics/software-architecture.md>), [Playback](<https://devfeed.tech/topics/playback.md>), [Image processing](<https://devfeed.tech/topics/image-processing.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [audio](<https://devfeed.tech/tags/audio.md>), [blog](<https://devfeed.tech/tags/blog.md>), [esp](<https://devfeed.tech/tags/esp.md>), [esp-gmf](<https://devfeed.tech/tags/esp-gmf.md>), [espressif](<https://devfeed.tech/tags/espressif.md>), [image-processing](<https://devfeed.tech/tags/image-processing.md>), [multimedia](<https://devfeed.tech/tags/multimedia.md>), [playback](<https://devfeed.tech/tags/playback.md>), [release](<https://devfeed.tech/tags/release.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

Espressif announces ESP-GMF v1.0, the first official release of its unified multimedia framework for developing audio, video, and AI multimedia applications on Espressif chips. The release provides a stable API, a modular component architecture, broader media and hardware support, and improved code reuse. It also introduces the ESP Multimedia Core as a shared foundation for multimedia components.

### Source excerpt

ESP-GMF v1.0 is the first official release of Espressif's General Multimedia Framework, a lightweight, unified framework for building audio, video, and AI multimedia applications on Espressif chips. This post introduces the release, walks through what is new for each component area, and lists the full v1.0 component set.

## How Claude Can Lead Software Engineers to Surrender Understanding

DevFeed: [How Claude Can Lead Software Engineers to Surrender Understanding](<https://devfeed.tech/articles/the-i-don-t-know-claude-wrote-this-pandemic-32334.md>)

Original publisher: [Read original article](<https://newsletter.manager.dev/newsletter/the-i-don-t-know-claude-wrote-this-pandemic>)

Author: Anton Zaides

Published: 2026-06-16T06:01:00Z

Content type: opinion

Language: en

Sources: [Manager.dev](<https://devfeed.tech/sources/manager-dev.md>)

Topics: [Claude](<https://devfeed.tech/topics/claude.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>), [software-architecture](<https://devfeed.tech/topics/software-architecture.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [claude](<https://devfeed.tech/tags/claude.md>), [review](<https://devfeed.tech/tags/review.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

This opinion article argues that software engineers can become overly reliant on Claude during planning, coding, and code review. It distinguishes cognitive offloading, where engineers delegate work while retaining responsibility, from cognitive surrender, where AI-generated output becomes their output without sufficient understanding or verification.

### Source excerpt

When Claude drives you off the cliff

## \*People\* detangle a ball of mud

DevFeed: [\*People\* detangle a ball of mud](<https://devfeed.tech/articles/people-detangle-a-ball-of-mud-37632.md>)

Original publisher: [Read original article](<https://swizec.com/blog/people-detangle-a-ball-of-mud>)

Author: hi@swizec.com (Swizec Teller)

Published: 2025-11-15T00:00:00Z

Content type: opinion

Language: en

Sources: [Swizec Teller](<https://devfeed.tech/sources/swizec-teller.md>)

Topics: [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [software-architecture](<https://devfeed.tech/topics/software-architecture.md>), [Development](<https://devfeed.tech/topics/development.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [async](<https://devfeed.tech/tags/async.md>), [complexity](<https://devfeed.tech/tags/complexity.md>), [decoupling](<https://devfeed.tech/tags/decoupling.md>), [ownership](<https://devfeed.tech/tags/ownership.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [processes](<https://devfeed.tech/tags/processes.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [teams](<https://devfeed.tech/tags/teams.md>)

### AI overview

This opinion argues that teams and processes, rather than a lone architect, are the best way to gradually untangle a deteriorating "ball of mud" codebase. Giving teams ownership, allowing space for refactoring, formalizing recurring patterns, and discussing interfaces before coding can encourage decoupled subsystems.

### Source excerpt

Ball of mud is the world's most popular software architecture. The one we all use at work. But it sucks to work with. So what do you do?

## Deployment-Driven Development

DevFeed: [Deployment-Driven Development](<https://devfeed.tech/articles/deployment-driven-development-22995.md>)

Original publisher: [Read original article](<https://bravenewgeek.com/deployment-driven-development/>)

Published: 2024-11-11T22:57:13Z

Content type: article

Language: en

Sources: [Brave New Geek](<https://devfeed.tech/sources/brave-new-geek.md>)

Topics: [Deployment](<https://devfeed.tech/topics/deployment.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [software-architecture](<https://devfeed.tech/topics/software-architecture.md>), [Platform Engineering](<https://devfeed.tech/topics/platform-engineering.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Tech Debt](<https://devfeed.tech/topics/tech-debt.md>), [sdlc](<https://devfeed.tech/topics/sdlc.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [ddd](<https://devfeed.tech/tags/ddd.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [deployment-driven-development](<https://devfeed.tech/tags/deployment-driven-development.md>), [development-process](<https://devfeed.tech/tags/development-process.md>), [devops](<https://devfeed.tech/tags/devops.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [konfigurate](<https://devfeed.tech/tags/konfigurate.md>), [platform-engineering](<https://devfeed.tech/tags/platform-engineering.md>), [qa](<https://devfeed.tech/tags/qa.md>), [sdlc](<https://devfeed.tech/tags/sdlc.md>), [security](<https://devfeed.tech/tags/security.md>), [tech-debt](<https://devfeed.tech/tags/tech-debt.md>)

### AI overview

The article introduces Deployment-Driven Development as a complement to Domain-Driven Design, focusing on delayed feedback and delivery obstacles that affect software architecture, testing, security, compliance, and production readiness.

### Source excerpt

Most people use "DDD" to refer to Domain-Driven Design, which is a useful tool for thinking about API boundaries and system architecture. It provides a way to map a business problem into software. At Real Kinetic, we regularly help our clients utilize Domain-Driven Design as well as other strategies to architect their systems, avoid some of the pitfalls of DDD, and build an effective foundation for designing software. But this DDD only speaks to one small aspect of building and shipping software.

## Data Integrity with JSON Serialization - Ep.1

DevFeed: [Data Integrity with JSON Serialization - Ep.1](<https://devfeed.tech/articles/data-integrity-with-json-serialization-ep-1-22263.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2024/10/json-the-fine-print-ep-1-data-integrity-with-json-serialization.html>)

Published: 2024-10-03T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [JSON](<https://devfeed.tech/topics/json.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [software-architecture](<https://devfeed.tech/topics/software-architecture.md>)

Tags: [common-serialization-mistakes](<https://devfeed.tech/tags/common-serialization-mistakes.md>), [custom-json-validation](<https://devfeed.tech/tags/custom-json-validation.md>), [data-integrity-in-software-engineering](<https://devfeed.tech/tags/data-integrity-in-software-engineering.md>), [data-serialization-in-api-design](<https://devfeed.tech/tags/data-serialization-in-api-design.md>), [data-validation](<https://devfeed.tech/tags/data-validation.md>), [efficient-data-serialization](<https://devfeed.tech/tags/efficient-data-serialization.md>), [how-to-validate-json-data](<https://devfeed.tech/tags/how-to-validate-json-data.md>), [introduction-to-json-for-engineers](<https://devfeed.tech/tags/introduction-to-json-for-engineers.md>), [json](<https://devfeed.tech/tags/json.md>), [json-best-practices](<https://devfeed.tech/tags/json-best-practices.md>), [json-best-practices-for-api](<https://devfeed.tech/tags/json-best-practices-for-api.md>), [json-data-validation-techniques](<https://devfeed.tech/tags/json-data-validation-techniques.md>), [json-for-engineers](<https://devfeed.tech/tags/json-for-engineers.md>), [json-in-software-development](<https://devfeed.tech/tags/json-in-software-development.md>), [json-optimization-for-storage](<https://devfeed.tech/tags/json-optimization-for-storage.md>), [json-serialization-tutorial](<https://devfeed.tech/tags/json-serialization-tutorial.md>), [miki-tebeka-json-guide](<https://devfeed.tech/tags/miki-tebeka-json-guide.md>), [serialization](<https://devfeed.tech/tags/serialization.md>), [serialization-in-software-architecture](<https://devfeed.tech/tags/serialization-in-software-architecture.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-layer-separation-and-data-handling](<https://devfeed.tech/tags/software-layer-separation-and-data-handling.md>)

### AI overview

Episode 1 of JSON for Engineers explains serialization fundamentals and how JSON converts data structures to byte sequences. It recommends serializing at system boundaries such as APIs and storage, keeping native types internally, separating models across layers, and validating data beyond JSON syntax.

### Source excerpt

Introduction: Welcome to Episode 1 of JSON for Engineers! In this first episode, Miki Tebeka dives into the fundamentals of serialization, with a special focus on JSON, one of the most widely-used data formats in software engineering. Miki draws from his extensive development experience to explain how JSON fits into the bigger picture of data interchange and serialization, laying the groundwork for engineers to use it effectively in real-world applications.

## Design is about the abstractions

DevFeed: [Design is about the abstractions](<https://devfeed.tech/articles/design-is-about-the-abstractions-39069.md>)

Original publisher: [Read original article](<https://blog.devdetails.com/p/design-is-about-the-abstractions>)

Author: Mike

Published: 2024-08-05T15:55:48Z

Content type: article

Language: en

Sources: [Dev Details](<https://devfeed.tech/sources/dev-details.md>)

Topics: [abstraction](<https://devfeed.tech/topics/abstraction.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [software-architecture](<https://devfeed.tech/topics/software-architecture.md>), [API](<https://devfeed.tech/topics/api.md>), [interfaces](<https://devfeed.tech/topics/interfaces.md>)

Tags: [abstraction](<https://devfeed.tech/tags/abstraction.md>), [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [interface](<https://devfeed.tech/tags/interface.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-design](<https://devfeed.tech/tags/software-design.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>)

### AI overview

The article explains how abstraction helps software and house design by hiding implementation details, defining interfaces and APIs, and indicating when a design contains enough detail to stop.

### Source excerpt

Abstractions simplify designs and tell us when to stop designing.

## Driving software design forward

DevFeed: [Driving software design forward](<https://devfeed.tech/articles/driving-software-design-forward-39073.md>)

Original publisher: [Read original article](<https://blog.devdetails.com/p/driving-software-design-forward>)

Author: Mike

Published: 2023-07-20T05:10:27Z

Content type: opinion

Language: en

Sources: [Dev Details](<https://devfeed.tech/sources/dev-details.md>)

Topics: [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [software-architecture](<https://devfeed.tech/topics/software-architecture.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [decision-making](<https://devfeed.tech/topics/decision-making.md>)

Tags: [architect](<https://devfeed.tech/tags/architect.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [decision-making](<https://devfeed.tech/tags/decision-making.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-design](<https://devfeed.tech/tags/software-design.md>)

### AI overview

The article argues that architects should facilitate the software architecture process rather than own most design work. Engineers should drive designs according to their scope, with one Driver responsible for moving the project forward, coordinating decision-making, and aligning participants on problems, needs, constraints, risks, solutions, and impacts.

### Source excerpt

The last person I'd let design is me, the Architect

## I wanted to design buildings, but I'm a software architect

DevFeed: [I wanted to design buildings, but I'm a software architect](<https://devfeed.tech/articles/i-wanted-to-design-buildings-but-i-m-a-software-architect-39077.md>)

Original publisher: [Read original article](<https://blog.devdetails.com/p/i-wanted-to-design-buildings-but>)

Author: Mike

Published: 2023-06-26T15:00:29Z

Content type: opinion

Language: en

Sources: [Dev Details](<https://devfeed.tech/sources/dev-details.md>)

Topics: [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [software-architecture](<https://devfeed.tech/topics/software-architecture.md>), [Website](<https://devfeed.tech/topics/website.md>), [Computer science](<https://devfeed.tech/topics/computer-science.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [coding](<https://devfeed.tech/tags/coding.md>), [computer-science](<https://devfeed.tech/tags/computer-science.md>), [software](<https://devfeed.tech/tags/software.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [web](<https://devfeed.tech/tags/web.md>), [website](<https://devfeed.tech/tags/website.md>)

### AI overview

The author describes moving from architectural drafting to software development after helping an architecture firm's abandoned house-plan website. The experience showed them that coding could provide direct business value, eventually leading them to study computer science and pursue software architecture while retaining an interest in building and interior design.

### Source excerpt

Throughout high school, I was interested in building architecture 🏠.

## Code ownership conflicts as a signal for structural mismatch

DevFeed: [Code ownership conflicts as a signal for structural mismatch](<https://devfeed.tech/articles/code-ownership-conflicts-as-a-signal-for-structural-mismatch-39879.md>)

Original publisher: [Read original article](<https://mende.io/blog/code-ownership-conflicts/>)

Author: tobi@techunicorn.builders (Tobias Mende)

Published: 2022-02-19T12:54:00Z

Content type: opinion

Language: en

Sources: [Tobias Mende](<https://devfeed.tech/sources/tobias-mende.md>)

Topics: [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [software-architecture](<https://devfeed.tech/topics/software-architecture.md>), [Code](<https://devfeed.tech/topics/code.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [code](<https://devfeed.tech/tags/code.md>), [components](<https://devfeed.tech/tags/components.md>), [conway-s-law](<https://devfeed.tech/tags/conway-s-law.md>), [practices-software-development-organizational-design-software-craft](<https://devfeed.tech/tags/practices-software-development-organizational-design-software-craft.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [teams](<https://devfeed.tech/tags/teams.md>), [transparency](<https://devfeed.tech/tags/transparency.md>)

### AI overview

This opinion article argues that team-level code ownership can reveal structural mismatches between team organization and software architecture. It explains how unclear ownership, especially in larger systems, can obscure subsystem boundaries and hidden knowledge gaps. Drawing on Conway's law and the Inverse Conway Manoeuvre, it presents aligned team and architectural boundaries as a way to reinforce system structure and surface ownership issues.

### Source excerpt

Code ownership conflicts as a signal for structural mismatch In my last article, I explained why I believe that individual code ownership is bad and why weak code ownership on a cross-team level can be highly beneficial.

## Enforcing Modularity in Rails Apps with Packwerk

DevFeed: [Enforcing Modularity in Rails Apps with Packwerk](<https://devfeed.tech/articles/enforcing-modularity-in-rails-apps-with-packwerk-1380.md>)

Original publisher: [Read original article](<https://shopify.engineering/enforcing-modularity-rails-apps-packwerk>)

Author: Maple Ong

Published: 2020-09-23T17:52:07Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>), [software-architecture](<https://devfeed.tech/topics/software-architecture.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Code](<https://devfeed.tech/topics/code.md>), [code productivity](<https://devfeed.tech/topics/code-productivity.md>), [Shopify](<https://devfeed.tech/topics/shopify.md>)

Tags: [analysis](<https://devfeed.tech/tags/analysis.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [code](<https://devfeed.tech/tags/code.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [developer-productivity](<https://devfeed.tech/tags/developer-productivity.md>), [module](<https://devfeed.tech/tags/module.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [scale](<https://devfeed.tech/tags/scale.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [tool](<https://devfeed.tech/tags/tool.md>)

### AI overview

Shopify presents Packwerk, an open source static analysis tool for enforcing dependency and privacy boundaries between packages of Ruby files in large Rails applications. The article explains how modularity, high cohesion, and low coupling can help large monoliths scale while improving developer productivity.

### Source excerpt

Packwerk is an open source static analysis tool used to enforce boundaries between groups of Ruby files we call packages.

## Deconstructing the Monolith: Designing Software that Maximizes Developer Productivity

DevFeed: [Deconstructing the Monolith: Designing Software that Maximizes Developer Productivity](<https://devfeed.tech/articles/deconstructing-the-monolith-designing-software-that-maximizes-developer-productivity-1362.md>)

Original publisher: [Read original article](<https://shopify.engineering/deconstructing-monolith-designing-software-maximizes-developer-productivity>)

Author: Kirsten Westeinde

Published: 2019-02-21T20:00:00Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [Shopify](<https://devfeed.tech/topics/shopify.md>), [software-architecture](<https://devfeed.tech/topics/software-architecture.md>), [Rails](<https://devfeed.tech/topics/rails.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [code productivity](<https://devfeed.tech/topics/code-productivity.md>), [Microservice](<https://devfeed.tech/topics/microservice.md>), [Microservices](<https://devfeed.tech/topics/microservices.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [developer-productivity](<https://devfeed.tech/tags/developer-productivity.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>)

### AI overview

Shopify explains how it evolved a large Ruby on Rails monolith into a modular monolith. The approach keeps one codebase while defining and enforcing boundaries between components, balancing the trade-offs of monolithic and microservices architectures as the application grows.

### Source excerpt

Designing Software that Maximizes Developer Productivity. Learn how Shopify took its code base from monolith to modular monolith.

## Threat Modeling and Architecture

DevFeed: [Threat Modeling and Architecture](<https://devfeed.tech/articles/threat-modeling-and-architecture-37024.md>)

Original publisher: [Read original article](<https://shostack.org/blog/threat-modeling-and-architecture/>)

Author: Adam

Published: 2017-09-18T00:00:00Z

Content type: opinion

Language: en

Sources: [Shostack & Friends Blog](<https://devfeed.tech/sources/shostack-friends-blog.md>)

Topics: [infosec](<https://devfeed.tech/topics/infosec.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [software-architecture](<https://devfeed.tech/topics/software-architecture.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [infosec](<https://devfeed.tech/tags/infosec.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>)

### AI overview

The article examines how threat modeling and software architecture both use system models to reason about properties, tradeoffs, design choices, and potential problems. It presents a four-step threat-modeling process and discusses how the two practices can inform each other.

### Source excerpt

[no description provided]

## Refactoring Plaid App - A reactive MVP approach

DevFeed: [Refactoring Plaid App - A reactive MVP approach](<https://devfeed.tech/articles/refactoring-plaid-app-a-reactive-mvp-approach-25473.md>)

Original publisher: [Read original article](<https://hannesdorfmann.com/presentations/2016-06-16-refactoring-plaid/>)

Author: Hannes Dorfmann

Published: 2016-06-16T00:00:00Z

Content type: article

Language: en

Sources: [Hannes Dorfmann](<https://devfeed.tech/sources/hannes-dorfmann.md>)

Topics: [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [software-architecture](<https://devfeed.tech/topics/software-architecture.md>), [Android](<https://devfeed.tech/topics/android.md>), [Material Design](<https://devfeed.tech/topics/material-design.md>), [RxJava](<https://devfeed.tech/topics/rxjava.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [Test-driven development](<https://devfeed.tech/topics/tdd.md>), [Code quality](<https://devfeed.tech/topics/code-quality.md>), [Google](<https://devfeed.tech/topics/google.md>), [App](<https://devfeed.tech/topics/app.md>), [Code](<https://devfeed.tech/topics/code.md>), [reactive](<https://devfeed.tech/topics/reactive.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [code](<https://devfeed.tech/tags/code.md>), [code-quality](<https://devfeed.tech/tags/code-quality.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [google](<https://devfeed.tech/tags/google.md>), [material-design](<https://devfeed.tech/tags/material-design.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [rxjava](<https://devfeed.tech/tags/rxjava.md>), [software](<https://devfeed.tech/tags/software.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [tdd](<https://devfeed.tech/tags/tdd.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

A presentation about refactoring the open-source Android app Plaid from a traditional architecture toward a modular, decoupled Model-View-Presenter architecture. It covers RxJava, dependency injection, testing with Test-Driven Development, code quality, and the meaning of "reactive" in this context.

### Source excerpt

Nick Butcher, developer advocate at Google, has open sourced an android app called Plaid with an outstanding UI, meaningful animations and a lot of others material design goodies. However, from the software architecture's point of view, the architecture of this app more "traditional" so that both, beginners and expert developers, can understand the source code easily.

## How to predict the future of programming

DevFeed: [How to predict the future of programming](<https://devfeed.tech/articles/how-to-predict-the-future-of-programming-26271.md>)

Original publisher: [Read original article](<https://www.justinweiss.com/articles/how-to-predict-the-future-of-programming/>)

Author: Justin Weiss

Published: 2015-07-29T05:52:27Z

Content type: opinion

Language: en

Sources: [Justin Weiss](<https://devfeed.tech/sources/justin-weiss.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [software-architecture](<https://devfeed.tech/topics/software-architecture.md>), [Rails](<https://devfeed.tech/topics/rails.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [Agile](<https://devfeed.tech/topics/agile.md>), [Test-driven development](<https://devfeed.tech/topics/tdd.md>), [Wiki](<https://devfeed.tech/topics/wiki.md>), [CRUD](<https://devfeed.tech/topics/crud.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [Java](<https://devfeed.tech/topics/java.md>), [XML](<https://devfeed.tech/topics/xml.md>)

Tags: [agile](<https://devfeed.tech/tags/agile.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [programming](<https://devfeed.tech/tags/programming.md>), [rails](<https://devfeed.tech/tags/rails.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [tdd](<https://devfeed.tech/tags/tdd.md>), [xml](<https://devfeed.tech/tags/xml.md>)

### AI overview

This opinion article argues that software development problems often recur even as their solutions evolve. It recommends studying older work by Martin Fowler and the authors of the Agile Manifesto, along with resources such as the C2 Wiki, to understand recurring patterns in architecture, refactoring, testing, and application development.

### Source excerpt

Why did Rails become so popular, so quickly? The simplicity helped, especially if you came from the Java, XML, Enterprise world. It was also marketed incredibly well. But that's not everything. A lot of Rails' success in the startup world came from a simple fact: The problems businesses have aren't that unique. Rails was great at creating CRUD sites, while remaining flexible. And that's really all a ton of businesses need. Especially at the beginning. But this isn't just true for businesses. A lot of the problems we face as software developers don't change. Sure, our solutions evolve. They cycle. We get better. But the same solutions discovered by the last generation of developers can still help us today. So, do you want to know the answers to the problems you'll face in the future? The best thing you can do is look to the past. Look to the past On his website, Martin Fowler has an unbelievable collection of good solutions to common problems. Have you been hearing devs talk about Event Sourcing? He wrote the definitive article on it 10 years ago. Chasing performance and reliability problems with your new REST API or Service-Oriented Architecture? It's his first law of distributed objects, from close to 15 years ago. Avdi Grimm told me that "If you want to lead the technology curve, start investigating whatever Martin Fowler was writing about a decade ago." That's totally true. The time you spend reading through the patterns on his website will be a great investment in your programming future. And that's not even mentioning the refactoring patterns. Going further, just about any book or article written by the authors of the Agile Manifesto is worth reading - 15 years ago, they were working through the same software architecture problems we run into today. You can find a lot of their discussions on the C2 Wiki. The debates we have about when TDD makes the most sense? They're all there. And they've been there. The wiki has been around for a while, and it's still a fant

## Guide as in Mountaineering

DevFeed: [Guide as in Mountaineering](<https://devfeed.tech/articles/guide-as-in-mountaineering-21244.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2015/06/guide-as-in-mountaineering/>)

Published: 2015-06-05T00:00:00Z

Content type: article

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [software-architecture](<https://devfeed.tech/topics/software-architecture.md>), [Tech Lead](<https://devfeed.tech/topics/tech-lead.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [design](<https://devfeed.tech/tags/design.md>), [leadership](<https://devfeed.tech/tags/leadership.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-design](<https://devfeed.tech/tags/software-design.md>), [tech-lead](<https://devfeed.tech/tags/tech-lead.md>)

### AI overview

The article argues that software architecture should be a collaborative team responsibility rather than a top-down activity controlled by an isolated architect. It presents the architect or tech lead as a communicative team member who guides quality, consistency, shared vision, and technical decisions.

### Source excerpt

Lorem ipsum dolor sit amet

## Notes: Microservices by Martin Fowler

DevFeed: [Notes: Microservices by Martin Fowler](<https://devfeed.tech/articles/notes-microservices-by-martin-fowler-21237.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2015/01/notes-microservices-fowler-xconf/>)

Published: 2015-01-02T00:00:00Z

Content type: opinion

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [Microservices](<https://devfeed.tech/topics/microservices.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [software-architecture](<https://devfeed.tech/topics/software-architecture.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [organization](<https://devfeed.tech/tags/organization.md>), [services](<https://devfeed.tech/tags/services.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [teams](<https://devfeed.tech/tags/teams.md>)

### AI overview

Notes on Martin Fowler's talk about microservices at XConf, covering service-based componentization, organizing teams around business capabilities, the relationship between team structures and architecture, and smart endpoints with dumb pipes.

### Source excerpt

Lorem ipsum dolor sit amet

## February 2014 Android Meetup - Android and Devices - Touchlab

DevFeed: [February 2014 Android Meetup - Android and Devices - Touchlab](<https://devfeed.tech/articles/february-2014-android-meetup-android-and-devices-touchlab-38084.md>)

Original publisher: [Read original article](<https://touchlab.co/2014-02-february-2014-android-meetup-android-and-devices>)

Published: 2014-02-18T20:37:00Z

Content type: article

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Google](<https://devfeed.tech/topics/google.md>), [data](<https://devfeed.tech/topics/data.md>), [software-architecture](<https://devfeed.tech/topics/software-architecture.md>), [Bluetooth](<https://devfeed.tech/topics/bluetooth.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [bluetooth](<https://devfeed.tech/tags/bluetooth.md>), [community](<https://devfeed.tech/tags/community.md>), [data](<https://devfeed.tech/tags/data.md>), [google](<https://devfeed.tech/tags/google.md>), [ios](<https://devfeed.tech/tags/ios.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>)

### AI overview

A recap of the February 2014 Android and Devices meetup, covering talks on health apps and devices, Android development, Quirky's product-voting process, Bluetooth-connected hardware, and the Glass API.

### Source excerpt

Thanks to Google and our amazing speakers at our "Android and Devices" meetup Wednesday, we had bits of both. Real all about it here.