I remember one example of this happening a few years' ago. In a meeting, the test manager made a number of recommendations about the sign-off process. The person in question had specialized in testing for several years and knew what he said. I can't remember the specifics of the meeting, but basically, his suggestions were shot down, even though he was the person who was doing the work. The person who shot him down didn't really have any testing or sign-off experience; the idea wasn't shot down based on any specific things that had gone wrong, people were happy with his work, the idea was basically shot down because someone with less experience just 'felt' it was wrong. In that situation, they implemented a process they just seemed to make up on the spot, which after a few weeks didn't work and had to be changed. As a contractor, I bump into this issue a lot. I get brought in as a CMS expert. I've been doing web projects for over a decade now, working agency and client side, so I'd like to think I have a fair amount of knowledge instructing web projects and coming up with a sensible plan. I can start a new project, come up with a plan and then someone will quite frequently object to it, even though they haven't had any CMS experience, or web delivery experience before. It can definitely be a tightrope to navigate. Some companies like to hire 'experts' but in reality, they're not open to their suggestions. As the example above, if you have someone who has a lot of experience in a particular field, my suggestion would be to listen to their advice, go with their ideas and then if those suggestions don't pan out, change them. Instead, I tend to see a lot of people making decisions, based on their own agendas or egos and make a plan up on the spot. It might be helpful to think about things first.
1. Take a deep breath. It's very tempting and satisfying to tell someone exactly what's on your mind, but don't. In the workplace always act professionally, no matter how angry or disrespected you feel, sleep on it and act with a level head. The world really is quite a small place and you never know who you might work with again in the future. 2. Speak Up. Some contractors I've worked with over the years won't say anything when their ideas are shot down. They simply keep their heads down, collect a paycheck and then moan about it in the pub on a Friday night. Being a good advisor is always easy. The company are paying you as an expert, so you should speak your mind. The best way to do this is to take a step back and write the business benefits that your approach will bring and also the benefits the other approach will provide. To get an idea over, you really need to make it less personal and more factual. If it sounds like you're just being opinionated, then you will be ignored. 3. Leave. Life is too short to be unhappy and if you're working for a company that doesn't value your contribution, then you'll be able to find somewhere that will respect you. I like to compare this situation to going to a gig. I think most of us have stood in a crowd and then someone really tall has walked in front of you and blocked your view. In that situation you wouldn't stubbornly stay in the same spot and ruin the rest of the evening, you'd move to another spot so you can enjoy the experience. Work is exactly the same, if you're not happy and you don't move, at some point, it is your own fault. In most cases, I would only say consider leaving if you repeatedly feel like your suggestions fall on deaf ears. In most situations, you should be able to find the middle ground. 4. Find the Middle Ground. Software design involves compromise. Unlike a maths equation, there isn't a single right answer to design. Multiple techniques, processes and patterns can be used to get to the same end-goal. Some approaches will be a lot better than others. Some solutions might be the correct ones but due to constraints outside yours or your client's control, just are impossible to use. In most instances with a bit of consideration, a modification of approaches can lead to both parties being happy. When you're trying to figure out a compromise, it's worthwhile highlighting that your reasoning is not self-serving. Highlighting the pro's and con's of both approaches can help you become more objective. 5. Don't say I told you so. If a client doesn't take your advice, even if you 100% know things will go wrong, don't say I told you so when they do. This one can be hard to stop. I've definitely experienced this throughout my career. As a contractor, I work with a lot more companies than a permanent employee ever will. As part of these constant movements, you get to experience different cultures, processes, and personalities. After a few years of contracting, you definitely see certain patterns emerge. Certain ways of working on a project make life easy and simple, others will cause you sleepless nights and endless frustrations. When your advice is ignored and you find yourself in the issues I've highlighted, resist the urge to say I told you so. At this point don't act as smug and refuse to help. Personally, if this situation is regularly happening to you, see the points above. Sometimes it's better to leave. You can drag a horse to a river, but you won't be able to force it to drink. Some companies really don't want to help themselves.
Software Architect, Programmer and Technologist Jon Jones is founder and CEO of London-based tech firm Digital Prompt. He has been working in the field for nearly a decade, specializing in new technologies and technical solution research in the web business. A passionate blogger by heart , speaker & consultant from England.. always on the hunt for the next challenge