Last month I started to learn and use C# for work. Everybody on the team is new to .NET. But in a Scrum environment, we have much to deliver with very little time (or no time in this case) for training. So I picked up a book or two and dived right into it…
At first I was so excited about Visual Studio 2005′s design view for all our UI need. Comparing to Java, I used to hand code every bit of UI code in a third-party SDK that’s a subset of AWT. We had to write tons of inner classes for event handling. C#’s delegate makes things sooo easy.. It’s like a dream. =)
Then when I started to work on the code, I found Visual Studio 2005′s refactoring support to be terrible comparing to Eclipse or IntelliJ. It’s a pain to move code around, or trying to change signature of a method. I won’t know what’s wrong until I compile. How I miss Eclipse & IntelliJ’s real-time error detection…
Then I found ReSharper. That’s like a heaven-sent gift! I spread the good news about it to my teammates and one of them commented “I don’t know how I have coded without it!” =) Great job in run-time error detection and tons of refactoring. I loved it, can’t live without it now.
On a different matter, I agree with one of my coworkers that just because you did it once, you become the dedicate person to do it in the future. She became our graphics person, though her title is User Experience Lead. I somehow become our team’s UI person just because I showed some interest in doing Ajax a while back, and devoted one week on trying to fix some UI bugs on the all-dreaded-Javascript code.
But I am starting to love this role. Everybody on our team likes to do hardcore Java, all the server side, database, web services, multi-threaded, multi-platform/multi-server support stuff. Nobody cared about doing UI before I came on board I guess. And now I get to work on stuff that pleases one’s eyes, easy to use, functional, intuitive, and, did I mention sort of pretty? Ha! It’s actually quite fun. But sometimes I do miss all my desire to do architecture and design work, as well as coding and debugging like a “real programmer”.
Can’t do both I guess.