# 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