Ten years ago, web sites were easy. Anyone could make them for you. In fact, only one guy did make them for you. He was your "internet guy." Hell, I was that guy once upon a time.
Today, you don't have a guy, you have an army of guys, and they all specialize in one thing and think they specialize in the others. Your SEO wants to edit content, your developer want to design, your designer wants to develop, IT wants to run the whole damn thing, and your marketing guy who came from some random marketing firm who has never worked with hte internet before is trying to tell everybody you're wrong and he's right even though he's never done this before and you have.
Welcome to the modern age of complication. Everyone is a critic, everyone is write, no one is wrong, and everyone wants a say. You have to balance the needs of 20 people, work with 20 different people who disagree with the needs of the 20 people, and you're in the middle. What to do oh what to do.
At this point, being good is a gift, not a learned skill. You have it or you don't. I can work my ass off on the tennis court, practice 8 hours a day for 20 years and still go down to the now retired Aggesi 6-0 6-0. All of us are not that lucky, but there are a few things you can do to try and make up for it.
1) Never be arrogant. Be Confident
There is a thin line between arrogance, confidence, and ignorance. The difference is the confident know when they are wrong and can admit to it and quickly change direction. Arrogance is being stubborn if proven wrong and ignorance means you just have no fucking clue what you are doing. Confidence means you've been there before, you think you're doing the right thing, and you can easily adapt. Never be arrogant, be confident.
2) Budget in extra time
Think you can get that project done in two weeks? Budget three. If there is one thing I've learned it's that you don't know what issue is going to pop-up. How much I can't say. It really depends on each situation, just budget some in. You can't catch everything in the plan or spec document, the key is knowing that ahead of time. If something else pops in, claiming scope creep and refusing to do it is flat out unacceptable.
3) Roll with the Punches
Never let anyone know you are pissed. If decisions are made that affect your project that you can't control, roll with it. Make sure you document it and if things go wrong because of plans made by others you can't control, make sure you can show it was not your fault. Also, when it's out of your control, their is no sense in worrying.
4) Tony Danza is a Prick
Their is always a prick who is hard to work with. Be supportive and always remember Who the Boss is. It's usually not Tony.
5) Facilitate ideas
Sure, the designer want to develop and the developer want to design. Go with that. Incorporate the developers designs and the designers developments into the project. Not all of them, but throw them a bone. They probably do have some good ideas anyway and besides, if you say yes to some things, it's eaiser to say no to others.
6) Move the ball up Field
In any project, people are going to drop the ball. Make sure you know how to move it up field and jump in on tasks when you need too.
7) Know what the developers know
Sometimes things get lost in translation and API info or spec info gets lost. Make sure you know what exactly the developers should be doing. You don't have to do the work, you don't even have to know how to do the work. Just know what work needs to be done.
8) Always know the plan
Plan ahead. This is a no brainer but plan as much as you can and make sure that you plan to add to the plan. "Scope Creep" is going to happen, let it. If you don't, things won't get done right.
9) Be different
No one achieved greatness by doing the things the same one as anyone else. Be your own self and work with your own style. Just make sure it works with others.
10) Don't waste time.
I work quick. I always have. So make sure you do too. Not fast to the point of missing things, fast as in to the point. When testing, know x leads to y leads to z. Then test x, y, and z and make sure to not get off track. Note other things that look amiss and come back to them. Knowing how to navigate expediently is the toughest trait and the most valuable one to possess.
Complication is all around. Nothing is easy and it can be annoying. Just follow my tips, and you should end up jut fine and excel in your work.
-Walhalla