Which Technology To Use For Your New Project


Often times when starting a new project, deciding which technology to use is the hardest part. Should you use that new fancy tech that everyone has been raving about? Should you use the same framework you've been using for the last 6 years? Well read on because I'm here to give you a few pointers on how to make that decision.
Professional or Hobby?
One of the deciding factors should be whether the project is for a professional project with a team, or if it's a hobby or educational project. Small projects for education, testing, hobby, or proof of concepts are much more flexible in what can be used. There's nothing wrong with going with something that you're not used to, in fact many times I do that just to learn about new tech. Often times you'll learn that you may like it more than what you are currently using. Since it's just a hobby project, you aren't losing much if you decide to switch to something else, or just scrap it all together.
Follow @ScriptBytesIOHowever if it's a professional project for your company, you will probably want to stick to what you and your team know. Often times a dev team for a company will have a list of standard technologies that shouldn't be strayed from too far unless needed. I think the exceptions to this rule would be for proof of concepts that need to be turned around quickly. In that case, you can often throw a lot of the standards out the window and throw something together quickly.
Project Longevity
Another deciding factor could be how long the project is going to be used. When it is a project that will be in production for several years, you probably want to stay with known tech. If you were to use something new and had to spend the next few years doing frequent maintenance and updates, it could be troublesome.
If it is an app that will be replaced soon, or is just a temporary solution, try out something new. However one word of caution from personal experience: sometimes 'temporary' applications end up being the long term solution, so you still may want to be careful with what you choose.
Company Size
Company size plays a large role in deciding what to use. If you are a small startup with only a few developers, it might not hurt to try out some new frameworks. The people on your team will probably be the driving factor. What do they know best, and what fits the project the best? If most of your team knows Angular, use it! If you use Vue but the other 3 developers prefer React, maybe go with React.
A large enterprise company will probably stick with what is an industry standard and is easy to hire for that the team knows. The chances you'll want to go with the newest craze for a large company is pretty small. The only time I would consider changing it up would be…
Technology Age
In general tried and true technology is a good choice, especially in the cases above for large companies and long-term projects. However there is always a catch. What if that tech is 20 years old and is going out of support, or maybe it's getting hard to hire for it? In cases like those it can't hurt to switch it up, but you will probably still want to go with something popular in the industry.
Personal Experience
All in all the choice is highly dependent on your current situation. I'm going to give you a few examples. At my day job our tech stack consists of Angular for front end web projects, .Net for API's and desktop apps, and SQL Server for database. Why? It's what we decided on for a standard, and we don't stray from it unless absolutely necessary. The reason is that it makes it easier for developers to move from project to project if needed to help out.
However for my hobby projects and writing for this blog, I've tried several new frameworks. I'm writing a small project in Ionic that uses a PostgreSQL. I've done a couple tiny apps using a NestJS API with a MongoDB database. I've deployed apps to the cloud in Azure, Google Cloud, and AWS. Why? Because they are all small apps, I'm the only one working on them, and I wanted to try out new things.