job.answiz.com
  • 4
Votes
name
name Punditsdkoslkdosdkoskdo

How to choose code design effort or laziness in Bank world

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 ?

At my company, we conducted a series of workshops based on Clean Code Developer. The purpose was to create a forum outside of the normal day-to-day business with its hectic and deadlines and foul compromises, where developers could learn about software design principles (like you mentioned), programming techniques etc. and reflect on their projects and their own work.

Real-life examples from actual projects were discussed as well. Feedback from the participants was AFAIK very positive. It's hard to measure an actual benefit, though.

Attendance to those workshops was partly on company-sponsored time, partly the participants' own spare time. You won't reach those colleagues who don't care about learning and simply want to do their job and go home, but for anyone else who has some interest in his own work left this might be interesting.

  • 0
Reply Report

But, a majority of developers came to me in order to precise that all my code is too complex for reading comprehension

Has it occurred to you at all that they may be right?

I worked with someone who put a lot of effort into writing code which he described as elegant. He spent a lot of time decrying other people's work as not being elegant. When it comes to be necessary to maintain code his code is not the code I would chose to be modifying. It is so precise and exacting that changing it is deeply fraught with danger.

The interesting word you mention here is "complex". Code which can be described as complex can rarely be also described as particularly good.

  • 0
Reply Report

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".

  • 3
Reply Report