it depends where you live what race you are but more important what he looks like you don't want him to have a name like Jim because it sounds like a name for a 40 year old (no offence to any Jim's) you want your child to grow up looking like their name something like Justin Alex Alec Zachary Ben Noah Hayden for a casual name for something more unique you could go for Kenny William Antonio (more foreign) Abdul Nicholas Max (a fave) Mitchell or Tanner and than if you want to go for a name for a more older person (a mature name) you could go for Bob Jim Bill Tim and than if you are more spontaneous you could look up names from other countries that are much cooler
Think of a name that he won't be embarrassed by when he is potentially in the professional business world some day. Classic names are always good. Perhaps an old family name? Find out what names are in your family tree. You may find one that you like AND has special meaning. Remember many of the boys names you hear now, are trendy. Think of how you will feel a few years from now, and every other boy in the class has the same name!