If you’re in the tech sector, you’ve probably heard the phrase ‘tech stack’ before. Like many pieces of jargon in our field, it’s not clear what that phrase means. Understanding your technology stack, however, is important for the success of your product, whether it’s an app or an entire ecosystem.
Let’s take a look at tech stacks and talk about why understanding your web app technology stack is so important.
What is a tech stack?
A technology stack is a crucial part of developing any web or mobile application. People refer to the term when speaking of the combination of programming languages and software underneath a development project in question.
Picking the right combination of underlying development tools is very important in the early stages of a project. When building a skyscraper, you don’t start with the marble facade or the fountain in the lobby. You start with a deep foundation and girders to hang everything else on. Your tech stack is like this skeleton and you should consider hiring a cloud architect to help ensure your stack does not fall apart.
A tech stack is the underlying elements of a web or mobile application. These are the frameworks, languages, and software products that everything else is built on. For example, you might have created your web application with Ruby on Rails—that’s the language and framework. That might access a database created with PostgreSQL. You’ll need to host that on a server, say, an Apache server. You’ll need Phusion Passenger to make that happen. Those are all elements of the server-side stack.
Finally, you should also consider the software you’re using in the development process. Starting with the right efficiency-focused software will ensure your processes are integrated and everyone is working in the same platform. Choose the best time tracking app and project management tools as a start.
When everything goes well, your user has no idea what’s in your tech stack. Just like a passerby won’t know how many girders are in your skyscraper or how deep the foundation is, those elements are hidden. They just know that it works.
Why your tech stack is important
So your app is built on your tech stack. It sounds important, but why is understanding it such a big deal? Trying to learn about it can be intimidating, especially if you’re an ideas person and not a developer.
But technology used in web application development can have a big effect on how your app works and how it will behave in the future. For example, some server systems are made for high-read operations, but are less efficient when it comes to high-write traffic. That’s an important thing to know if you’re transitioning your app from local file storage to cloud file storage.
Your tech stack can also influence the scalability of your product. Certain stacks will better serve different projects. Because so many different combinations are possible for your tech stack, it’s difficult (if not impossible) to generalize. But getting familiar with the strengths and weaknesses of your tech stack before you start building your product will help you take advantage of the strengths and mitigate the weaknesses.
Scale your projects faster
Increase productivity with 100% free time tracking
That’s a point worth reiterating: you should make decisions about your tech stack before you start major production work on your app. While making significant changes in your stack once you realize that you need something different is possible, it’s difficult. In some cases, it’ll involve a huge investment of time and money.
So before you start building your web or mobile app, make an informed decision about your tech stack.
How to choose the right tech stack
Unless you’re an experienced developer, you probably have no idea how to choose a tech stack. And that’s okay. As an ideas person, you’re not likely to have to dig into the code on the server or client sides. But if you’re driving the creation of the product, you need to make sure the right decisions get made.
The best advice we can give is simple: work with someone who has experience in your area. Server- and client-side developers who have built similar apps can provide invaluable expertise on which elements you should include in your stack. Whether you bring someone on full-time or hire a freelancer, getting experience on your team is crucial.
Before you start working with developers, though, there are some things you’ll need to think about. For example, do you want something scalable, or something that can be deployed as quickly as possible? The best stack for you may depend on which is a higher priority. Do you want to use client-side programs that are familiar to many people, like WordPress or simple HTML? Or is your target market more technologically adept?
The easiest way to work with developers
Track their time, send payments, work easier
Price might also be a factor—PHP is free, but plenty of similar solutions aren’t. And more commonly used programming languages generally allow for cheaper hiring. Certain systems may require more upkeep, which increases your financial commitment over time.
Flexibility is easily overlooked. Do you think you might change the functionality of your app? If so, an easily extensible language will make that process easier. The tradeoff is you could end up with an app that needs more upkeep.
In short, you need to think about what’s important to you. Make a list of things and keep it handy throughout the entire process. Of course, this list will change—that’s the nature of building a new product. But having an idea of where your priorities lie will be helpful to both you and the developer.
The inevitable recreation of your stack
Okay, maybe it’s not totally inevitable. But if you’re a small company and you prioritize low cost and flexibility, there’s a good chance you’ll need to completely recreate your product (and your tech stack) from scratch a few years down the line. It’s expensive and time-consuming . . . but probably necessary.
And while there’s not a whole lot you can do on the front end when resources are limited, just know that this process is likely to happen. If you can eke a few more dollars out of your development budget when you’re getting started to make this process easier when it happens, do it.
Again, talk about this with your developers. If they’ve done this before, they can tell you a lot about how to choose technology for web app development.
Preparing your technology stack for success
The tech stack is—as the name implies—technical in nature. But that doesn’t mean non-developers shouldn’t think about it. In fact, it’s crucial that everyone involved in making decisions for a company be aware of the technology stack and how it could affect the company’s future.
That might seem like overkill, especially if you don’t know the first thing about development, but it affects more than just the development team. So take the time to talk to people who have experience with technology stacks. Tell them your priorities, your needs, and your thoughts on the future of your app.
Trust me: it’ll save you a lot of headaches.
Does your organization have a tech stack in place? If so, what elements is it composed of? We’d love to hear about it!
This post was originally published August 17, 2017, and updated March 2019.