HackerTrans
TopNewTrendsCommentsPastAskShowJobs

farrugp

no profile record

comments

farrugp
·3 ปีที่แล้ว·discuss
Can't wait to read this, really resonates with me as I'm dealing with this right now at a big FAANG company.

In my experience the problem is that as with all things it's all about balance. We shouldn't throw away architecture entirely and write stupidly simple, quick solutions because they will be messy. But we also shouldn't over-abstract things so much that only the person/people who built the system can understand it and work with it. Both could have dire consequences for an organization, making building new features and delivering value to users slow, difficult and costly.

Once I finish reading this MIT paper, I want to dig further into exactly what makes software 'complex'. In my experience:

- too many layers of indirection - overly theoretical concepts not grounded in real world thinking - lack of documentation - bad naming - lack of testability - tight de-coupling - following 'best practices and patterns' without clear justification - trying to solve for problems before they exist

We should be building systems that are grounded in concepts that are easily understandable - which is exactly why Object Oriented Programming has been so successful. We write programming languages as a means of communicating with each other about program logic, why not do it in terms that we as users already understand in the real world?