Profile picture of David Paul McQuiggin
David Paul McQuiggin
[Remote] .NET Lead Engineer | Solution Architect | CTO | Azure | Data | AI
Follow me
Generated by linktime
November 8, 2021
I'm not sure I totally agree with all the points in this article, some are valid and familiar to me, but I have to add that a lot of the systems I have worked on, have had 'accidental complexity'. By that I mean that decisions on architectures tend to be made, but never fully implement by the time another business imperative comes along, and the implementation is never quite finished. I think most of us would be familiar with working with systems that have components that follow different architectural styles, at the same time. And I don't mean in a deliberate way, as per a microservices / API first approach, but literally none of the approaches ever had time to come to fruition, before it was side-lined by another initiative. That in turn leads to a high cognitive load, and the type of job specs we see all the time, where a developer is expected to know many, often contradictory skills. Perhaps it's not always the technical team that is at fault, but also the business must share the blame... #complexity https://lnkd.in/daEQDaFa
Stay updated
Subscribe to receive my future LinkedIn posts in your mailbox.

By clicking "Subscribe", you agree to receive emails from linktime.co.
You can unsubscribe at any time.

November 8, 2021
Sunday evening take: One thing I dislike about working in software development over all these years, is that so much time is spent arguing over software ideology, as if there is an absolute perfection or one true way. e.g. SOLID is guidance, to be taken under consideration, applicable in some scenarios and not in others, it is not the word of god / the one true way. Developers spend too much time fighting over their interpretation of what is basically other people's opinions, something they have read very recently in a blog or seen in a course, as if it is some sort of divine inspiration. They then point-score as to who has the most perfect understanding of the opinion of someone who wrote a book about their own experience, but has no idea of the realities of the project you are now working on. I have been in so many code reviews, where developers were obsessed with arguing over the minutiae of a particular line of code and how it does not meet framework guidelines / latest C# language syntax / a specific pattern in a book, that they completely missed that it did not actually meet the business requirements. Guidance such as SOLID, Clean Coding, DDD etc. is fine if you treat it in the same way as 'look both ways before crossing the road', but not 'you must spend 10 seconds when looking left, and no more than 1 second later, look right for 13 seconds, or a successful crossing of the road will be deemed inadmissible' Be pragmatic instead of dogmatic, is the best advice I can give, after 32 years of building systems.
21 comments
April 3, 2022