I would add a top-level subject code roughly corresponding to the arXiv math.QA. Currently my field (quantum groups, knot invariants, TQFT, monoidal categories, etc.) is listed under 16T, 17B, 20G42, 58B32, 81R50, 57R56, 81T, 57M, 56L37, and 18D. But there's no top-level classification that's appropriate, I end up having to describe myself as 17 "Nonassociative rings and algebras" which is terribly misleading. Math.QA is perfect, and the MSC just doesn't have anything like it.
I'm not quite sure how to answer this but I'll take a stab anyway.
Once I started working as a mathematician, I found that my grasp of probability and discrete mathematics was very weak (now it is at least adequate). It is quite rare for me to go through the details of writing a proof; instead, I code up an idea in MATLAB (which I also learned outside of academia). Once it works, then I usually have what amounts to a proof embedded in the logical structure of code. Because my initial background was not ideal, the things that I've learned professionally have tended to have direct applications to my work.
But this has still been an esoteric bag of tricks, for which I will supply a few examples from the first five years or so of my career (it has been another five years since).
One of the first things I did was to give myself a crash course (now forgotten) in algorithms, crypto and complexity theory. I learned Markov processes and queueing theory to model coarse-grained computer network traffic, and martingales to profile its behavior. I learned the rudiments of graph theory, combinatorics and information theory to develop data structures and work with statistical symmetries in finite strings. I learned about toric varieties and briefly revived my acquaintance with index theory to understand Euler-Maclaurin formulae for polytopes, which were of theoretical import for precisely enumerating/sampling from those same statistical symmetries.
The overarching theme has always been to either develop methods of my own for tackling specific problems determined by needs external to my own narrow interests or to identify if and how someone else's constructions work, as well as to find areas for improvement. In both cases the goal has not been detailed proofs but either code or an argument for doing something in a particular way.
I will say that my formal education has been of comparatively little use. The few good techniques and working habits I've developed have come from my professional work and not from school.
Best Answer
Welcome to MO! I believe the answer to your question depends on what Mathematica command(s) you used to find the maximum.
If you used the command Maximize[], then its output is exact and, in my view, can in general be trusted no less than the work of about any human. A reason for this belief is that Maximize[] has probably been tested at least hundreds or thousands as many times as an average proof by an average mathematician.
Still, others may disagree with this comparison between human work and the outputs of commands such as Maximize[], and so, then you may have to try to obtain the maximum in a way that can be verified by hand. Also, of course, Maximize[] can only solve comparatively easy maximization problems.
On the other hand, if you just used the command NMaximize[] -- which tries to find the maximum numerically, then its output can only be considered a suggestion -- certainly not a proof.