I predict we'll never have machines with minds like humans. They will always exceed our abilities in certain tasks for which they've been programmed, but will never pass a long-term Turing test; for example, you'll never mistake a bot for a human remote programming colleague, with whom you chat and collaborate on features every day.
I take it as an axiom that the human mind cannot understand the human mind fully, for the same reason that a box cannot contain another equal sized box. The "singularity" requires a series of boxes, each of which contains a bigger one.