When my boss look for possible existing solutions for a new problem/request from a customer...
Boss founds something that fits the needs (or he believes so), which means:
a: We have to adopt some external solution made in PHP/Python (no-one here really know that), and support it from now on...
b: We have to rewrite the solution by looking at the publicly available screenshots
Boss does not found anything, in which cases, he picks the most similar module we have in our applications (similar like elephant and mouse - both grey) and now we have to bend this module to server two purposes...
Skipper: We'll fix it. Alex: Fix it? How you gonna fix this? Skipper: Grit, spit and a whole lotta duct tape.
Just a couple of years ago, I arrived at my new job to find the following corporate culture:
1. The IT department had been beaten into submission, and was not guiding the company's tech direction at all.
2. A "business analyst" (self-proclaimed) working in the call center had been implementing his own "systems" written in MS Access. Most "reports" were actually editable query views.
3. All invoicing was done in spreadsheets, and there was no audit trail of who had been invoiced (or who had paid) for what.
4. Said "BA" had the last say on anything I wrote, and was terrified of automation, or any software published post 1998.
5. I had to code in VB6 and VBA, because the not-a-BA couldn't understand C#, and insisted on "approving" all my code.
6. I was forbidden to replace any of his rubbish, because "I was spoiling all his fun".
7. All users had admin access to the servers and the databases.
8. Health and safety insisted on a doorstop being used whenever anyone entered the server room, and then insisted we turn off the cooling system because there was too much noise when we had the door open.
Last month, the not-a-BA resigned, and my blood pressure is slowly returning to normal levels.
...you scare of "local Gods", who turn everything to be how he likes, despite common standards and best practices. Agree 100%!
But most scary thing is these clowns leave the job and spread everywhere how genius they were on position "Senior God of IT department" and asks for position a step (or two) above! And needless to say most of such "hell knows what" came from India after 2-weeks courses "PHP for complete idiots" being given gold stamped "certificate".
Remember that legacy application that's only being used by one client? You know, the one who never complains and has never missed a support payment in 13 years. Now his neighbor has signed up for it. Since it's now not dying peacefully, they've decided that it should be converted/upgraded/rebranded. And I thought I had gotten away with one!
This is the worse, I've never worked with source control. I replaced my latest edit that took me days to complete with the older version in my External HDD while trying to backup right in front of my client. A first presentation, hmm. My luck was the installer package, just have to look at the function workings and do it again, a hell of a job writing code you had suffered to complete before.
I have not once not used any source control, even a humble backup, since I started working as a programmer. When I was teaching myself at home before studying, then I had no clue about it, but the programs ran well within in 640MB RAM, and VB4 only took up 1 or 2 megs of disk space. (I think).
Listen Carefully: If you are NOT using version control... You are NOT A Professional, and your time has ZERO VALUE, IMO.
Before GIT came out, I would have (.SVN and .SVNprod/.SVNlocal) folders, and swap them so I could commit my changes more frequently to a local repo, and then when I had solid code, I would swap them, and commit to the production repo (which affects others).
OMG, the thought of not using version control. One client was doing ASP work. He fought tooth and NAIL to "not have to learn anything new", but I forced him. He apologized once a month for 6 months for resisting it for so long! Agrees that he sleeps better now, and has zero fear to clean things up, because he can always recover a file if he was wrong.