Most predicted that Secretary of State Rex Tillerson would be fired 5 months ago, when he was accused of calling President Trump a “moron.” That kind of “candor” simply did not happen in this White House. Furthermore, one can argue that some a characterization of any President by an appointee, is always inappropriate.
For whatever reason, Tillerson carried on in a rocky position and never seemed to have the confidence of the President again. Many speculated that Trump wanted him to quit and since those remarks Tillerson had become increasingly marginalized. But quit, he would not do, so Trump fired him.
Trump explains why he fired Tillerson here:
BBC goes deep on the Tillerson Tenure and his replacement, here: