So sometime ago I stopped using the Arduino environment for programming micro controllers and started using PlatformIO. It offers a lot of advantages over the former and anyone who has programmed before using other environments will like the fact that you can use a really well featured IDE.
Programming for me was something I learned over 20 years ago, as a game developer for MUDS, which were text based roll playing games, written in C on linux. Mostly I was using the Kdevelopment IDE, but at other times I have used Netbeans and Eclipse when dabbling with languages like Ruby and LUA.
The great thing about PlatformIO is that its platform independent and supports over 800 different boards and you are not locked into using a particular IDE, you can use pretty much whatever IDE you like. I am using Visual Studio, but it supports about a dozen other IDE so you can choose what you like to work with.
The major benefits of using platformIO is that you have a propper debugger built in and that you have greater control over where your libraries are installed. If you look in the navigation pane to the left of the IDE, you will see that the non core libraries that I used are all installed in a directory called LIB within the project. This means when you do backups of your projects, you keep everything together where it needs to be.
For me, this means I have code, schematic, board layout, test documents and datasheets for the one project all together in one place and if i chance something, i have it tracked. There are a few things that work differently than with the Arduino IDE, like there are no drop down menus for selecting things, but once you get your head around using and editing the ini file, you will find that you have a lot more control over the things you are trying to do. And often, that level of control is very useful to have.
If you are looking to graduate from Arduino, give platformIO a go, I think you will be pleasantly surprised and enjoy your coding for ham radio projects just that little bit more.