jayar95 | 3 years ago | on: Ask HN: Why did back-end development explode in complexity?
jayar95's comments
jayar95 | 4 years ago | on: libmill - Go-style concurrency in C
jayar95 | 4 years ago | on: The [Rust] Core Team Is Toxic
Thank you, I loved this haha.
jayar95 | 4 years ago | on: Flowchart: How should I run containers on AWS?
jayar95 | 4 years ago | on: Flowchart: How should I run containers on AWS?
jayar95 | 4 years ago | on: In Go, pointers (mostly) don't go with slices in practice
jayar95 | 5 years ago | on: Logging Everyone Out
jayar95 | 6 years ago | on: Why Are So Many Developers Hating on Object-Oriented Programming?
What hath God wrought
jayar95 | 7 years ago | on: Beware of Google Bearing Gifts
jayar95 | 7 years ago | on: Unheard History of Bodybuilding Forums
jayar95 | 7 years ago | on: Making Video Games Is Not a Dream Job
jayar95 | 7 years ago | on: AirPods with Wireless Charging Case
jayar95 | 7 years ago | on: A JavaScript-Free Front End
jayar95 | 7 years ago | on: Ask HN: How to speak like a leader, not like an engineer?
jayar95 | 7 years ago | on: Elon Musk’s Security Clearance Under Review over Pot Use
jayar95 | 7 years ago | on: The most important software dev skills aren’t technical
jayar95 | 7 years ago | on: The oddly beautiful and sometimes disturbing artistic talent of drug cops (2015)
jayar95 | 7 years ago | on: Show HN: Pipe To Me – Stream data over HTTP using curl
jayar95 | 7 years ago | on: A backyard mechanic who is taking on Tesla
jayar95 | 7 years ago | on: The oddly beautiful and sometimes disturbing artistic talent of drug cops (2015)
Edit: I do want to say that decriminalization is probably the most hopeful option of them all, I just think it's going to take forever, generations probably. This is really a public health issue in my opinion, it's just not treated as one :/
I've worked on everything from dinosaurs older than me to new greenfield projects using all the latest tech. I think over-complexity emerges in many ways, notably: too much abstraction, ignorance, dogma, and just straight up carelessness.
I think the abstraction problem is the most common and severe though. In enterprise software, I've spent an entire day in the past combing through several layers of services and repositories just to get the full picture of how a response object is being created for a single controller method.
Let me give another example: think about the great debate over ORM vs No-ORM. It's fundamentally a battle about the balances and costs of abstraction in software development. On one hand, you have a (hopefully) simple interface for defining a db's schema, but do I really want to obfuscate the developer from the implementation details of that `findBy` method and trust that the ORM will be 1) used correctly and 2) generate a performant, sensible query? What about security handling? Should I have my developers concerned about preventing potential SQL injections, or just let the ORM take care of that too? The answer depends on a lot of things.
Anyway, I believe for every abstraction:
- something significantly useful should be added (this seems like a truism as I write this, but i've seen a startling amount of useless abstractions)
- the cost should be carefully calculated
- understand where complexity is being added and subtracted
I believe thinking about abstraction in this way would've cut down a lot of the complexity I've seen in softwares past.