Here's my form layout.
Clicking the add school will add another form table at the bottom.
And I think the "Add School" button is too long.. How can I improve this..
The form is clear, but suffers a bit from being samey... all the fields have equal weight, and there is no clear order to fill them in.
A few differences made to your current layout would make it pretty good.
Some considerations I have. First and foremost you should place the user control to add a school at the top of the list instead. Consider users opening the view already knowing that they will add a school item to the list, do you want them to have to scroll down to the bottom of the list to get to this control? That is if they luckily even know that this is where the control is located.. I would think not.
Ordering the list so that the user action is at the top, and that new items are also in addition to this added to the top, for immediate revising after adding, would be the appropriate mapping of this action.
In addition to that I would also agree with Myrddin. The form for adding new items rather than present items should be weighted differently. Design a framing for the form, with a different background (light clear blue, or light clear green perhaps) to have it stand out more in the context.