Your Tech Stack Guide for Dummies

Published by Jeet Tan on

A tech stack is a set of technologies used to develop an application. They consist of frontend and backend technologies, also known as frameworks. Tech stacks have a specific language that goes behind it for example a tech stack in JavaScript, or tech stack in Python.

What is frontend – Frontend deals with the GUI, what the users see when they interact with your interaction. This will include colors, layout, design, buttons, images and fonts. This will also involve whether an application is responsive and works across various devices.

What is backend – Backend is what goes behind the scenes that make the application work. These include the database and API. This will include server-side programming and server management. This is also the layer where you will deal with security and authentication.

Popular tech stacks

There are many tech stacks represented by the first letter of the framework it utilizes. Tech stacks consist of languages that naturally work well together. Note that they are not necessarily limited to those that we will discuss here.

LAMP STACK

Linux (operating system), Apache (Web server), MySQL (database), PHP (programming language)

WordPress was developed using the LAMP stack.

MERN STACK

MongoDB (database) , Express.JS (backend framework) , React.js (frontend), Node.JS (backend)

Facebook and Instagram were developed using the MERN stack.

MEAN STACK

Mongodb(database), Express.JS (backend framework), Angular.JS (frontend), Node.JS (backend)

Linkedin was built with the MEAN stack.

Python-Django STACK

A python stack can use popular web framework Django.

Pinterest was built using the Python-Django stack.

.NET STACK             

A .NET stack usually uses a set of technologies built by Microsoft for developing web, mobile and desktop applications. They usually involve using C# as a programming language.

Stack overflow was a website that was built mainly using the .NET stack.

Things to consider when deciding your tech stack.

1 – Project Size and functionality

Understanding the requirements of your project is a crucial step in deciding a suitable tech stack.

For example, some applications won’t work with certain tech stacks, if you want to develop a web application – you’re better off deciding to work with a MEAN or MERN stack that has a JavaScript base.

2 – Team expertise and experience

Do you need to relearn technologies? It’s better to know if your team can handle the tech stack that you’re currently working with, or will you need to outsource.

3 – Scalability

A tech stack needs to be scalable, meaning that it can handle X number of users or X smaller number of users depending on how many users are using it.

4 – Time to market

Time to market is important because you want to make sure the tech stack you choose can make it to delivery.

5 – Costs

Finally, some tech stacks are more expensive than others. So, understanding the costs involved if they are good for your project requirements is crucial.

Tech Stacks from Companies You Know

1. Netflix

  • Backend: Java, Node.js
  • Frontend: JavaScript, React
  • Data Storage: Cassandra, Amazon S3

2. Google

  • Backend: C++, Java, Go
  • Frontend: JavaScript, Angular, Polymer
  • Data Storage: Bigtable, Spanner

3. Facebook

  • Backend: Hack, PHP, Python
  • Frontend: JavaScript, React
  • Data Storage: MySQL, RocksDB

4. Amazon

  • Backend: Java, C++, Ruby
  • Frontend: JavaScript, React
  • Data Storage: Amazon DynamoDB, Amazon S3

5. Uber

  • Backend: Python, Go
  • Frontend: JavaScript, React Native
  • Data Storage: PostgreSQL, MySQL, Redis

6. Airbnb

  • Backend: Ruby on Rails, Java
  • Frontend: JavaScript, React
  • Data Storage: MySQL, Redis

7. Microsoft

  • Backend: C#, .NET, TypeScript
  • Frontend: JavaScript, React
  • Data Storage: SQL Server, Cosmos DB

8. Twitter

  • Backend: Scala, Java
  • Frontend: JavaScript, React
  • Data Storage: MySQL, Redis

9. LinkedIn

  • Backend: Java, Play Framework
  • Frontend: JavaScript, AngularJS
  • Data Storage: Voldemort, MySQL

10. Slack

  • Backend: PHP, Python
  • Frontend: JavaScript, React
  • Data Storage: MySQL, Redis

How to learn different tech stacks?

If you’re building a team for your company, you decided on your tech stack, so what’s the next step. For example, if no one knows how to work with your tech stack, knowledge is limited – what should you do?

Well, to begin, the ideal would be hiring people that know your tech stack. If that fails, unless a team of developers is hyperspecialized coincidentally, there’s going to be a learning curve for everyone involved.

The first step would be to hit the documentations, you can see all the relevant functions and code examples there. If you just start off learning a language without reading the documentation, you may try to develop patterns that are already created for you inside the language, thus wasting a lot of time.

Another good step would be to find an expert, and learn from them in the language. They can give you the pointers needed to save time. You can also hit the books and star to learn from the examples there.

Also, give yourself time to test your code with many use cases as possible, this will allow you to see how your code functions in different scenarios. Unfortunately, there’s no best way to learn a tech stack but this is what many developers and teams have to deal with throughout their career.

Do I need to change my tech stack?

Evaluating your current tech stack can help you understand how you’re able to maintain and can still meet the needs of your organization and user base. However, as a company grows, there are times where a tech stack needs to change.

For example, there was a company called Jagex that developed they a popular MMORPG called Runescape. Originally, RuneScape 2 (2nd version of runescape) was built using Java, but as technologies advanced, they wanted to upgrade their game such as aspects like looks, graphics, etc.

At first, they wanted to use HTML5 to make the new RuneScape 3, but that didn’t pan out. In the end, they settled with using a C++ client called NXT to make the new and improved RuneScape 3.

As you can see in this example, as a project evolves, probably will so the tech stack. As projects evolve, so will our capacity to innovate and create change. Especially, with the advent of AI, expect more changes in modern tech stack to be there, that’s why it’s crucial to keep things up to date!

If you enjoyed this article, don’t forget to check out my free e-book: “Cash-Emails” in which you will have the best marketing templates, I learnt through my millionaire mentors, that will allow you write emails that can generate you a couple extra thousand dollars in sales. The strategies I will be sharing with you in this book are specifically made for email marketing but the templates can be applied onto virtually any platform. Download it through the link below.

Categories: tech

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *