The question of 'should' finds its way into a number of other situations. In the world of devops where programmers take what is seen as traditionally IT roles, the line gets very blurry. In other worlds such as banks or anything that handles money (or health care and hipaa), the question is a resounding 'no' with no further elaboration necessary.
Lets look at how one of those money handling areas handles it. The PCI DSS (Payment Card Industry (i.e.: Visa, Mastercard and the like) Data Security Standard) has some rather specific points on this subject.
There are specific requirements in the DSS such as 3.5.1:
Restrict access to cryptographic keys to the fewest number of custodians necessary.
Separation of duties between development/test and production environments
This last one specifically speaks to what you are asking and in the guidance section reads:
Reducing the number of personnel with access to the production environment and cardholder data minimizes risk and helps ensure that access is limited to those individuals with a business need to know.
The intent of this requirement is to separate development and test functions from production functions. For example, a developer may use an administrator-level account with elevated privileges in the development environment, and have a separate account with user-level access to the production environment.
This means that if you are wearing a developer hat, you shouldn't have administrative access on the production environment. One can argue that you can switch hats (and all associated environments - here's the "you are on call and have admin access laptop that you don't do development on - and don't do admin things from your development machine."), but that gets into how management wants to claim they are meeting the requirements.
So, should devs have access to production? Sure - reading logs and the like is very helpful and a pain to have to go through IT and/or Operations organizations to get access to. Should devs have admin access to production? Depends on what they are doing and what the various regulations say.
If you are at a small shop that doesn't have the personnel, or infrastructure, or requirement that you don't have access you are likely to find yourself with admin access no mater if you like it or not and be asked to do admin things on it from time to time.
It really depends on where you are and how much red tape there is to protect production from the devs (because there are few things as fun as accidentally pushing code or editing live code on production).
The life of someone who has access to production is always 'interesting'.