Here are some classic posts that I need to sort through and organize:
Here are some software philosophy thoughts:
Here’s a collection of programming advice from people reflecting on their career.
In this article, Marcus Buffet consolidates programming advice that he’d give to himself 15 years ago. Here’s the advice he gives:
Advice entries 2, 7, and 10 resonate with me. I had a senior co-worker that managed his efforts really well. He designed and maintained a complex authoring system for demanding customers. When looking through his code, you’d occassionally see something and wonder “why didn’t he write this more flexibly?” He didn’t need flexibility. He needed to fix a problem in a short amount of time. The code would only be used for that application. If it needed to be changed in the future, it could. It was good quality bad code. I admire the skill to recognize what you don’t need.
Regarding difficulty and incidental complexity: I appreciate that this advice takes a trigger (can’t explain difficulty) and pairs it with an action (reassess complexity).
Number 11 is controversial in the comments. In my own experience in enterprise tech, it’s more often true than false. Mostly because number 12 is inevitable in the enterprise world. Actually, I’d argue that number 12 underlies every other point in this advice. Ironically in enterprise tech, the technology is transitive, but how people feel about you after the focus shifts endures longer.
source via RSS
As part of his series about learnings from auditing startups, Ken Kantzer lists five common “foot guns” that he calls the hardest to undo.
Number 5 is interesting. Sometimes it helps to have an expert identify things that you don’t know to ask. Sometimes, it’s better to bump along and maintain a so-called WTF notebook, so that you might smooth the road out for people that follow you.
source via RSS, last accessed 2024-07-26
Ken Kantzer discusses warning signs that rebuilding a s
Takeaways - I think Ken hit the nail on the head that people want to rebuild because reading code is harder than writing it and that that’s not a compelling enough reason for a scrap-and-reubuild.
Note: I think Joel Spolsky first articulated that code is easier to read than write, therefore everyone wants to rewrite.
My approximate definition of incidental complexity: complexity that you brought on yourself through previous design choices.↩︎