There are multiple reasons to why a brownie would end up hard.
Ingredients and their balance
First step would be to check the expiration dates on your ingredients. The next thing to check would be the climate in your area. Usually humidity has a significant impact on the amount of moisture needed in the baked goods. Also when the amount of wet ingredients is not enough, then the result can be a hard brownie.
Overmixing of the batter
Mix all your wet ingredients together first and then add your dry ingredients, which don't need to be all combined. Too much of mixing will lead to dense and tough texture. A more gentle folding and mixing action until just combined is enough in most cases.
Temperature for baking.
This is especially important when a substitution (example using oil instead of butter) has been made. The amount of cooking time might vary with every substitution.
Cook your brownies in the middle of the oven. Also make sure your batter is at room temperature before you start baking to promote even cooking. So it is better to use all ingredients like butter, eggs at room temperature, unless specified otherwise in the recipe.
Overcooking
Stop cooking your brownies when a toothpick inserted about 3 inches from a corner toward the center comes out clean. Waiting until the center is done would most possibly result in overcooking in case of brownies. When they are done, rest them away from any heat source.