1/04/2011
Retrospection: the mistakes I have made these years
Someone told me, it took more than 10000 hours repeated practices to make a professional mature. I am still far away from the standard, but after 5 years of programming as my profession, I realized I already made so many mistakes, that worth some conscious retrospection.
One presentation I did not watch but really liked their slides: http://www.infoq.com/presentations/LMAX. In the slides, they said:
On a single thread you have ~3 billion instructions per second to play with: to get 10K+ TPS if you don't do anything too stupid.
I have to say, I did do many things smart at first and turned out to be stupid, which made the ~3 billion instructions per second hardware helpless to the project. Not just about performance, there are many mistakes leads to other symptoms as well.
Sometimes, the "I" here can be substitute with "We". I am sure, and I have seen other people made same mistakes as I did. As poor software developer, we do not have control of many things, but code at our hands. It is not surprising people spent a lot of time to make their code "smart". A lot lessons can be learned from those smartness.
I do not have a full list yet, but as a start I will list some here. As this blog is primarily technical, I will keep the items mostly relevant. If I find time I will complete them one by one:
- How build tools re-invent scripting language and command line, especially msbuild.
- The evil of lazy loading
- Other evil things of ORM
- How to hack your dependency injection tools to be a rocket science
- Build castle on top of sand, aka outlook and isolation
- Anything related to Microsoft is evil, especially COM
- Encapsulation might helps initially, but not that helpful as you expect, even harmful sometimes
- Re-invent the wheel, in many ways and how to make reasons to make it looks good
- Abandoned architecture is even worse than wrong architecture
- ...
Subscribe to Posts [Atom]