Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

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?

share|improve this question

closed as off topic by Mark Trapp Jul 31 '11 at 0:44

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here. If this question can be reworded to fit the rules in the help center, please edit the question.

Do you both report to the same manager? You were hired to develop functionality, not make process improvement. In order to make process improvements, you need buy-in from the team that is affected - are you discussing your process improvements with him (and the rest of the team, if there is any) before going to management? –  Thomas Owens Jul 30 '11 at 14:57
Yes, we do report to the same manager. I have been asked by management to define several processes and policies after I started producing requirements documents and project charters. However, the processes he is mostly questioning are things like "we need source control" and "we should review changes instead of just implementing everything requested as-is (requests can come in from literally anyone in the company)". –  Beofett Jul 30 '11 at 15:02
And yes, I do discuss the process improvements with him before going to management. It is both during these discussions, and after receiving management approval, that I have to explain and justify every decision. –  Beofett Jul 30 '11 at 15:03
Would a "let's try this approach and see if it works better than the other ways we've tried?" work? If not, you may consider asking him to get off your back or perhaps even ask your manager to get him of your back. –  user1249 Jul 30 '11 at 15:14
Can't really answer as I still haven't figure out how to deal with designers in general, but thought this was quite relevant: twitpic.com/5xs1vy –  Agos Jul 30 '11 at 20:18

3 Answers 3

This is a really tough situation. It sounds as though he feels threatened by you, which is understandable if you've been able to make all of the changes you have in such a short time. I think the best thing to do is to try to explain to him that you are trying to implement things that will in the long run make his life easier, and that you are not in any way trying to minimize his role. If you can, try to make him feel that you really value his experience by asking for his opinions in areas that he has expertise, but make sure to assert yourself when it comes to your areas of expertise. In the end though, I think you'll have to really look at whether the job is worth more to you then the friendship. I think it will be pretty hard to maintain that friendship long term with you coming in (possibly with some help from your friend?) and essentially taking over what your friend obviously thought was his role. I would take some time to consider whether finding a new job is the best thing to do for you.

share|improve this answer
I think that's a pretty good assessment of the situation. However, the role was created specifically because he realized that there was no way he could do all these things, both due to lack of knowledge, and lack of time due to all of his other graphic design responsibilities (which are many, and which he does well). I do repeatedly emphasize that my goal is to look at the long-term, and plan to make maintenance and changes in the future much easier for us both. –  Beofett Jul 30 '11 at 15:07

Most frustrating, however, is that he sees any attempt to establish policies, procedures, or defined areas of responsibility as "needless red tape".

Maybe here's a solution?

Actually, from what you tell, it seems that this designer doesn't understand what are the decisions which belong to his domain, and which ones belong to you. Defining areas of responsibility in a clear, written way may solve the problem. Establishing policies and procedures may help even further.

In general, I'm against too much paperwork, but it does not hurt, sometimes, to be clear on who does what. If your friend accepts that the choice of a programming language or IDE or architecture or system design belongs to you, the developer, and not to him, the graphic designer, he would probably stop questioning the decisions which are in your domain.

share|improve this answer
+1: Ask your manager to have the team members write-up what they feel is a good description of their own job, and then a description of the other members' jobs. Then the manager should hold a meeting and explain how she sees the various positions, including areas of exclusive responsibility and areas of overlap. Once the lines are clearly drawn your friend may see that what you are doing is something he cannot do and, in fact, is something he probably doesn't want to do. Good luck! –  Peter Rowell Jul 30 '11 at 16:18
  1. "I have been putting a lot of effort into making sure that we adhere to best-practices whenever possible.". That doesn't sound healthy. You should adhere to best-practices whenever it pays off. You might be overengineering your development processes.
  2. You have been hired as a programmer and you are in fact implementing processes, which is a managerial role. There's basically nothing wrong about that. But it should be clear, to you and the ones you manage.

    Managers are not peers, they are leaders. Leadership requires people skills (especially communication) and/or authority. If you lack both, then you are the wrong person to implement new processes. Therefore you need one of both.

    You could step forward to your superiors and explicitly ask for authority. This will probably create an awkward situation. The alternative is to solve it with communication.

    See, the problem is not technical. The problem is not whether your colleague can be convinced or not (apparently he can), but how much this conviction takes. Evidently, there is either a lack of trust or some sort of professional envy, or he may simply feel threatened because you gain control over how he does his work. This can be an unpleasant feeling. Either way, him fighting off all changes is really just a red flag for a problem between the two of you and has probably nothing to do with the actual changes you put forward.

    You need to establish a level of professional trust and respect. You need to promise your openness to his concerns and that he has a chance to reverse some changes in process you make, if they don't pan out well for him.
    Solve this face to face. Be polite and honest. It works wonders.

share|improve this answer
Perhaps "whenever practical" would have been a better choice of words. I don't think over engineering is going to be an issue, although it is fair to point out that potential hazard. I do try to solicit his opinion and treat him as an expert whenever possible, but you make good points about his possible perception of the situation. Ironically, I have repeatedly felt that he was trying to exert control over how I do my work (constantly asking what I'm working on, etc.), when it may just be backlash from him feeling the same way. –  Beofett Jul 30 '11 at 15:14
@Beofett: There is one thing I would like to stress, as I am not sure it came across. You have to explicitly talk to him about this problem. Making some ideas on your own about how to treat him better is noble, but has one fundamental flaw: You leave him out of the process. You need to gently confront him with the tension between the two of you all the while showing your willingness to solve this together by mutual commitment. –  back2dos Jul 30 '11 at 15:51

Not the answer you're looking for? Browse other questions tagged or ask your own question.