I'm not on the engineering team at my company, but I do a little bit of coding as part of my job.
My company has a good AI coding policy: "You are responsible for all code you check in. You are encouraged to use AI responsibly, but you must check it for errors. If you turn in code that is bad, you can't blame the AI."
Plus, while we are trying out a few different AI platforms, we have token limits (I don't know what they are, because in my role I never come close to hitting them - but company-wide I know our budget is lower than one engineer salary.) And different platforms are allowed for different things. Any company-proprietary information is only allowed in certain AI platforms; and nobody is *EVER* allowed to put sensitive information (API keys, passwords, even user names) into any of our AI platforms.
In my role, I often interact with customer data (customer logs, customer integrations, etc,) we have exactly one AI platform we're allowed to put "customer data" in to, because it's the only one we have 100% control over the data for. That platform does have multiple models available, though.
As for what I personally use it for when coding? Debugging. "Crap, this shell script isn't passing through this environment variable properly over SSH, figure out what I did wrong."
Or "A customer wants to integrate our API with - write me a Python script that does " and have the AI look up that other company's API info and get me a starting point. I never directly use any of the code generated this way, I use it as a starting point for my own code. An "Oh, that's how that company's API works", which I then verify on the API documentation link the AI gives me, to make sure it was actually telling the truth.