Background: I was originally hired to add scripting functionality to the redesign of one of our websites. The description of the position was created by the graphic designer (who also happens to be a friend of mine), and his original conception of the position was that he would create the "shells" of the web pages (css, images, and overall page layout), and I would handle all functionality.
The graphic designer is 100% self-taught (when it comes to web pages), and only recently (at my insistence) switched to CSS over in-line styles and table elements for positioning.
The situation: As soon as I was hired, it was clear that much more than simply "handling the functionality" was needed. There is little to no technical understanding of web development within the company, and no existing development framework. However, they are very open to suggestions, trust my judgement and listen to my suggestions, and IT has been very supportive. I have implemented the beginnings of a proper development environment (development and production servers, source control tools and procedures, etc.), and it is generally recognized that I am the expert when it comes to anything related to the internet, development, and design.
However... the graphic designer I was originally supposed to work with has... boundary issues. It feels like I have to fight him every step of the way.
He seems to feel that it is appropriate for him to question every decision I make. I mean development and design decisions, not appearance decisions. I don't question his choices of colors, images, arrangement of divs and overall page layout, yet he questions my choices of tools, technology, and general strategy, and I wind up explaining my decisions over and over again.
Most frustrating, however, is that he sees any attempt to establish policies, procedures, or defined areas of responsibility as "needless red tape". I have a fairly strong background in project management, and I have been putting a lot of effort into making sure that we adhere to best-practices whenever possible. Unfortunately, this means I am constantly defending decisions I consider to be best-practice.
The justification for doing skipping all the "red tape" is always "its always worked in the past". However, in fact it has not worked. He has repeatedly complained about how most projects in the past have required starting over from scratch repeatedly, and the applications that are in place range from simply cluttered to "web developer's worst nightmare".
He eventually agrees with my decisions, but the constant questioning, coupled with an apparent belief that despite my decade+ of web and application development experience, he knows as much as I do about web design, has made me really frustrated. I really like the job, and don't want to leave (everything else about the job is great, and, as I said, management and IT both are extremely supportive of my decisions). He's also a friend, and I don't want to hurt his feelings. Going to our manager is a last resort, as I believe getting her involved would cause a serious rift in both our friendship and professional relationship (incidentally, I share an office with him! And no, there's no practical way for that to be remedied).
Am I underestimating the role of a graphic designer? How can I firmly establish some boundaries, and stop having to justify decisions that appear well outside of his area of responsibility and knowledge? Should I have to be defending my ideas for best-practice improvements to him?