My coworker is opposed to the
Single Responsibility Principle. Of course, he doesn't know it's called that because he doesn't understand OOP at all, even though we're working in C#. (he doesn't know what an interface is or what static means, just as an example).
He asked for help in writing some code that reads data from a database, sends it to a server, and deletes it once the server confirms it has it. He was struggling putting all of that functionality into his one monolithic class. Since he's reading several different types of data, from different places, and they need to be read and deleted in different ways, I suggested that he make a class just for uploading, instantiate one for each type of data, and that it should depend on a class to do the selecting and a class to do the deleting. I drew out what I meant on the whiteboard since using words doesn't leave us on the same page. (and by draw I mean I wrote the code for the whole class on the board since he doesn't understand any kind of diagrams)
He does not like the idea of code being "hidden behind classes." He believes it makes it harder to find what a class does. He believes that having too many classes (more than 1..) makes code super complex and hard to read. He really dislikes the idea of a class having only one responsibility, and letting other components worry about their job. He thinks that is "just passing the buck". He wants all the code in one file, in one class. "without all the class garbage."
I am just tired of it. He has 10 years of experience, which he loves to remind me of, and yet he still doesn't understand anything. He refuses to learn, because he thinks anything that he doesn't already understand is stupid. He has a really bad attitude (the definition of toxic employee fits him perfectly).
Sorry, had to rant. I feel better now.