I started in a big software service shop in India. Worked for amazing clients (I cannot name them here). Some of the technology that I have worked on - Java, Lisp (yep got paid for working in common lisp), C/C++, Hadoop, JavaScript, etc. After working for 4 years I decided to move on. But I got Job in one of the news companies. Worked there for more that 1.5 years in (C# and Java). Now working in a banking product based company.
After all these years (not that much though), I have come to the conclusion that - you need to be a techie to survive software industry. I have defined growth as: learn a new language every 6 months. Do something extra like open source. I know, I may not get hefty pay packets like the managers in India but I have chosen this path. I am happy with that.
For you I believe you have identified your areas for improvement. You just need to think deep why the schedule failed? Find and read some books Mythical Man Month and Peopleware. Chances are that people have already been there and done that - so learn from them and try to adapt and apply in your case.
Moreover, before you do anything else just ask yourself what do you really want to be - a manager or a techie. Once you have the answer get going with that flow.