> How should I proceed?

Well I can tell you one thing for certain: this won't matter in a year... no matter what. Congratulations on making it into the field of software development with what I assume is a bachelors in computer science. You're basically set for the next ten years at least, guaranteed. There are so many vacancies in this field.

I've had petty bosses like this. Personally or professionally, I'd never talk to a junior developer like this. Or a senior developer for that matter. A senior dev and I would have had so many check ins and conversations before this meeting you had that it would be impossible for such a meeting to happen. Bosses like your boss' boss love to focus on the timeline without any of the details. For this, they are worse than worthless in their occupation. It seems likely your manager's manager failed to address a changing requirement in time, got burned by their superior for it, scared your manager away with their rage, and took it upon themselves to take it out on you. Again, just my intuition but it's rarely wrong. I've been doing this for a long time and I've worked at every type of company imaginable from govt to startup to corporate.

You probably graduated last May/June so you'll be up on your year soon (again, a guess). I'd start looking for other opportunities as you'll almost be guaranteed a 20%+ raise changing jobs and zero negative consequences for doing so. If you choose to stay here, great, but regardless, it will make you feel better to see higher offers from other places where you'll likely meet great people who can mentor you properly, proactively, and with enthusiasm. What your manager is doing is called seagull management, it's a little graphic of a term but look it up ;) It's a contribution to a company that my software engineering professor would call "worse than worthless".

I've had a few jobs with know-nothing bosses. It's a nightmare and leaves you feeling bad about your diligent and hard work. If everything was going well with zero constructive or negative feedback, and all of a sudden, there's a problem and a big problem at that, where the blame is placed on you without any sort of detailed explanation or further indication, it's a sign there's something wrong up the chain that has nothing to do with you. Pathetic, petty managers will always try to blame their subordinates for their own failures.

I would never let one of my junior devs with their first job out of college take the fall for a deadline or give them feedback like this because I possess the seemingly rare quality of empathy in software development and know it would be one of the biggest contributions of negative value to the company to do so. I would instead take responsibility for my failure to handle a deadline as that's what a real lead dev does. And if my junior dev was given too much work I'd help them or do it myself.

You can of course always look at other code in the company to see if something has been done. So can your boss. Given that those two have more experience with this field than you do, both at this company and in general (allegedly at least) it is something they should have proactively taken upon themselves, ideally in cooperation with you long before this meeting. They also have a duty to communicate with and mentor junior devs. You're not a senior lead with years of experience, you're a recent graduate with an invaluable set of skills and understanding of computational science that you developed over a period of years. You need a little bit of mentoring to learn the ins and outs of the business world in the context of your rare and precious talent. That should be done warmly and with great enthusiasm from your mentors. This is often not the case. For me it is far and away the most satisfying part of my job to mentor juniors who want to learn. Unfortunately, you're going to have to work a little to seek out likeminded people, they're not in every company. If any one of the people that ever worked under me blamed a dev for their poor project management skills they'd get quite an earful from me, I assure you. I'd fire a repeat offender who needlessly destroys the morale and enthusiasm of anyone without hesitation.

I felt obligated to reply at length because a lot of the comments in this thread are giving you terrible advice. I dealt with horrible support systems early on in my career and got so much terrible advice from other engineers. Lack of empathy and humanity is a massive problem in our community. You clearly have a desire to do good and are sensitive to feedback and I can't help but feel that your talent and good nature is being wasted here. Never forget you are the talent. Without yourself and the other developers producing software your manager would not have a thing to manage. I think you needed to hear that today. Repeat after me: I am the talent. You need me, I don't need you.

Please stay positive. As the Brits say, keep calm and carry on. It's all you can do here. Do that and keep your passion and you're indestructible. It's a hard thing to realize that so many people have no idea what they're doing but this ordeal you've been through will be helpful education in that respect!