The 22-year-old, who has also previously played for Albion Rovers and Livingston, has agreed an 18-month contract at Balmoor.
Blue Toon boss Jim McInally told the club website: “I tried to get Steven in the summer, however he headed to East Fife as he had worked with Darren Young in the past.
“He became available again and I made sure I got him this time. He was an outstanding young talent and we will give him a platform to show that potential.”