The bottom line, in software, you make money in one of two ways.
- Jumping across the street for an acceptable raise
- Stock options that go public
You mention B is a startup, did you get options? You should be clear on when you get your initial and subsequent grants. Stay as long as the economic outlook is good. If you are not getting options you have no loyalty to either company.
You can always tell A, that you are happy with where you are at and if they want you they will have to pay you "big boy money". Assuming you make around 50K (about right for a new software grad) ask for 95K. If they balk at that tell them, okay have a nice day.
Don't sell yourself short while inexperienced, you seem to have the gift, and that is worth real dollars. The experience will come with time and you will do well to work on your project management skills. Once you get those you can command about 120K/year and you could be there in as little as three years. Great engineers can run their projects better then the designated project manager.
If they offer you the 95K then go back to Company B and tell them and say "I like you guys, and want to tell them no, but considering they are doubling my pay....".
As always if you jump from shop to shop, contribute to your 401K, roll out balances into a rollover IRA, and keep debt to a minimum (if not zero). Your older self will thank you and wonder why you did not contribute more and spend less money on junk.