Which full stack developer are you?
A full stack developer is the one who can work both the front and backend of an API, and can also manage the database and the server platform. It may sound rather difficult for a single person to be able to know and master all of these technologies, but it is now very sought after in the industry because full stack developers are very versatile and have already proved that they can learn different methods of programming. This suggests that they will be able to learn more in the future as the industry evolves.
So, with a myriad of programming languages, stacks, and bundles out there, which one to focus on? There is no single answer to this because sometimes the company or the industry you are working for will ask you to do something in one language. But either way, here you are the most common technology combinations for full stack development.
MEAN
MEAN is an acronym used for one of the most popular full stacks in use today. It is very fast and all the technologies are JavaScript based, making it much easier to learn:
- MongoDB is chosen for the database.
- Express.js is in charge of the web framework.
- Angular.js for the frontend.
- Node.js for the server platform.
Why is this combination so powerful? First of all, they are all JavaScript based. This makes it much easier to learn one when you already know how to use another. Basically, if you use MEAN as a full stack you can use JavaScript to write the code of the database, the application and the client.
MongoDB is a NoSQL database with few restrictions as more structured databases. It is fast and flexible.
Express.js has been chosen for its consistent routing to modules and middleware interface.
Angular.js has been chosen for being a very solid framework with an emphasis on real time updates of the UI.
Node.js has been chosen due to its speed and the fact that it’s easy to pair with Socket.io.
Overall, this full stack is something to be consider by any full stack developer. Actually, MEAN is being used by heavyweights of the industry like Amazon and Google. It is open source and lets the coders tweak it at their will and they are all JavaScript based, one of the most powerful and popular languages nowadays.
Pros
- The full stack is JavaScript, making it easier to master and reducing the development time.
Cons
- MongoDB is usually considered less powerful and useful than other Databases.
LAMP
The classic and still most common full stack. LAMP uses all open source components in the stack to make it cheaper to develop and also lets you tweak everything at will. Although LAMP has many variations, we will post here the classic one at first.
- Linux as OS. It has been chosen for being a very robust and open source OS.
- Apache for the web server. Open source and very robust as well.
- MySQL for the database. It is one of the most (if not the most) popular databases.
- PHP for the programming language. Very widely used for more than 20 years.
There are many variations of this full stack. Sometimes it’s named WAMP as for Windows instead of Linux or MAMP when is used Mac, though WAMP/MAMP are mainly used for development. The production project will almost always be on a Linux server.
The LAMP stack has further variations. PHP can be changed by Python or Perl and when MySQL is changed by PostgreSQL can be defined as LAPP. Sometimes, LAMP refers to MariaDB instead of MySQL as well.
PROS
- It is a very popular combination of very popular technologies. This means there are a lot of developers available for all of them.
- Execution is generally fast.
- Can switch to other technologies easily.
- Everything is open source.
CONS
- Many technologies to learn, making it more difficult to become a full stack developer with this system.
Ruby on Rails (RoR)
Ruby on Rails is another full stack used by full stack developers. This one, not surprisingly, uses Ruby as a language and Rails as the framework. They do combine very well and have many things in common, however, learning Ruby and Rails is pretty tricky.
Rails is generally less used than other frameworks and so it happens with Ruby as a language. Mostly, they are used together. This becomes a problem because when you are on Ruby on Rails it is difficult to move to any other full stack.
Hiring Railers can be a real challenge and finding a good one can be a nightmare for somebody who is hiring. This acts on your behalf if you plan to learn RoR and become a full stack developer because it will be easier for you to find a job, however bear in mind you may get stuck in it forever.
PROS
- Lots of documentation available
- Very solid and works very well together
- Easy to find a job if you do RoR
CONS
- Easy to get stuck on them
- Gems are quite a messy thing to use when you are used to other programming languages.
LYME
This full stack is less used than others but still being used nowadays. It involves many technologies developed in Erlang and they combine very well to each other for this reason. However, it is being abandoned and not many big companies use it.
- Linux is the chosen OS. It is open source, it is usually free and it is robust. Can’t ask for much more.
- Yaws is the web server. It is written in Erlang and it is considered very safe and intrusion-proof.
- Mnesia is a database in Erlang as well. It has less functionalities than many DB but it is pretty simple to learn so it does good for small projects.
- Erlang is the programming language all of the above was written in, and the programming language to use in LYME.
PROS
- Everything integrated with the same language.
- Easier to learn than many other combinations.
CONS
- It doesn’t perform well for larger apps.
- It is being abandoned
WINS
WINS is a full stack with mostly Microsoft products. It is robust, works really well, and it is very spread out among the net. What probably causes this stack to be less popular is the cost for the companies using it. Microsoft products are not cheap although they are reliable and well maintained—for the most part.
- Windows Server is the OS chosen. There is not much today about it, because everybody knows.
- Internet Information Services (IIS) as the web server. Rather easy to use and very solid, however it is not open source and the bills can come expensive.
- .NET is the software framework. Microsoft has put a lot of effort into making .NET a very solid and easy to learn network. However, it is not as widely used as many others. .NET went open source 2 years ago, good news.
- SQL as the database. Very good DB, but not open source either.
WINS is a very good full stack to go by if you plan to work with Microsoft’s products. .NET is becoming abandoned as many programmers migrated to other programming languages so, watch this out if you plan to become a WINS full stack developer.
CONCLUSION
All of the above are solid options for full stack developers, of course many of the above accept different variations by changing one technology to another but usually the spirit is still the same.
LAMP is all open source and it is a classic. Many websites have been built using LAMP and they are still being built. LAMP has many variations and probably the bulk of the full stack developers works with LAMP. As there are many variations, you can’t get stuck in one of them if it becomes obsolete in the future.
MEAN is the future or is supposed to be at least. With all the stack related to JavaScript, integration is easier and using JS as a programming language is considered stronger and more robust than PHP. There are many MEAN full stack developers out there now.
LYME is easy to learn and it is all integrated with Erlang. The biggest con is it is becoming abandoned and not many companies are looking for full stack developers in LYME. It was somewhat popular some years ago but not anymore.
Ruby on Rails is a classic as well and the two technologies do combine very well. The major problem when becoming a RoR full stack developer is the fact that you may get stuck to it, since Ruby or Rails are rarely used without each other.
WINS is the Microsoft solution for full stack developers. If you plan to work for Microsoft, this is the way to go, even though .NET seems to lose popularity by the day. The main CON of this stack is the cost. Startups usually don’t have many funds to start, and going with paid products instead of open source is a risky move.
Recent Stories
Compare Products
Select up to three two products to compare by clicking on the compare icon () of each product.
{{compareToolModel.Error}}
{{CommentsModel.TotalCount}} Comments
Your Comment