Why is it so in mobile development that 90% of projects does not have proper architecture, and when there is one, devs complain about it. I don’t see it being a case for other technologies of development, only mobile. In mobile the project always has spaghetti code, barely any abstraction it is developed just to be finished as quickly as possible and that’s it. And when there is clean architecture introduced, everyone complains. Why is it just a case in mobile development?

Just disclaimer: It is not like the architecture in project is completely new invention, it uses well known principles and approaches

  • upstream@beehaw.org
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    I’m always wary when someone talks loudly about architecture.

    I’m not saying it’s not important, by all means, but in my 10 years as a professional developer I’ve found that the people who are most devoted to preaching architecture don’t contribute to good architecture.

    I’ve only met a few persons that fit that bill, so obviously nothing statistical, but the experience has left me wary when people start to become loud about it.

    I’m not saying this is you, but if everyone is pushing back it might just be that you are part of the problem, not the solution.

    Architecture can be many things.

    However, there are individuals who believe that the only way is that one way they read about in a book once, or even worse, they’ve read it multiple times and it’s their Bible. Maybe they’ve read multiple books by the same author and has basically adopted someone else’s viewpoints without any critical thinking.

    Exposing yourself to different architectural strategies, viewpoints on architecture from multiple people.

    And remember that all architecture serves a point. It is the job of the architect, and the team, to build an architecture that solves the needs of the project.

    “Clean code”, whatever that is interpreted as, is probably not one of them.

    “Good test-ability”, modularity, multi-platform, performance, package-size, internationalization, accessibility, etc. might on the other hand be needs and goals that can be used to guide the project architecture.

    Uncle Bob’s layer cake probably isn’t.

    If you want better takes than mine on criticisms of Uncle Bob’s Clean Code I suggest to Google it. It might cause you to re-think some things as well.