The developer technology landscape changes all the time as new tools and technologies are introduced. After having lots of interviews and reading through countless job descriptions on job boards I think this is a great modern tech stack for JavaScript developers in 2021.
Out of countless tools, this blog covers a selection which when combined can be used in either personal projects or in a company. Of course, many other project management tools exist out there for example like Jira, Confluence, Trello and Asana to name a few. This is based on user experience and preference so feel free to make slight adjustments and personal changes to suit your own tastes.
It is much simpler to concentrate on a refined set of tools instead of getting overwhelmed with the plethora of choices out there which makes it hard for aspiring developers to choose a starting point.
Project Management
- Notion – For overall project management, documentation, notes and wikis
- Clubhouse / Monday – Clubhouse or Monday to manage the development process itself. Both can be Incorporated into a CI/CD workflow so builds are done automatically and changes are reflected in the staging and production CI/CD branches
- Slack / Discord – For communication between teams
Design
- Figma – Figma is a modern cross-platform design tool with sharing and collaboration built-in
- Photoshop / Canva – Photoshop is the industry standard for doing graphic design work and Canva is a great image editing tool
Back-End
- Node.js – A popular modern back-end framework
- PostgreSQL – A popular SQL Database
- MongoDB – A popular NoSQL Database
- HarperDB – A popular hybrid NoSQL/SQL Database
Front-End
- NextJS / Create React App / Redux – NextJS for generating a static website or Create React App for building a standard React website with Redux for state management
- Tailwind – Tailwind for writing the CSS, as its a modern popular framework basically allowing you to avoid writing your own custom CSS from scratch leading to faster development workflows
- CSS/SASS / styled-components – This can be used as a different option to Tailwind, giving you more customization options for the components in React
- Storybook – This is the main build process for creating the components because it allows for modularity. With Storybook components are created in isolation inside of a dynamic library that can be updated and shared across the business
- Jest and Enzyme, React Testing Library and Cypress – TDD using unit tests for the code and components before they are sent to production and Cypress for an end to end testing
- Sanity / Strapi – Sanity and Strapi are headless CMS and are used to publish the content with the use of a GUI (optional tools)
- Vercel / Netlify / AWS – The CI/CD provider combined with GitHub, makes it easy to review and promote changes as they’re developed
Mobile
- React Native / Redux – React Native for creating cross-platform mobile apps and Redux for state management
- Flutter/Dart – Flutter and Dart for creating cross-platform mobile apps


