I used to push production code -- back in '99 when I worked at GE, my buddy Jason taught me how to code, and I was fascinated by it. I spent much of the early 2000's building dynamically driven websites with mySQL back-ends for several startups, including an e-commerce website along with its back-end administration and inventory management system (screenshot below). We had to host the e-commercie site at a colo facility. That was way before AWS, or Stripe, or any of the technologies today that make something like that much easier today.
While it's been years since I've pushed any production code, that experience has left me with a deep appreciation for what engineers do. Most business people don't have that, and it hurts them in ways they don't even realize. As Paul Graham wrote in his essay "Maker's Schedule, Manager's Schedule," it's easy for managers to completely torpedo the productivity of the "makers" -- those who are actually building the business and really creating value.
It's for this reason that I really encourage managers to learn to code. It's even in our Socialize manifesto, point #1: "Every new hire has a 'Hello World' in at least one language."
The first thing that a manager will find is that coding is a lot harder than they imagined it would be. Most managers have an attitude like "Yeah I could code if I really wanted to, but I can add much more value by being a manager." That attitude is actually a smokescreen for an insecurity: If it's so easy for you to learn how to code, then let me see you do it. Because it's not easy. It's hard. And it's even harder to do it well.