Editors

A good editor or development environment is essential for developing software projects, it should have the features you need.

Text Based Editors

GUI Editors

IDEs

Arduino Software

Python

Python comes with its own development environment:-

Hints and Misc Information

A combination of a good editor and good collaboration tools can really help with productivity.