I am an Aspiring Financial Engineer and besides honing off the charts math skills, designing and coding becomes really important. While there are a number of languages that are commonly used besides java, the information that I have been provided is that java and C# are the most likely to allow for easiest transition back and forth. In addition, I am looking to blend my current skillset into that of a BI Architect, ultimately Enterprise Architect before I actually transition over to Financial Engineering [figuring that using, testing, building and design analytics and data mining apps will build up my understanding of what is necessary to effectively extract economic, financial and behavioral data from data warehouses -- helping me to write better code]. And since it will take several years before I complete the studies that will allow for to build trading strategies from scratch anyways, I figure why not build the skills now [Beside the fact that most financial firms have an infrastructure of Wintel, UNIX, and Java woven together] ?
So my question to you is, starting from scratch, what is the best method to prepare to become a completely competent SCEA. I am not concerned with career/role hoping aspect of this as it is role change and pay increase is not my primary goal [Although I am interested in developing Blackberry apps on the side, but not a main focus]. More, I simply want to be able to take a application concept from start to finish; deploying/potentially deploying it in a well designed, highly robust, yet efficient manner that can take a pounding from thousands of users if need be.
Boot camps, books, training material are all welcome, but it has to be some thing solid -- no hello world apps. Seriously, I work better by reconstructing the complex into individual components and then putting it back together rather than just starting at the bottom. Any suggestions?
Everything depends on circumstances; you must sail according to the wind.