Unpluggd Digital
Published in

Unpluggd Digital

Choosing the Right Tech Stack for Your Project

Have you already decided on what your MVP is going to be? Do you know what the best technology to help you get started is? This problem can have you going online seeking answers. What’s the right programming language? What database should I use? What is the right framework? A couple of forums later, you’re even more stuck and less motivated to get started because you’re bombarded with all these technologies.

What you really want to know is what your tech stack should look like. A tech stack is short for technology stack and is the different technologies you put together in order to build your project. It usually has one piece of technology to handle each aspect of your project. For example, you can use JavaScript to build your front end user interface, PHP for your backend and MySQL taking care of your database. Together these technologies make up a tech stack. There are many technologies out there. So which is the best for you? Well, it depends. Here are the steps to find out.

1. Identify your key feature and find the technologies that will help

If you want your application to be accessible to a large number of people, then you may want to develop your project for the web. Keep in mind that while most people won’t necessarily have a computer, they will likely have a phone with an internet browser. Alternatively, you may want the project to be available only to a set number of machines within an organization instead. This means you may be trying to create a desktop application. Both paths have specific programming languages that will make life a bit easier, like considering JavaScript for web applications and maybe C# for windows applications. It depends on what you want to do.

There are other features you may want to consider adding that would not be easily done with some technologies. For instance, not many programming languages work well with machine learning. If that’s the route you want to go, you may want to consider Python or R. Also, depending on the type of data you want to collect you may be limited with the database technology you use and the cloud platforms you want to use. For databases, you can take the SQL or NoSQL routes and when it comes to storing your database, that may come with a monetary and security cost. Try your best to figure out what you want to do at the beginning and find the technologies that are suitable to do it.

2. Determine what features will be added in the future

After figuring out what the key features of your project are and having a list of technologies to help you do it, it’s time to thin the list. To do this, try considering what else you might want to add to the project in the future. Many apps on your phone started as websites and now they are native to your handheld devices. Instead of going full in with one technology, think about what technology you’d want to be working with if ‘xyz’ features got added down the line.

However, be cautious about over-engineering your project based on what you think might happen. This could lead to you wasting a lot of time and getting stuck on things that really don’t matter in the long run. So think about it.

3. Acknowledge your team’s strengths

Before starting this project, you or your team may have worked on other projects. You may have worked on practicing with a certain technology you are comfortable enough with to solve most of the problems you come across. It may save you a lot of time and money by considering your strengths and sticking to them or choosing a technology that is similar to what you know.

Let’s say the people who need to work on the project are already familiar with MySQL. You go on the internet and someone suggests that you use “popular at the time” DB. Now your team needs to go learn how to use it before executing. Maybe you come across bugs that take a long time to solve. Maybe they could have done the job better because of their inexperience. If you have the option, consider sticking to your strengths. It could save you a lot of unnecessary headaches in development.

4. Leverage your previous projects

If you decide to continue the route of using your strengths, then you probably already have projects, libraries, databases or servers that can help you with your new project. This means that whatever technology you use on those projects may be added to your tech stack. It would also make things a bit easier since you already have something that has been built, you know that it works and how. Use what you’ve made as an asset5

5. Review the technology shortlist

After going through these steps, you should have a list of some technologies that you can possibly use for your projects.In order to thin the list you could go through the list of steps again in order to elevate certain technologies. You now have a list of technologies you want to use and then a list of possible technologies you are going back to.

6. Research the future possibilities of the chosen technologies

It’s important to know where a technology is at in terms of adoption, community and progression. Let’s say your MVP is a success and a couple years down the line you need to hire additional developers. It would be hard to find someone with a technology that is all but dead. Or the creators of the technology refuse to do updates on it. Therefore, making some processes slow or vulnerable. So when choosing a technology, check on the merit of it.

A Few Tech Stacks

We just went through how you can build your own tech stack, but maybe you are a visual learner. Here are a few known tech stacks that are popular.

MEAN (MongoDB, Express.js, Angular.js, Node.js)

This is a popular tech stack because it uses JavaScript for both front end and back end and uses the NoSQL database MongoDB. A single language allows a developer to reuse code and avoids the need to learn another programming language. The MEAN tech stack is also open sourced which gives you access to a large community. Since it uses JavaScript it can be used for web development as well.

MERN (MongoDB, Express.js, React.js, Node.js)

This tech stack is similar to MEAN although Angular.js is replaced with React.js for front-end development. It boasts the same benefits of being only coded in JavaScript. Many developers use React to build high end applications with stunning UI. One drawback to using React.js is its reliance on third party services, which a developer has no control over.

LAMP (Linux, Apache, MySQL, PHP)

This is a classic tech stack, probably still being taught in the basics of web development. All the technologies are open source and are still widely used today. LAMP is quite a stable tech stack and is used in content management systems such as Wordpress. You can use LAMP to create dynamic web pages. Although Linux is its chief operating system, you can use variants such as WAMP and MAMP for Windows and Mac OS respectively.

Conclusion

Choosing a tech stack is difficult. Finding which one will work best for you, your team and the longevity of your product is not always as simple as a quick Google search. Hopefully the steps we share here will give you a great start in making your vision a reality. Good luck on your development project!

Originally posted on our home base at unpluggddigital.co. Check it out to see more of what we do and how we can work with you.

Looking to launch a new product? Unpluggd Digital provides services in SaaS and Blockchain development and we LOVE building awesome ideas.

Reach out to set up a chat so we can get to work on your next project.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Kareem P. Jackson

Product Engineer💻….Global Citizen🛩Blockchain Enthusiast🔗….Stoic….Founder of Unpluggd Media Group. I build things and tell stories….https://kareempjackson.com