Moving from business to academia
You question whether you satisfy the requirements for a position as a PhD student. The minimum requirement for such a position is a bachelor's degree, albeit, many positions will require a master's. You satisfy both of those requirements, so your move from software development to academia is entirely plausible. 

You seem to believe that publications are required for a PhD student position. They are not, at least, not at many institutes. They are nonetheless useful, even "just a couple," even if "[they're] rather weak," since they demonstrate an ability to do research and an understanding of the research process.

You are concerned that your referees are engineers, rather than scientists. This isn't a problem, actually it is an asset, as is your software engineering background. Impact is a measure of success in academia and your real-world experience can guide you towards practical research problems that have more potential for impact.