Formal Training in Software Development
I think the answer is based on if you are willing to go back to school or not. You did mention "formal training"; ultimately some of the best formal training you will get for computer science is in school.
It also sounds like you already have a knack for programming. You picked up scripting with python through ArcGIS, which is already a really good thing to know. What you need to know now is likely simple things like:
- (OOP) Object Oriented Programming practices vs. Procedural Programming practices
- Static Languages vs. Dynamic Languages
- Lower Level programming vs. Higher Level
- TDD (Test Driven Development)
There are several more I could mention, but these types of principles are the things you will need to eventually learn. Ultimately there are APIs and tools for GIS software development for almost every programming language.. It sounds like you need to learn the fundamentals to make sure your design is good, the best place to do this (IMO) is school.
After going through a lot of it myself, what I found most helpful are the things I learned about OOP. Understanding Object Oriented Design is the key to programming design in today's working environment.
You will want to consider also if you are really looking for general programming or to keep more in the ESRI realm. While a lot of ESRI training is geared towards Arc developers a formal 'school' approach will get you thinking about things differently.
One cost there is you will then see some things that will affect your ESRI work; since the patterns you often follow in ESRI will not fit the textbook methods a good CS program will want to teach. Add to that a CS program will take you in more directions that may not really benifit you in your goals if you are going to keep ESRI GIS in your business line as your career path.
jsmith above is right; those are good areas to consider; but with ESRI they can be a double edged sword.
If you want to be a full stack GIS programmer, you may want to also investigate the open source world of to see how many algorithms are implemented. Codebases like GDAL, GRASS GIS and GEOS/JTS are all well documented and mature codebases and are open to contributions. In some development circles, commit track-records are more important than certification/credentialing.