[bhaskar rijal] [blog] [25.04.2025]

pattern-oriented approach for software engineering

little patterns matter more than big design theories
Cover Image for Pattern-Oriented Approach for Software Engineering

The more I work on actual projects as a developer, the more I see how helpful design patterns are. The smaller, more useful ways we organize things in our code, rather than the large design pattern stuff we read in books. You just begin to notice recurring shapes in your work over time. Reusing them helps you think more clearly and move more quickly, not because someone taught you to.

I use React for client-side applications, Node.js for the server-side, PostgreSQL for the database, and Drizzle as the ORM.

I've discovered my own style using all of these tools. Patterns I've developed or learned throughout time have influenced that style. How I set up routes, retrieve information, and deal with mistakes. These things keep happening. They start to become dependable & that is a good thing.

A codebase that follows patterns eliminates the need for you to hold and consider each minor choice. You already understand the proper way to include a new feature. It seems your future self will thank you for simplifying the system. Not just for you, but also for your team.

Pattern-oriented approach during development is simply this way of thinking. It indicates that you concentrate on writing code that is easy for both you and other people to use. Being strict isn't the point. It all comes down to being intentional & making minor decisions today that simplify things later.

It also gives people freedom. Others can join in and write features without having to ask a lot of questions once the basic framework is obvious. It’s easier to collaborate because there’s a common way of doing things. Everybody understands how to build on it and where to look.

In my case, Next.js helps a lot with this. The way routing works with folder structure, the app router, and the way server and client components work together, all push you toward certain patterns. Once you’ve completed a few projects, you start building your patterns for things like routing, state handling, or modular services. With Drizzle as ORM, the pattern is all about keeping types tight and avoiding guesswork when working with data.

These patterns are not rules. You can always change them. But having a default way of doing things gives you confidence. It removes noise. You’re not thinking about tools anymore, just solving problems.

To wrap it up, pattern-oriented development is about building projects that are easier to maintain, easier to scale, and easier to understand. It’s not a big theory, but just a habit. A way of working that respects your time and your team’s time.

And once you figure this out, you don’t want to go back.