March 2008 - Posts
Today JP Boodhoo has visited the place I am working for to give a short idea what we should be doing to become more agile and walk the path of true developers. It was short, and we didn't have a chance to hit the base code (code never lies), but this is definitely will wake some up from the Matrix (later on this one).
So what did JP said? Mostly the same things he's being saying lately everywhere - be masters of your profession, put proud in what you are doing by perfecting it, and always remembering that client value is the priority number one. Do not stop trying to do better than you doing now, build you expertise in cores, don't chase the latest technology trends. Value communication with your fellow developers. Be honest with yourself and others on how well you perform and how much you need to improve.
My thoughts on this is - software you create is your face, do it the way you want others to see yourself, so you would not be ashamed, but proud, knowing that one day you will look back later and be able to do even better than that without having any regrets about earlier implementation. Love your profession or quit it.
Among various things in C# 3.0, one of the syntactical sweets that I find quiet useful is the 'var' keyword. Combined with R# intelligence, you create a very readable code that is not cluttered with excessive type reminders. Just enough to keep it strongly typed and readable.
Personally, I favor:
var people = new Dictionary<string, IPerson>();
over:
Dictionary<string, IPerson> people = new Dictionary<string, IPerson>();
Tentity - Database mirrored Table representation in code to mimic the concept of entity, bringing DB awareness, cache and persistence concerns in it, with design driven mostly for the state and some functionality dictated by DB operations to be performed on the data. A complete anti-POCO.
There was an interesting observation made once, that to be happy with what you do, you have to have 2 out of 3 things which are Fun, Respect, and Money. If you have all three, then you are doing great. In case there is only one out of three, it is really up to your spirit, until you move on. Two is a reasonable number if you passionate about what you doing.
From my personal observations, if you are really passionate, you can even have one out of three, and in most cases that would be the Fun of improving yourself, learning, and going forward giant steps, ignoring some of the reality pains associated with it. But if you loose the Fun, you loose the passion.
Svn 1Click Setup - did a very nice job from specifying environment locations and variable to configuring the server and service. Simplifies a lot the whole experience.
Something I have learned from JP Boodhoo lately (and NOT the only thing):
Filename: {SomeComponent}Specs
TestFixture: When{specification}
SetUp: establish the context
Test: Should {expected behaviour}
SUT: exercised component
TestFixture: When {next specification}
Something like SpecUnit.NET would produce
SomeComponentSpecs
- When specification
- Should expected behaviour
- When next specification
Intent-revealing documentation/report
It is nice once in a while to get back to the course or training session you took and make sure that you haven't wasted your time for nothing. This is not about ego, this is about making sure that what ever you know today will be absolutely no enough tomorrow and constantly remind yourself this basic law of software development.
I am lucky to TA at JP's Nothing But .NET boot camp. Unlike MSDN events, NBDN is a whole different story. If you heard of it and were hesitating, or doubting if it is for you at all - my answer would be short - if you are hungry for knowledge and always looking how to improve yourself - get it.
It takes a little to generate a big change, a boot camp like this is that little that you can do to change how you work and what you produce. Check it out!
More Posts