Item-level permissions are default only on Lists not Document Libraries, create a list and go to Settings => List Settings => General Settings => Advanced Settings and see if the "Item-Level Permissions" group fits your need. Once you decide that, you can check this feature made by Chakkaradeep that enables similar functionalities to your DocLib.
Then you have the programming option, in general terms you will need an EventHandler attached to your Document Library, more info on this link
Below is an untested sample typed from memory based on the msdn article I linked
public override void ItemDeleting(SPItemEventProperties properties)
{
using(SPSite site = new SPSite(properties.SiteId))
{
using(SPWeb web = site.OpenWeb(properties.RelativeWebUrl))
{
SPFieldUserValue user = new SPFieldUserValue(web, web.CurrentUser.ID, web.CurrentUser.LoginName);
if(properties["Author"] == user)
return;
properties.Cancel = true;
properties.ErrorMessage = "You cannot delete items created by other users";
}
}
}