Monday, October 24, 2011

The New Environment

I just recently posted about moving on - the decisions I made, why I made them and what I feel about it...

Well, now that only two 'innocent' weeks have past since I started working here, I already have a lot to say about this. Off the bat, the decision was brilliant! The people here are great. Each one of them has many experience, each in his specific field, and they love doing what they do best. They also enjoy helping others and making sure the 'team' does a great job together which is amazing.

I won't even attempt to name all the new things I've learned during this short period working here, but just to name a few -

Agile :
DSM's, Poker Planning, and Retrospective meetings are all great ways to keep the team focused. They don't get in your way, and they always keep you on track with what's going on.
In my previous job, there were times when some people in the team don't know what some of the others are doing. This can cause a lot of code to be rewritten for no reason, people to be spending time on bugs that someone else on the team knows how to fix and poor design since the more people involved in the design the better it will turn out to be.

Productivity :
Everyone here is super productive and it seems like they dedicate time finding ways to be even more productive.
ReSharper is one of the gems in the field!! I never realized how much more coding can be done when you just have the right tool and I don't want to even try to imagine going back to programming without it. (This is said without even knowing half the features this tool has, even just knowing about Ctrl+T & Ctrl+Shift+T are enough!!)

Coding :
The first two weeks here the team leader let me solve bugs on the system, which I think is a brilliant way to learn the code. If the bugs are well chosen, then you will even learn everything there is to know about the system you'll need to work on very soon. While looking at the code, and fixing bugs, I learned a lot about designing good and maintainable code. I'm not gonna say it's perfect, as in every place, but there are so many concepts in design patterns I've learned just from debugging and reading the code.
Just some of the new concepts I've learned here are : IoC - Heavy use in many brilliant ways of the windsor container. Convention over Configuration - Never realized the great power of this concept before, how it effects your code and why you should always keep it in mind when coding. Continuous Integration - This is amazing! Never thought it would be possible to deploy to production so many times a week or even day! Selenium - Great automated way to check your web application across browsers. And the list goes on....

Hopefully I'll be posting more now that I'm learning a lot of new stuff.... :)