I am one of the laziest developer/architect who can translate any business requirements into real world product. I never implement things right away. I like to analyze first and then look for easy wins. Having 10+ years of experience taught me that it is better to wait and understand the exact requirements than jumping into the work without knowing what to do. I like to be productive. To increase productivity, I spend days on automation rather than wasting even a single minute of the day in doing the same thing twice. Analyzing on productivity enforced me to build my own framework which is written on top ASP.NET MVC framework to increase productivity and efficiency (for large-scale users). It was also featured in the national newspaper, can be found at URL: http://www.thedailystar.net/bytes/mvc-bootstrapper-building-system-just-got-easy-120904
Thirteen years ago, I did my first programming, and I didn't have anyone to guide me. Instead of putting "Hello World" into the screen, I started my journey by developing my own database engine. It sounds amazing and absurd at the same time! Thus, my story was little different than many others. Everything was fine until I challenged someone and realized that my system couldn't handle multiple transactions at the same time. Moreover, when file size got bigger it was quite inflexible to make new transactions. Solving all those problems seemed like a mountain of work for a developer like me. It took me a month just to implement SQL like based operator in my own system, although it was very slow. And then I realized that programming is like a game of football. To score in the game, one cannot play it alone or dribble all the time. One needs to pass the ball every now and then. Which can be interpreted finding what exists and avoid reinventing the wheel. Altogether, every experience I have had so far is the harshness of life. Therefore, every lesson I have learned is unforgettable.