Hacker News new | ask | show | jobs
by jrochkind1 1407 days ago
> the fact that this was his 2nd attempt at writing this, after he wrote a similar library in Ruby.

I've seen and personally experienced that again and again.

While you don't always have the luxury of doing it, I think we make a bit too much from the "Second-syndrome effect" -- that says building it a second time will invariably be over-engineered -- and not enough from "build one to throw away" -- ironically both are from Fred Brooks.

Also under-estimate the value of domain knowledge, understanding the use cases and what needs to be done. If you've already built a thing (OR have intimate knowledge of a thing), and you know where it succeeded and failed, you can often use that knowledge to figure out the elegant design that will fail less and succeed more.