Programming: Doing it more vs. doing it better
kevinmartinjose.com
Programming: Doing it more vs. doing it better
1–10 of 223 posts
Re: Programming: Doing it more vs. doing it better
#2Well, three years is really not a lot when it comes to developing an intuition. Just enough to grasp some basics.
> a writer is someone for whom writing is more difficult than it is for other people
Yeah, I seem to recall Douglas Adams saying that the easier it is to read a text, the harder it was to write it.
At the beginning of my career I was constantly being praised for how fast I work. Well, I did stuff that worked, the effects were quickly visible, everyone was happy.
Even though there were code reviews to weed out the ugliest stuff, I wouldn't want to go back and maintain that software today :P
Re: Programming: Doing it more vs. doing it better
#3Here's another dubious analogy: when learning music, you do need to practice, but playing a song all the way through a bunch of times is a rather inefficient way to practice it.
Re: Programming: Doing it more vs. doing it better
#4One of the biggest mistakes (the biggest one is probably not writing tests) I see junior engineers make is trying to optimize before fully understanding the required functionality.
Re: Programming: Doing it more vs. doing it better
#5By that metric George R.R. Martin is on track to be the greatest writer of all the time :)
Re: Programming: Doing it more vs. doing it better
#6Re: Programming: Doing it more vs. doing it better
#7Because only then, i don't fear refactoring later.
So i'll get my goal: Easy refactoring for fun and profit.
Refactoring is often underrated. Actually i learnt more from refactoring rather than "just make it work perfectly since day 1.
Re: Programming: Doing it more vs. doing it better
#8I do find that a lot of programming stuff that used to be hard is easier for me now that I've been progrmaming for 38 years. But that doesn't mean I spend all my time doing things I can do without thinking, and it certainly doesn't mean I write code that doesn't need refactoring. Maybe my designs are better than they used to be — I think so — but often that's because I developed the design more incrementally through refactoring, rather than less incrementally by planning.
I do avoid a lot of errors by thinking through the consequences of a choice before taking action, in a way that I couldn't always do. But often that choice is specifically the choice to plan out a big design at the start of a project.
Also, though, what counts as "big" has changed for me. What I can hack together in an afternoon now might have taken me a week ten or fifteen years ago. So I can explore alternatives with less risk, in a way.
The author describes a lot of anxiety and guilt about doing things imperfectly. I think that's a big obstacle to improvement — other people can pick up on that and will be reluctant to give you feedback, and feedback from other people is a really fast way to improve. Also, it tends to shunt you into tasks that don't challenge you enough — it pushes you to avoid risk, and pushes other people to not ask you to do things that are at the limit of your abilities. This is precisely the dynamic Atwood was trying to combat by telling his story.
Re: Programming: Doing it more vs. doing it better
#9>> The best writers write much more slowly than everyone else, and the better they are, the slower they write. By that metric George R.R. Martin is on track to be the greatest writer of all the time :)