Java Design Patterns – Code Design Effort vs Laziness in Banking

designdesign-patternsjavasolid

I've worked for two years in a great Investment Bank.

I made some technical projects with the desire of creating code the most optimized, respecting the adapted good design patterns, SOLID principle, law of demeter and avoiding all sorts of duplicate codes …

When delivery in production => zero bugs, all has happened as expected.

But, a majority of developers came to me in order to precise that all my code is too complex for reading comprehension. I listened for instance : "make some if and instanceof, forget polymorphism so that it will be very easily to correct emergency production bugs". I didn't prefer to answer ……

Knowing these developers are not curious at all, refusing efforts to understand a good design (for instance, 90% of developers don't know what is a Strategy Pattern and make procedural code and never oo-design because they want, they said, simplicity), my project managers told me that I am really in the wrong way and too idealist for the Bank world.

What would you advise me ? Should I keep desire of really good code or adapt me to majority of developers who are, I repeat it, really not interesting by design code that is according to me, all the beauty of our developer job.

Or in the contrary, should they learn basic OO principles and best-practices to adapt themselves to my code ?

Best Answer

my project managers told me that I am really in the wrong way and too idealist for the Bank world.

GTFO!

Time to leave and pity them. Why should you give a fuck? You know it'll cost them money in the long run with their incompetent staff. This ain't a game of technical discussion. This is about politics. Have them train the other developers or GTFO! If you haven't got enough political weight, then GTFO! Search for a company with better practices.

The only reason to stay there is an adequate compensation for your headaches. So they better pay way above average or GTFO! I doubt you can grow there as a software developer as well. Growth in our profession is mostly achieved by working with people who are better than you and who encourage best practices. And the better you are, the higher is your market value to companies who care.

Yeah, I know this ain't one of my usual answers but really, if you can't play the politics game in this company, GTFO.

What would you advise me ? Should I keep desire of really good code or adapt me to majority of developers who are, I repeat it, really not interesting by design code that is according to me, all the beauty of our developer job.

I would not work for a company which wants me to provide suboptimal solutions. I wanna carve my name into the software. I want to be proud of it. I don't write procedural applications in languages based on the OO paradigm. I believe in high quality software and if the company doesn't, I'll GTFO! Hope you got enough "fuck you money".