Quitting because of that is just stupid. In my company CS rules are almost opposite to my preferences (and to common style for that language community of course). I use every opportunity to grumble about it, but it would be much worse if everybody (me included) shaped the code based on personal preferences, not style guide.
I don't understand how these guys were "deadlocked" for weeks.
So, the traditional CTRL+F, or :%s/dialog/dialogue/g would have resulted in at least some instances of 'dialoguegue' as a result. Yeah, the obvious remedy there is :%s/guegue/gue/g, but that too could lead to unintended results, etc.
Not that I don't agree with the intent of your statement, search and replace across 20k lines of code, over however many files, is likely a more involved process than it sounds like.
Or use variable renaming in an IDE that actually parses the code.
dialog\>
...in other regex systems: dialog\b
"dialog" as part of a variable name with underscores: :%s/dialog_/dialogue_/g
"dialog" as part of a variable name with CamelCase: :%s/\([dD]\)ialog\([A-Z][A-z]*\)/\1ialogue\2/g
You don't need to capture every case in a single regex substitution, you can use a handful to cover pretty much every case though. This sort of change should not take more than a few minutes max of developer time.I don't have experience with them, but I imagine an IDE with refactoring support should make these sort of changes trivial.
I spelled it in consistency with everything else in the source code at that time... US English. It was a British company, and I understood that the UI should be UK English, but did not comprehend/believe that variables should be too. Especially as one can't force CSS to stop calling it color.
Particularly given that it's a UK company, the request may be arguably wrong, but it's at least semi-reasonable. Why make such a huge deal over it from either side?
Software engineers are a stubborn bunch. It's kind of necessary given the nature of programming. However, if promoted to an architect, stubbornness is a real problem, with little to no upside.
Architects will usually stick mostly to design and not do a lot of debugging. So that stubbornness is not useful. But it sure can rear its ugly head when it comes to pointless conflicts like this one. And the problem is, all the junior developers are also stubborn.
Welcome to software development. What you want in in a software architect is primarily a diplomat. Not someone who is stubborn.
If there's a disagreement that can't be resolved between the two of them, the architect is the one whose stubbornness I value more. You have managers to be diplomats. You have technical leadership to say, "they pay me more than you because they trust my judgment more than yours. I've heard your argument; I found it not compelling enough to overrule my own experience and judgment, and the decision has been made."
Ideally you have more than one such person to help surface the cases where the architect was wrong, but if you're routinely treating them as though they're no more reliable than junior developers, why are you paying them so much?
I would have done the same thing. If someone is hanging your job over your head over spelling in source code, then the issue is no longer about spelling in source code. It's about dick wagging.
Actually... It's (jokingly) possible :)
What was _your_ reasoning for losing a job over a completely semantic argument?
Did the illogicality of it all really irk you so much that you couldn't stand to change it? What do you mean by saying that you couldn't 'comprehend' why variables should be written in UK English? It seems pretty clear that they should be in UK English because that's what you were told to write them in... at your job...
If this happened as described then I would have loved to be a coworker watching this hilariously petty feud unfold.
I wanted a reasonable work environment that was delivering product to the customers, for the business.
The work in question was 20k lines and involved the whole stack. As it bled into web page stuff that actually had calls to browser open "dialog" commands, no find and replace was going to safely work to now make it comply with the clarification on the coding standards (UK English var names). We would spend weeks changing it and re-testing, weeks in which we were not delivering it.
I felt we were no longer working for either the customer or business, when we were willing to hold back an improvement that would immediately create revenue, for a petty argument.
It wasn't the first time I'd seen this architect do that to others, but I never thought it would happen to me so long as the product was good, the code was good, deadlines were met.
I was no longer convinced it was possible to create work that wouldn't fall foul of some rule or other. And the architect had managed to position himself on the org structure outside of a chain of command, so there was no-one to appeal to.
There are too many good jobs, and good companies, that want to ship product to their customers and build a great business to even consider staying somewhere that doesn't.
It was a very easy decision.
I still would like to see someone that ridiculous operate... Sounds like the most incompetent architect/engineer I have ever heard of.
Sorry for the snark fellow human.
You can get pretty close :)