Inspired by a post written by Bolaji Ayodeji's on the same subject.
The most common things (tools, libraries, framework) you and your team will need to have to get started are
A Laptop/Desktop Computer - Your choice of computer should be guided by the following
- Operating System - (Ubuntu/MacOS or Windows)
- Size of RAM (>8GB is advisable)
- Storage Size & Type (Size > 250GB, and Type should be SSD)
- CPUs The number of cores the better :-)
- Battery Life & Device Durability
- Head Phones & Your Playlist
An IDE - There are quite a number of awesome IDEs out there. I use and recommend VS Code . Make sure you check out VS Code extensions for better coding experience.
Libraries & Frameworks - Depending on the language(s) you and your team code in, amongst many other things, you may have two or more libraries or frameworks you will be working with. I write mostly in javascript (and Typescript) so my line ups are
- NodeJS for writing backend apis with express and fastify
- Angular (for frontend - web)
- Vue.js (for frontend - web)
- React and React Native (for frontend - web & mobile)
- And libraries and tools that makes up for better coding and problem solving experience using the above.
Source Code Management - I recommend git, and GitHub .
CI/CD Tools - There quite a number of them out there. GitHub offers an elegant solution, so does CircleCI , Travis CI , and Jenkins .
Cloud/IAAS Account - I use Google Firebase , and Digital Ocean for staging/production mostly. I recently launched a product on AWS , and the experience was an interesting one. I'd recommend them.
Team Communication - I would recommend email, Slack, and Trello
The list is not exhaustive, however, it will get you and your team started. I hope you find the information useful.
All the best!