Why I Love Web Developers
I love web developers. I am one, but that's not why I love them. I love them because the best of them refuse to do anything unless there is reason and logic behind it.
Everyone on the Solspace team fits this description. You can't get these jokers to do anything unless you can convince them to do it. Money doesn't work. Threats don't work. Begging doesn't work. The only thing that works is reasoned argument.
Why is this good? This sounds like an awful way to do business. Could the McDonald's chicken nugget fryer work like this? What would happen if you had to mount a reasoned logical argument with the lady who pulls the ice cream sundaes every time you needed one?
Fortunately we're not talking about fry cooks or ice cream handlers here. We're talking about people who, in their skill and experience and technical expertise, are a lot more like licensed and bonded electricians or plumbers or doctors. You can't cajole them into doing something your way the same way you can at the customer service counter at K-mart. The squeaky wheel does not get the oil in web development.
I remember one time, working with one of my most skilled and talented developers, that a client was totally convoluting and complicating a project. They were somehow building up business rules that were so obscure as to be incomprehensible by anyone other than one or two people in the organization. I was lazy so I was handing their directives straight down to my developer. He eventually got fed up with the mess and said he would write no more code until someone could explain to him why things were so complicated. From experience I knew not to argue this point with this guy. He was really smart and very effective. When he said something was a mess, it was. He forced me to go back to the client, do my job and press them to simplify things and make things more maintainable. It was painful, but in the end we developed a system that did hold up over time. We also found that we forced the client to review and simplify their own organization and process. Where the rubber meets the road these days is in the coding of the organization's web applications and websites. Where the rubber meets the road is where an organization gets to find out if its processes are logical and well reasoned or if they are a total mess.
So I love web developers because they bring with them a system of checks and balances. They won't write the code if the code doesn't make sense. They can't. Code must make sense. Code can be written no other way, if it's going to work at all that is. That stupid server you are trying to convince to perform some repetitive task like making an API connection to an SSO system has to be logical since the server is so dumb. If you and the client can't get the business logic to also be logical, how is your developer supposed to get your business logic to fit into dumb server logic? Because of this, the web developer, sometimes to their regret, is in the position of calling bulls**t on faulty business and system logic. But that's good. It's an opportunity to align us all with reality. Reality is a swell thing, trust me.
So don't shoot the messenger (web developer), embrace them instead. They won't do what you want them to do unless it makes sense. They can't and that's their gift to you. If you hire the best ones they will, because of the constraints of their job, force you and your thinking to make sense. If they forget to say "you're welcome", it's because they are heads down writing more good code for you.