I joined the IDP developent team late July, 2011. I didn't even know any java then, but the other languages I was good at played a role in understanding java itself. Back then, Innectis was really quite primitive. Lynxy would begin her work on overhauling the lot system sometime later on, and I would start my own work slowly. It was a rough start, especially since I didn't know the code very well. I didn't really have the help that Nosliw did when he joined our team late this July, 2012. Hret and Lynxy weren't as vocal with me as Hret and I were with Nosliw.
Even so, time went on, and I continued to make short features, for months. There was a period, not even a month in, where I didn't provide any code for about a month. At the time, I had priorities elsewhere, and the IDP was not the #1 thing on my mind.
December was when things really got interesting, when I had the task of re-designing the ban handler. I gave it some features that we needed, but couldn't get, as we were using vanilla's ban system. That's when I started to feel more confident about the IDP. Other features came, including the shop system. That system took roughly 11 months before it really turned into something I wanted. Even then, it's not at the level I want, because of lack of support on Bukkit's end.
Time went ahead, and I became more confident about my abilities. I started writing larger systems, and improving existing ones. Up until around July of this year, I was writing just to code. I'll get more into the details on what I mean by that.
Every programmer feels at one point the need to improve upon existing code, and that's just what I did. It really is an art that takes years to master properly, and to incorporate in diverse situations. So many different factors are involved, and I still don't know all of them, but I'm learning steadily but surely. I improved upon the code of others, and even my own code. I still don't think my methods are the most picture perfect out there, but they definitely allow more performance.
I began looking at existing pieces of code, and wanting to improve on that. The reports of constant lag astounded me so much that I wanted to make sure we were as lag-free as possible. I still attempt to strive to achieve this goal. It's not an easy thing all the time trying to squeeze lag out of a particular routine. Once you've done it enough times, however, it becomes easier to do.
Different things inspired me to do this as well. I keep up with CraftBukkit changes, looking to see if any beneficial changes get added, or just if there's a change that I might like. Over the past month or so, Bukkit has striven to include performance tweaks into the code base, most likely stemming from reports of lag by the community. I caught onto that, and wanted to do the same thing in IDP.
That is why some things may work better for us now, than they did in the past. Anyways, I hope this inspires you in a way, if you are a developer, to improve on your own code.