Supongo que te refieres a usar un compilador de línea de comandos en lugar de un IDE. Deja un comentario si no y borraré mi respuesta.
Aprendizaje. Aprender cómo se compilan, vinculan o asignan unidades de código en su idioma. Por lo general, debe decirle explícitamente al compilador qué archivos compilar y vincular. Entonces obtienes una mejor comprensión de cómo funciona. Un IDE hará magia para hacerte la vida más fácil pero te mantendrá ignorante.
Luego, va un paso más allá y aprende a crear su propio archivo de creación. Esta es una habilidad valiosa. Su archivo de creación hace que el enfoque del ciclo de compilación sea conveniente para la "magia IDE" sin perder la comprensión y el aprendizaje.
Además, su proceso de compilación es fácil de poner en el control de origen. Y es fácil portar su proceso de compilación para trabajar con una variedad de compiladores. A veces es solo cuestión de cambiar 1 línea en el archivo de creación para el nombre del compilador.
Desarrollas habilidades que te permiten trabajar en muchas plataformas. Los editores de texto y los compiladores de línea de comandos son muy similares de todos los proveedores y en todas las plataformas. Estas herramientas básicas le brindan un pase para desarrollar en cualquier sistema, en cualquier momento y en cualquier lugar 24/7. Si ha estado viviendo en Visual Studio toda su vida, será una transición mucho más difícil trabajar fuera de él.
Si sigue este camino, puede molestarse en aprender un editor de texto avanzado como VIM. Complementa la capacidad de trabajar en cualquier plataforma, ya que es compatible en casi todas partes. Tiene una gran curva de aprendizaje, pero la recompensa es la capacidad de editar texto sin esfuerzo a alta velocidad sin mover las manos hacia el mouse.
Por cierto, no estoy en contra de los IDE.