Title: I have recently been involved in the overhaul of an established business with poor output into a functioning early&#x2F;mid stage startup (long story). We are back on track but, honestly, my lessons learned fly in the face of a lot of currently accepted wisdom:<p>1) Choose languages that developers are familiar with, not the best tool for the job<p>2) Avoid microservices where possible, the operational cost considering devops is just immense<p>3) Advanced reliability &#x2F; redundancy even in critical systems ironically seems to causes more downtime than it prevents due to the introduction of complexity to dev &amp; devops.<p>4) Continuous integration seems to be a plaster on the problem of complex devops introduced by microservices.<p>5) Agile &quot;methodology&quot; when used as anything but a tool to solve specific, discrete, communications issues is really problematic<p>I think overall we seem to be over-complicating software development. We look to architecture and process for flexibility when in reality its acting as a crutch for lack of communication and proper analysis of how we should be architecting the actual software.<p>Is it just me?
Upvote: