The way I see it is it's all about experience. Now that you've experienced that week of trial and error you can complete a similar problem in 5 minutes, whereas someone inexperienced who doesn't have the knowledge you do will certainly take much longer. The people who are fast coders have just done more trial and error in the past and know how to deal with problems effectively.