Then I'm guilty of breaking the license. I have always been stealing code from Stack Overflow. Well, since I'm a senior dev right now I steal only from answers.
Well, I'd advise anyone to constantly look for opportunities. I used to job-hop roughly every 2-3 years because I got a better opportunity. But I stayed more than 6 years at my previous workplace. Not the best financial decision but I liked my job in applied research.
Not sure what financing applications you develop. But what you suggest wouldn't pass a code review in any financial-related project I saw.
Using integers for currency-related calculations and formatting the output is no dirty hack, it's industry standard because floating-point arithmetic is, on contemporary hardware, never precise (can't be, see https://en.wikipedia.org/wiki/IEEE_754 ) whereas integer arithmetic (or integers used to represent fixed-point arithmetic) always has the same level of precision across all the range it can represent. You typically don't want to round the numbers you work with, you need to round the result ;-) .
To me, it doesn't sound like a "no go". To me, it sounds like "consider to go [elsewhere]".
I've been coding for money for some 18 years. It's not unheard of to switch from one team to another or one product to another. Are you a contractor (i.e. self-employed independent contractor / consultant)? If so, you can definitely speak about autonomy and you can walk away from it if you don't like it. If you are an employee, there is no real autonomy whatsoever. HR departments of some companies might want you to believe that you are somewhat valuable for them, in reality, you are an expense - a resource. In any larger company, you are a cog in the wheel. They want you in another team? There might not be much you can do about it.
I don't really understand what your role really is. Social skills, research? Are you a manager? Are you a researcher? What does "all of that" mean?
On the threshold of the Northern Hemisphere's Midsummer's Eve, we unveil the second revision of the Tenth Edition of the Armed Bear Common L...
If the language has really good type inference (Haskell comes to my mind though F# was quite nice as well) it's better. It really makes life much easier.
However when dealing with real-world problems (just moving data around which are changing constantly) the types don't really add that much, you need to test anyway. Test suites is what I need. Clojure and Common Lisp are OK.