What makes a good mathematician? A soft question but I believe important to help get maturity in maths.
Not until I got admitted to a graduate applied math program that I started to learn math. Before that, I was a life science undergraduate that only know some entry level calculus. The more I learn math, the more I started to find it is more than the formulas , but also perspectives that would help to shape a good mathematician. In Terence Tao's real analysis book, he said that a mathematician don't quite think concepts in a way of  "object", that they more prefer to ask what a concept can be applied to, rather than what a concept is consisted of.  I think that is inspiring and indeed helped me really started to think as a mathematician.
My question is, when you are observing other people or yourself do math, what do you find makes a good mathematician ?  What kind of point of views you need to have in order to solve a particular problems in fields like linear algebra, topology, real analysis, statistics, etc?   Or, while learning maths, what kind of things I can pay attention to, or I can ask myself about, that would help me to become more to think like a mathematician?
(A bit more about what I used to think before I started learn math:  I was pretty good at physics, which is more like modeling by reduction work to me: apply relative few principles and you can start analyze stuff. When it got to maths problem, it doesn't work in that way. I found from equations to equations, though it is "equivalent" between two equations, but the information conveyed can be much different. 
Also a lot of times problems are solved by a constructive way, which seems not nature to come up at first glance, but often it indeed make sense once you have a higher view. For example, if you have the idea that the rank and determinant is actually describing "how big" a matrix is, you can easily start to crack down the dimension problems in linear algebra one way or another.  But there are more subtlety in writing the inversion of matrix in adj(.)/det(.) that it is not obvious for building up an intuition of adj operator, but it is as well powerful in different application. Nevertheless, not many textbooks would tell you why we should care about adj.)
 A: Necessary but not sufficient condition: recognizes the importance of good definitions.
A: I second the notion of Intuiton and Instincts, though in a different context. Many hard research problems are hard simply because there is no cookie cutter method for solving them. After trudging though core curriculum like Calculus, Algebra, Analysis, PDE's, etc, you acquire a vast array of problem solving techniques albeit for specific classes of problems. Especially nowadays it takes an even vaster array of knowledge to push forward new results and ideas. On that notion, I think Freeman Dyson does a decent job of summarizing Birds and Frogs as two classes of (good) mathematicians, though I think that he (unintentionally?) makes out Birds to sound much cooler than Frogs. Personally I would have called them Birds and Foxes. 
The point though is that IF a problem is tractable by current methods (eg NOT the Riemann Hypothesis), then a good mathematician should be able to provide a sketch for how to start  tackling the problem. For example, just like an assist in soccer or basketball, even a suggested reference or place to look can be worth as much as actually writing down a solution. In short, a good mathematician should be able to (statistically speaking) give the right guesses or references to a hard problem. Of course the hard work lies ahead but, where to start is half the battle. 
Many problems have intuitively obvious quantities of interest in them. Many conjectures aren't just based on numerical evidence, but on some set of intuition which is consistant with current theory. For example, in probability theory you might be looking at some complicated stochastic process and a reasonable conjecture might be that after a long time the process is asymptotically uncorrelated with its initial conditions, even if its not a Markov chain. And, the first thing to do when tackling a difficult problem is to adhere to Polya's golden rule of "solve a simpler problem first." It's amazing that sometimes a problem has a very tractable simplification and then the whole problem gets solved by some modifications. It's as if adding complexity to a problem is very nonlinear and sometimes even has diminishing returns. So I would add here that a good mathematician should give great guesses for simpler problems to solve first that are related to the bigger one.
I also think that there's an element of luck involved. This part may be controversial to some people but i'll stand by it. People like Ramanujan and Erdos are very large deviations from the average mathematician and I think for this reason they are truly masters of their fields. They delved into very specific niches of mathematics and excelled there without equals. Even the most experienced mathematicians who worked their entire lives in these niches may not have been as prolific as these giants. Supposing you are already a semi talented mathematician, I really think in this case it's a bit of luck, being close to the right problem at the right time with the right intuition. With Ramanujan, he learned all his mathematics from an encyclopedia so at least to me it's not truly surprising that he had huge clairvoyance when it came to crazy series identities. On the other hand as far as i know from his biography (The Man Who Knew Infinity), he learned and struggled with complex analysis much much later in life. Erdos had an uncanny problem solving ability and somehow naturally fit into combinatorics and graph theory. So maybe I'll end this section by saying that a good mathematician, combined with a bit of luck knows his or her niches and has good abilities at spotting problems he or she can tackle. 
A: A controversial and easy answer is "intuition". I know you don't like it, but sadly it is true. All that we know about Calculus started with Newton and Leibnitz's intuition about limits,continuity and derivatives and integrals. And for many decades Calculus stuck to be an "intuitively correct" idea, and along came Augustin-Louis Cauchy who defined it rigorously and calculus was no longer "intuitive" it soon became a widely accepted mathematical truth. (In 1734 Bishop Berkeley panned calculus that it lacked rigor and just plainly intuitive - he further said mathematicians had no business criticizing religious people given the way mathematicians reason themselves) But Cauchy made sure mathematics' greatest brain child was made "controversy-free".
Intuition is never an acceptable way to prove anything in mathematics. Ramanujam proved brilliant and shocking results and he wasn't even properly trained in mathematics. When he was 10, he mastered (self-learnt) trigonometry (all he had was S.L. Lony's book on trigonometry) and he proved various results himself (that was when he was 12). Erdos proved there is always a prime between $n$ and $2n$ in the easiest possible way (he also did prove other brilliant results). The list goes on really. We can argue that these results are not intuitive (well not completely) but the very idea of a mathematical formal system have what are called axioms which are completely intuitive. They are starting points or truths that cannot be proved or disproved just accepted in good faith. William Feller in his classical book on probability acknowledges that mathematical intuition can be developed through training
Formally, intuition is discouraged, its clear-headed thinking and originality (Cantor's work on transfinites) and creativity (Godels incompleteness theorems) that goes a long way. Further a very few of Ramanujam's equations has been found to be wrong since he mostly relied on intuition to come up with them.
Well, regarding your question of how to solve anything in topology etc. Top-down or bottom-up machines is what we all are. This the formal thing anybody can give you. Start with an axiom or known theorem and search your way through for your solution. Hopefully through practice you would be able to do this sub-consciously. A spark of creativity always triggers you into a different realm of thinking. As an example I cannot think of anything better than the travelling bee problem (there's literally not a single soul that I know who doesn't know this problem): Two trains 150km apart head towards each other (for an imminent collision) at 50km/hr. A bee starts from one train and flys, at 75km/hr, (in a straight line) to the other, the moment it reaches the other train it reverses it's diretion and continues this till it is squished to death. What is the distance that the bee travels? Now you can sum a geometric series to get the answer or multiply 75 and 3. The best part of that problem was, when it was asked to John von Neumann by the reporter he instantly gave the answer. The reporter asked, "Did you multiply?". He replied "No I summmed the series"!! That I think is a good mathematician right there.
As @PeteClark suggested there isn't any antagonistic relationship between formalism and intuition-ism. Formal reasoning is just the means by which intuitive ideas are shared or proved.
