A director in Jakarta once told this story: the development team he hired to build an internal application chose the technology that was "most popular among the developer community." Six months later, the project was running, but the two developers who understood that technology resigned — and nobody else in the market could replace them. The company eventually paid more to rebuild the application with a more common technology. "We did not choose the wrong people," he said. "We chose the wrong technology."
Tech stack decisions — the choice of programming language, framework, database, and infrastructure — are often treated as a purely technical matter. In reality, they are among the most strategic business decisions a company can make. The tech stack determines how fast features can ship, how much it costs to hire developers, how often systems fail during peak hours, and even how long an application survives before it must be rebuilt.
This article covers something rarely discussed honestly: how businesses — not just developers — should think about tech stacks. What really drives the choice, what questions to ask, and what mistakes happen most often.
What a Tech Stack Is and Why It Matters to Business
A tech stack is the collection of technologies used to build and run a system: programming languages (PHP, JavaScript, Python, Go), frameworks (Laravel, React, Django), databases (MySQL, PostgreSQL, MongoDB), and the infrastructure the system runs on (own servers, cloud, or managed services).
To non-technical people, a tech stack sounds like a technical detail best left to developers. That is where the problem begins: tech stack decisions are almost never purely technical. They carry real business consequences:
- Development and maintenance costs. Rare technology means higher developer rates and harder-to-find replacements. Too-new technology means teams spend time learning instead of building.
- Speed of shipping features. Some technologies allow new features to launch in days; others take weeks for the same thing.
- Stability and security. A mature technology ecosystem has more bug fixes, security updates, and community support. A technology with few users often ends up abandoned — and the systems built on it become a burden.
- Ability to hire a team. Technologies popular in the Indonesian job market, like PHP/Laravel or JavaScript, are far easier to find developers for than technologies with a thin talent pool.
First Principle: Technology Follows the Problem, Not the Other Way Around
The most important principle — and the most often violated — is that a tech stack must be chosen based on the problem being solved, not on trends or team preference.
Start with three questions:
- What are we actually building? A simple online store, a complex internal system, a mobile app with millions of potential users, or a B2B platform with complicated integrations? Each type has different needs.
- Who will develop and maintain it? Internal team, vendor, or a combination? The answer determines how mainstream the technology should be.
- How long will this system live? A system designed to last five to ten years has different needs than a project that may only live a year.
There is no universally "best tech stack." There is only the right tech stack for your context. A startup experimenting quickly has different needs than a hospital whose systems must run 24 hours a day.
A simple illustration: an online store with a hundred orders a day does not need a microservices architecture designed for millions of users. "Advanced" technology for its needs becomes a burden — more expensive, more complex, harder to maintain. Conversely, a platform genuinely targeting massive growth from day one will struggle if built on technology that cannot scale. When complex architecture is actually needed is discussed in our article on microservices vs monolith.
The Factors That Actually Drive the Choice
Once the first principle is understood, here are the factors to weigh — ordered roughly by how often they determine success:
Developer Availability in the Market
This is factor number one in Indonesia, and oddly the least discussed. The technology you choose will be maintained by people, and those people must be findable, affordable, and retainable. In the Indonesian job market, the largest ecosystems are PHP (especially Laravel), JavaScript (React, Vue, Node.js), and Java. Other technologies exist, but with far fewer developers and higher rates.
An honest question must be asked: if the entire current team left tomorrow, how fast could you rebuild a replacement team? For a business that is not a technology company, the answer should be "fast." Choosing a "cool" technology with scarce developers is often a time bomb.
Ecosystem Maturity
A technology that is more than ten years old, used by millions of developers, and richly documented is a boring but safe choice. It means: more ready-made solutions, fewer undiscovered bugs, and more people who can help when problems arise.
New technology is tempting — it often promises better performance or more elegant syntax. But for business systems that must keep running, maturity almost always beats novelty. Adopting new technology should be justified by a clear business reason, not just "so we do not fall behind."
Support and Community
When a system breaks at midnight, who can help? An active developer community, forums, and responsive vendors are insurance you only notice when you need it. Popular technologies have answers for almost any problem in forums; rare technologies often leave teams alone with strange bugs.
Total Cost, Not Initial Cost
Technology choices rarely differ much in licensing cost — most popular technologies are open source. What differs far more is total cost: developer salaries, development time, infrastructure costs, and yearly maintenance. A technology that saves one month of development but complicates every following year is a bad decision.
Integration Requirements
Business systems almost never stand alone. They must connect to payment gateways, accounting systems, marketplaces, or other applications. Before choosing, ask: how easily does this technology connect to the existing ecosystem? A technology with rich integration support saves months of work.
How to Evaluate a Tech Stack Practically
If you are not technical, how do you participate in the evaluation? Good news: you do not need to know how to code to assess a tech stack decision — you need to ask questions the right way. Here is an evaluation framework you can use:
1. Ask the Team to Explain in Business Language
Every technology recommendation must be explainable in business consequences: "we chose X because it speeds up developing feature Y," not "we chose X because the framework is modern." If the team cannot explain the reason in business impact, the reason probably does not exist.
2. Test Talent Availability
Before approving any technology, check the job market. How many developers work with that technology in Indonesia? What are the going rates? Post a real job listing and see the number and quality of applicants. This is the most honest test of all.
3. Ask about the Exit Strategy
What happens if this technology turns out to be wrong? How difficult is migration to another technology? Technologies that lock the system into a vendor or a specific pattern make the exit option expensive. This question often reveals hidden risk.
4. Look at Track Records, Not Promises
Has the proposed technology been used to build similar systems? Is there real evidence the system ran stably? "They say it works" is very different from "proven running a similar business for three years."
5. Include Long-Term Maintenance in the Decision
A system finished is not the end of the story; it is maintained for years. A tech stack decision is a decision about how much you will pay for maintenance in the future. For a picture of long-term costs of building and maintaining systems, read our guide to business application development costs.
Tech Stack Decisions by System Type
To make this concrete, here are common decision patterns for different types of systems:
Company Profile Websites and Online Stores
For company profile websites and small-to-medium online stores, the most mature ecosystems in Indonesia are WordPress and PHP/Laravel. Both have abundant developers, ready-made plugins and features, and controlled development costs. For businesses where speed to launch matters and technology needs are standard, these are generally the most sensible choices — and their costs are the most predictable too.
Internal Applications and Operational Systems
Internal systems (inventory management, CRM, sales systems) are usually prioritized for ease of development and integration with existing systems. Modern web technologies with broad support — Laravel, React, or Node.js — are often chosen because developers are easy to find and the ecosystem is mature.
Mobile Applications
For mobile apps, the main decision is native (iOS and Android built separately) versus cross-platform (one codebase for both platforms). This choice significantly affects cost and speed, and it should be made by considering who the users are, not just trends. If the mobile app is just one channel of a larger system, consider an architecture where one backend serves all channels.
Large-Scale Platforms
Platforms genuinely designed for massive growth — marketplaces, SaaS platforms, applications with millions of users — require more careful consideration: high-performance languages, scalable databases, and flexible architecture. This is where decisions become more technical and involve complex trade-offs. At this scale, involving an experienced architect from the start almost always pays off.
Common Mistakes in Choosing a Tech Stack
Here are the patterns that most often cause business technology projects to fail:
Following trends. Choosing technology because "everyone talks about it" or "big companies use it." The right technology for a large company with hundreds of developers is not necessarily right for your business.
Letting personal team preference decide. Developers each have favorite technologies, and that is normal. But the choice must be based on the needs of the system and business, not "I am most comfortable with X." A team that rejects the right technology for comfort needs to be reminded who carries the risk.
Choosing technology because a vendor promotes it. Software vendors often push certain technologies because it benefits them — licensing fees, migration costs, or long-term lock-in. Technology recommendations from a vendor selling its own products are never fully independent. This is one reason independent consultants can be valuable; read our article on when you need an IT consultant to understand the difference.
Focusing too much on initial cost. Choosing "cheap" technology that complicates maintenance is a way of paying repeatedly. The cost of the first six months is only a fraction of the cost of six years.
Not thinking about maintenance. The technology chosen today will be maintained by people you have not even hired yet. The more exotic the choice, the more expensive its future.
Ignoring security. Outdated or rare technology often becomes an attack target because its flaws are never fixed. A tech stack decision is a long-term security decision: the chosen technology must have an active security update track record, and systems built on it must be designed with security principles from the start, not patched after the fact.
Who Should Make the Decision
A healthy tech stack decision involves three parties with different roles:
The business owner sets the boundaries: budget, deadlines, business needs, and risk tolerance. The owner does not need to choose the technology, but must understand the business consequences of the choice.
The developer or architect translates needs into technical choices, weighs trade-offs, and is accountable for technical consequences: performance, security, and maintainability.
An independent party (when needed) provides judgment unbound by vendor interests or internal team ego — especially for big decisions whose consequences last years.
A decision left entirely to one party — an owner choosing "the cheap one," a developer choosing "the one I like," or a vendor choosing "the one I sell" — almost always produces a suboptimal result.
The Role of Cloud and Infrastructure
A tech stack is not only about languages and frameworks; the infrastructure the system runs on matters just as much. The choice between physical servers, public cloud, or managed services affects cost, reliability, and development speed.
For most businesses in Indonesia, the cloud is becoming an increasingly sensible choice: low initial cost, scalable as needed, and no need for a dedicated infrastructure team. The decision to move to the cloud — and when — is covered in our cloud migration guide.
A Comparison: Two Ways of Choosing
To make this clear, imagine two companies that both want to build an internal sales system:
Company A chooses the "most modern" technology on the recommendation of an enthusiastic engineering team. Development costs are higher because the technology is rare, and six months later one of the two developers who mastered it leaves. The company spends three months searching for a replacement, then another year bringing them up to speed.
Company B chooses a "boring but established" technology — not the most popular at conferences, but one whose developers are easy to find, whose documentation is complete, and whose track record is long. Its system is finished faster, maintenance costs are controlled, and when the team changes, replacements are productive immediately.
Company B is not technically smarter. It simply remembered one thing: a tech stack is a long-term business decision, not a technology showcase.
When a Tech Stack Decision Needs Professionals
Not every project needs an architecture consultant. But there are signs that your tech stack decision exceeds internal capacity:
- The system being built will live for years and become the backbone of operations.
- The decision involves a large budget and consequences that are hard to reverse.
- The internal team has no experience building similar systems.
- There are many seemingly equal options, and nobody can honestly explain the trade-offs.
At that point, involving people experienced in designing architecture — not just writing code — is a small investment compared to the risk. The Kartech. team in Bandar Lampung helps clients from the Shape stage onward: designing architecture and choosing technology based on business needs, not personal preference. If you are facing a tech stack decision and want to discuss it, reach us through our contact page or see the scope of our services on our services page.
A Checklist Before You Approve a Tech Stack
To make this practical, here is a checklist you can use at the project approval meeting. Print it, bring it to the room, and make sure every point is answered before signing anything:
- The technology recommendation can be explained in business impact, not technical jargon.
- Developers with this technology are available in the Indonesian market in sufficient numbers.
- There is a contingency plan if a key team member leaves mid-project.
- The technology has proven itself on similar systems, not a first experiment.
- The five-year total cost (development, salaries, infrastructure, maintenance) is estimated, not just the build cost.
- Integration with existing systems (payment gateway, accounting, marketplaces) has been mapped.
- There is a migration or exit plan if this technology turns out to be wrong.
- Long-term security (updates, community support) has been considered.
- The business owner understands the chosen trade-offs and consciously agrees to them.
- The decision is documented with its reasons, so it does not have to be remade from scratch in the future.
This checklist is not bureaucracy; it is protection. Every point that cannot be answered is a risk you are taking without knowing it. And because a tech stack decision affects years of your business, spending one hour to verify everything is the best time investment in the entire project cycle.
When to Reconsider Your Tech Stack
A tech stack is not a once-and-forever decision. Healthy systems evolve, and there comes a time when the question "is this technology still right?" needs to be asked again. These signs suggest it is time to reconsider:
- Hiring developers is getting harder and more expensive. If replacing a departing team member takes months, the technology may be too rare for your business needs.
- New features are getting slower and more expensive to ship. A system that used to be fast becomes sluggish — often a sign the foundation no longer fits the direction of the business.
- Infrastructure costs skyrocket as you grow. If every increase in users brings a disproportionate cost, the architecture may need evaluation.
- The ecosystem is being abandoned. Shrinking community, slowing security updates, and drying documentation are signs a technology is heading toward obsolescence.
- Business needs change fundamentally. The right technology for a services company is not necessarily right after the business transforms into a digital product platform.
It is important to distinguish "must migrate" from "want to migrate." Technology migration is a high-risk project that consumes time and budget; it is only worthwhile if the problem is real and measurable. If the only reason is "the technology is newer," that is usually not a sufficient reason. Re-evaluation is best done on a schedule — for example every two to three years — as part of an architecture review, not only in a crisis.
Conclusion
Back to the director from the opening story. After his first project failed due to a scarce tech stack, he adopted new rules for every technology decision: the technology must be explainable in business impact, its developers must be findable in the market, and five years of future maintenance must be counted from day one. The rules sound simple, but they saved him from repeating the same mistake.
Choosing a tech stack is not about finding the "best" technology — because none exists. It is about finding the technology that fits your problem, your team, and your business's future: mature enough to be stable, common enough to find developers, and suitable enough to actually solve the problem.
Ask three questions before approving any choice: what problem are we solving? Who will maintain this for years? And what happens if this choice turns out wrong? The answers will take you much further than a list of this year's most popular technologies.