Archive for May, 2007
As promised, here’s part II of this post.
This is a great tool that aids learning the .NET framework: FxCop (or Code Analysis in Visual Studio Team System). FxCop analyzes assemblies and checks whether the code conforms to a series of rules, which go from performance-related rules, to interop, naming convention, security, globalization, etc. If you’re not familiar with FxCop, check out this video about it.
It’d take forever to read all the documentation at MSDN on those topics, and nobody would do that before writing code anyways; it’s much easier to write the code, and then run a tool to analyze our code and tell us what’s wrong, or what could be improved.
Brown Bag Meetings
Another thing we’ve been doing at the company here is Brown Bag meetings. We do it once a week. Basically, every Wednesday, everybody who’s interested will bring in their lunch (hence, the “brown bag”), and we all have lunch at the conference room together, and we take the moment to share tips & tricks.
Everybody brings something in. It can be a new shortcut the person found out, a new tool, an article, a book, anything. Don’t be afraid of mentioning about something that you think everybody would already know: nobody know everything, and somebody may benefit from your quick tip.
Somebody may also choose to do a quick demo of something that he or she has been working on, what kind of cool things are in there, what kind of hurdles the person has encountered, etc. That is great to keep the team aware of each other’s skills and knowledge so that people don’t spin their wheels trying to figure out something that somebody already has a solution for. Also, it’s great for the person to get some feedback from the others; who knows, somebody else may have some great suggestions after seeing something you’re working on.
Now, in case you don’t have anybody in your company interested, well, maybe you could team up with the neighbor next door. Or in case you are really on your own and have nobody to team up with, maybe you could start blogging about the things that you’d be sharing with somebody else. At the very least, you’d have some where to look up the stuff that you once found to be interesting (in case you forget). 😉
Certification Study Group
One other thing we do here: certification study groups. Twice a week, again, during lunch time, we get together and study together aiming for any of the Microsoft certification exams. We choose one preparation book, and we cover one chapter by meeting.
On each meeting, somebody will take the lead, by trying to learn a little more of the chapter and centralize the questions. This is a great way for the team to build knowledge together. Besides learning a lot, each person at the end can go take the exam and eventually become certified.
Tomorrow morning I’m flying out to Montreal, Canada, to speak again at DevTeach. I’ll be doing three sessions:
- New Features in C# 3.0
- Tips and Tricks to boost up Productivity
- Intro to MSBuild
I’m also looking forward to check out some of the sessions both on the Agile track and on the .NET track in general; there’s a lot of great content out there, and I’m planning to attend to a couple of sessions.
Oops… dang. I forgot to mention I was going to be speaking at the Houston .NET User Group tonight. I did my talk on tips and tricks to improve productivity (based on the the posts I’ve been blogging here on the subject), which I’ll also be presenting next week at DevTeach.
You know, when I thought of putting together this session, I wasn’t totally sure people would enjoy it, but I’ve presented it twice now, and I’ve got great feedback on it, so I’m really happy about it, since this is a very laidback presentation, very fun to deliver. 🙂
I’d like to say thanks for everybody who showed up at the HDNUG tonight. It’s always great to speak to my folks back home. 🙂
Oh, and by the way, if you were at the HDNUG presentation, make sure to check out the recent posts to my blog, since I’ve been posting things with more detail then what I have on the presentation (oh, and the powerpoint slide deck should be available at the HDNUG web site shortly).
It seems we’re having some kind of problems getting the material I’ve presented a few weeks ago at the Dallas CodeCamp up on the camp’s website. I’ve uploaded it to my personal website this morning. You can get it here.
By the way, I just got back from the Advisor DevCon. Boy, when I was getting to the airport, I thought I wouldn’t make back home… there were a bunch of police vehicles at the airport, including some Bomb Squad cars… I was like "uh-oh, I guess this is going to be a mess…". It turns out it didn’t take two minutes to go through security, and everything was fine. I don’t know what was going on.
There are two kinds of people: those that learn something back in college and are glad that they can live their life comfortably with just that knowledge, and those that enjoy challenges and a job that’s constantly changing. I definitely fit into the second category; I love the fact that, as a software developer, I have to be always learning something new because of all the new technologies and techniques that are always coming up.
However, it’s been getting harder and harder to keep up with all the new stuff, and even with things that aren’t even considered "new" anymore, but that I feel I’d like to at least to a little bit more about it (heck, it won’t take too long until .NET 3.5 is out, and I always feel bad when I run across some feature introduced in .NET 2.0 that I haven’t even taken a glance at…).
Even though I have no ambitions to get to learn everything that’s out there (that’s not even possible, right?), I really want to keep up with at least "hearing" what’s out there, because that often comes in handy at some point.
My main complaint (and from a lot of other people out there as well), is that I don’t have time to keep up. That’s one reason why I’ve started this whole series on how to be a little more productive; I figured that if I can shave off some minutes here and there on tedious tasks, I could use that time for something else. I think it’s been working out well for me.
So this is how I’ve been trying to keep up with learning a few things here and there (I’m breaking up this post in two parts… this is the first one)…
You’ve never heard of podcasts? Woah, come out of that cave!! 🙂
Every time I’m driving around, waiting at airports, flying, going at the grocery store, working out at the gym, whatever, I always have some podcasts loaded into my MP3 player. Since I don’t have a long commute to work, there is not a lot of podcasts that I can subscribe to, so I’m keeping my list down to only two podcasts that I listen to every week: .NET Rocks, and Hanselminutes.
I’ve been listening to .NET Rocks every since they’ve started (like 4 or 5 years ago?). Their audio quality is great, the quality of the content is great, and it’s free. Can’t beat that. I’ve also been listening to Hanselminutes from the beginning, and it has also the same quality mentioned about .NET Rocks.
I have to say I haven’t looked into a lot of other podcasts out there, but I keep hearing that they don’t come even close to .NET Rocks and Hanselminutes, so I’m just happy sticking with them.
So, webcasts are similar to podcasts, but they’re trickier to follow, since they demand you "watch" them, which you can’t really do when you are say, driving around. But dang, there’s a lot of good content out there, and I’d like to get a least a little bit of it.
The main webcast I try to follow is DNRTV. This show is put together by the same guys of .NET Rocks, and it offers the same level of quality. Every once in a while I check out the videos at Channel 9, as well as the other ones available at MSDN, but I don’t follow them as I do DNRTV.
Of course it’s hard for me to find time to just sit there for an hour and watch the webcast, so I had to find someway around it. The other day I’ve blogged about how I work with dual monitors. What I didn’t mention there is that I also keep my laptop sitting on the left side of my desk. What I do is I launch the webcast on my laptop, and let it play while I’m working, and I basically "overhear" the content.
As I’m waiting for my main computer to process something, or open a new program, or going berserk and causing a reboot, I turn my attention to the webcast. Also, every once in a while I overhear something that I feel I’d like to pay more attention to it; what I do then is either a) stop what I’m doing and pay attention to the video, b) stop the video and resume it when I get some 5 minutes to pay more attention, or c) make a note to myself to go back on that video and watch some specific part of it.
Doing this is kind of working on an environment where other people are working and talking around you; every once in a while something they say catch your attention, and you end up partaking the conversation. Granted, it’s impossible to absorb everything that’s been shown on the video; however, if I can pick up one little thing in every video, I’m already better off than not learning anything at all. So I also got into the habit of replaying the same video a few weeks later so that I may end up picking up another thing that I didn’t get the first time.
Again, better learning one little thing everyday, than nothing at all. 🙂
Blogs are another trick one, since you need your eyes focuses on them to read (unless you’re using one of those robotic text readers to read them for you. I tried that once and didn’t like it that much… I may try that again at some point).
There is a lot of blogs out there, so it’s really hard to decide which ones to follow. I have a very small list of blogs that I subscribe to (about a dozen or so), and I’m trying to keep it that small. The blogs I subscribe to are either the ones that I know the quality of the content are REALLY good, or the ones from a few friends of mine, so that I know what they’ve been up to.
Here’s a list of some of the technical blogs I follow:
- Scott Guthrie
- Scott Hanselman
- Mark Miller (being a CodeRush user, I can always pick something up from Mark’s posts)
- Rick Strahl
- Markus Egger (I guess it’s smart move to read what your boss has to say, right? ;))
- The guys from CodeBetter
I’ve been making sure I always load my PocketPC with blog posts so that I have something to read when I’m somewhere doing nothing (again, like flying, waiting in line for something, etc.).
Alright, that’s it for now. I have a plane to catch. Stay tuned for Part II of this post.
This coming Monday I’m flying out to LA for the Advisor DevCon. I’ll be speaking both on the VFP track (mostly doing the .NET to VFP developers kind of material) and on the .NET track. These are the sessions I have lined up:
- Language Integrated Query (LINQ) for Microsoft Visual FoxPro Developers
- Design Patterns in .NET
- Compare Design Patterns in Microsoft Visual FoxPro and .NET
- Compare Data Access Programming between Microsoft Visual FoxPro and .NET
Too bad I won’t have time to go to Disney.