Let $G$ be a finite group. It is possible that $Soc(G)=G$. For example: if $G=\prod_{i=1}^n \mathbb{Z}_{p_i}$ for some primes $p_1,\dotsc,p_n$ (not necessarily distinct), then $Soc(G)=G$.
Can this happen for non-abelian groups? If the answer is affirmative, can we find a condition that guarantees that $Soc(G)$ is a proper subgroup of $G$?
EDIT: It always happens if $G$ is simple, so there are non-abelian examples. The question about a general condition remains though.
EDIT: A related question is: for which groups does it hold that taking $Soc$ some finite number of times results in an abelian group. That is: $Soc(Soc(Soc(\dotsm G\dotsm)))$ is abelian for some finite number of iterations of taking the socle.
(All groups are finite.)
The following are equivalent:
Such a group is called completely reducible.
From this it should be clear that ${\rm Soc}({\rm Soc}(G)) = {\rm Soc}(G)$, that is, ${\rm Soc}$ is idempotent. Hence the following are equivalent:
I don't know a name for such groups, but in line with the previous question, an abelian socle only requires that the minimal normal subgroups are modules at all.
If one requires an abelian socle not only of $G$, but also of $H=G/{\rm Soc}(G)$, and $K=H/{\rm Soc}(H)$, etc., then one gets solvable groups. So:
When people define iterated socles, they usually mean:
$$\newcommand{\Soc}{\operatorname{Soc}} \Soc^{n+1}(G)/\Soc^n(G) = \Soc( G/\Soc^n(G) )$$
This is sometimes called the (upper) Loewy series of $G$.