DEV Community

Discussion on: Modern Full-Stack Developer Tech Stack 2021

 
damienpirsy profile image
Matteo Vignoli • Edited

Knowing other programming languages is not being inefficient, is being a better developer : you learn new ways of doing something, new paradigms, new concepts...If you only use Javascript for everything you're seriously crippling your programmer's career and future: I simply don't like the idea of relying solely on a (badly designed though improving a lot) language, it will be much harder for me when I'll be forced to use something different (because it WILL happen, no matter what)

Thread Thread
 
mjablecnik profile image
Martin Jablečník • Edited

Yes learning new languages surely spread your knowledge.

  • And then you know that when you want to create Android application, you should know Kotlin/AndroidSDK,
  • when you want to create iOS application, should know Swift and iOS SDK. - When you want to create some static pages, you can use Jekyll, Hugo or Zola.
  • When you want to create some SPA web application, you can use Typescript/Vue/Vuex/NuxtJS or React/Redux/NextJS and Tailwind,
  • when you want to create some cross-platform Mobile application, you can use Dart/Flutter or ReactNative.
  • If you want to transform your SPA web application into mobile, you can use Cordova or Ionic,
  • if you want to create some backend REST API in very short time, you can use Python and Django or Flask or FastAPI.
  • If you want to create some small and powerfull microservices, you can use Golang with Gin or Chi framework.
  • If you want to create some Windows desktop application, you can create it with C#/.NET or (server backend runnning in windows).
  • If you want to create some desktop application for Linux, you should know Vala/GObject or Qt/QML.
  • If you want to create some multiplatform application, you can create it on Java platform in languages like: Java or Kotlin or Scala

If you know all this knowledges (and maybe others) so you also know that is very efficient when you are FullStack developer and you are creating Frontend templates, API connection from backend, REST or GraphQL API backend and Database models. (also depends on your knowledges of SQL and noSQL databases and their advantages/disadvantages). When you are creating this all in one language (TypeScript for example) so you can still be in one ecosystem which is huge and maybe share some data models between backend and frontend if it is possible.

Of course you can use Python or PHP or Ruby or C# or Java or Kotlin or Swift or Go or anything else for backend. But I think that when somebody is on start of their developer career and don't know any other languages and ecosystems and want to be a FullStack developer so it is very useful to stay only in one JavaScript ecosystem for simplicity. Of course in the future he can spread their knowledge but JavaScript/NodeJS is the best solution for start of your FullStack developer career..