I heard some opinions on this the other day and I really wanna hear from some people that know their shit.

Keeping in consideration todays push for micro services, should architectural abstraction be fine tuned prior to their need or should abstractions be built out and code migrated when the need arises?

And when I say abstractions I dont just mean class abstractions or module proxies but anything that can in any way be abstracted further.

My opinions kinda swayed towards abstract later. Facebooks taken that approach with messenger and most agile books or DDD speeches i hear today preach the idea of not complicating shit too early.

At my company this is a tense talking point because we have alot of salesforce, google and office integrations so the abstractions are UNREAL. My opinions many seniors see they're ability to abstract into clean patterns as a trait they value themselves on. Quick and choppy over extending to hell is a junior trait and is what separates the cream from the crop.

I really despise that notion because I really despise chopping through their endless hierarchy of classes.

And so help me someone comments "use erlang or haskell"

  • 1
    Just wanna throw in that the whole Start Up thing was build around: "Lets do it fast, we throw it away and replace it later anyways."
    Also leaving a dot
  • 0
    @Rotten I agree and find micro servicing as a way of making rewrites more reasonable. Ideally micro services should be a two week to month rewrite.
Add Comment