logo
  • Jobs
  • About Me
  • Contact
  • Home

Archive for February, 2006

« Previous Entries

Learning Public Speaking

I think that most developers by nature are very introverted people that would rather chew their arm off than speak in front of a group of people. I was absolutely one of those developers, however with the recent changes that have bumped me into a managerial role Im finding more and more that public speaking skills are an absolute necessity to effectively execute in this position.

After consulting with people, I kept hearing that one of the best resources for enhancing your public speaking skills was a club called Toastmasters. I was able to join a local club with a co-worker and am pleased to say that even though Ive only been a part of the club for 4 weeks, Im already noticing a difference.

Toastmasters has been given a reputation as a place to go to give speeches, however, its so much more than that. One of my favorite parts of Toastmasters is what are referred to as “table topics”. In a nutshell, you are given a question or statement and then are required to respond to that for no less than one minute and no more than two and a half minutes. The main skill that this is teaching is the ability to think on your feet and being able to quickly and effectively articulate your thoughts.

This is an invaluable resource, and Im really looking forward to continuing to learn and grow with Toastmasters. If you’re looking to expand your skills in this area, definately give the website a look and locate a club in your area.

6 Comments

What else should I be reading?

Ive been subscribed to blogs.msdn.com for quite some time now, but am quickly realizing that the feed has turned quite noisy. I feel like Im scrolling through a lot of white noise to get just a few nuggets of information.

Because of this, I am deciding to unsubscribe, but part of me worries about missing information. That worry is what is prompting me to write this post and ask you, my readers, what else I should be reading?

I’m looking for high quality technical blogs. My primary area of interest currently is agile development and project management. Im quite interested in the ideas of extreme programming, such as TDD and refactoring.

What blogs are you reading that you cant live without? Im looking forward to your suggestions.

2 Comments

Between a Rock and a Hard Place

Yesterday, I finished what could very well be the best book I’ve ever read. If not, it is certainly in that conversation.

The book is entitled Between a Rock and a Hard Place, and is the memoir of Aron Ralston. You may remember Aron as the very experienced outdoorsman that got trapped by a boulder while canyoneering in the Utah desert about 3 hours from Moab.

This is a very well written and eloquenty told story about the 6 days that he spent trapped by that boulder and strength shown in the face of that adversity, including the thought process that ultimately led to his decision to amputate his own hand for freedom.

The amount of detail that has been put into this story is amazing. Amazing not only that it can be recalled after such a harrowing experience, but also, because we get to see what happens to the human body as it slowly starts dying. My favorite paragraph in the book was Aron’s realization of what hell is.

“In the piercing brutality of the night, I repeatedly escape into trances, but they melt from my memory the moment I return to the canyon. If heaven turns out to be as comfortable as the trances, then what I return to in the canyon is nothing short of hell. Hell is conventionally portrayed as a crowded, infernally hot place — Milton’s Pandemonium — ruled by a horned devil overseeing the torture of lost souls. I know better now. Hell is indeed a deep, chthonic hole, but hot? No. It is a bitterly dark and unbearably cold place of lonely solitude, an arctic prison without a warden and but one abandoned inmate, forsaken even by the supposed ringleader of the underworld. There is no other spiritual energy, good or evil, on which to project love or hatred. There is only one emotion in hell: unmitigated despair wrapped in abject loneliness.”

What an astounding use of words. I could not help re-reading that paragraph several times, and each time I felt more and more the gravity of his situation and the feelings that he was experiencing. This is a fantastic story about Aron’s incredible will to live and clearly shows the strength of the human spirit.

It was tough for me to start reading this book, because typically, as memoirs go they tend to be poorly written, especially when a ghost writer is not used. Michael J. Fox’s Lucky Man is one that I found to be an exception to this.

After getting started, I was amazed by the fact that this was written by Aron, without a ghost writer. Sure, its a little technical, but to his credit, he does include a glossary at the end that includes defintions for some of the mountaineering terms used throughout the book.

I will absolutely recommend this book to anyone, and am certainly looking forward to reading it again and again especially for inspiration.

1 Comment

Clean Code

I’ve long placed very high value on writing exceptionally clean code. The latest article (pdf) from Uncle Bob talks about the steps that it takes to take a “big ball of mud” and turning into something that is very easy to extend and maintain.

An excerpt:

If you have been a programmer for more than two or three years, you have probably been significantly slowed down by someone else’s messy code. If you have been a programmer for longer than two or three years, you have probably been slowed down by your own messy code. The degree of the slow-down can be significant. Over the span of a year or two, teams that were moving very fast at the beginning of a project can find themselves moving at a snail’s pace. Every change they make to the code breaks two or three other parts of the code. No change is trivial. Every addition or modification to the system requires that the tangles, twists, and knots be “understood” so that more tangles, twists, and knots can be added. Over time the mess becomes so big and so deep and so tall, they can not clean it up. There is no way at all.

As the mess builds, the productivity of the team continues to decrease, asymptotically approaching zero. As productivity decreases, management does the only thing they can; they add more staff to the project in hopes of increasing productivity. But that new staff is not versed in the design of the system. They don’t know the difference between a change that matches the design intent, and a change that thwarts the design intent. Furthermore, they, and everyone else on the team are under horrific pressure to increase productivity. So they all make more and more messes, driving the productivity ever further towards zero.

I think this essay is absolutely spot-on, and is the reason why constant refactoring should be an implied part of every developers day to day tasks. Leave it neater than you found it. Im not advocating going through and performing a massive amount of refactorings all at once, but if everyone does a little something every time they look at a piece of code, before you know it, you have a very elegant, loosely coupled, and most importantly, well-tested code base.

No Comments

Bode Miller

It is not very often that I find myself hoping that someone loses in anything that they are competing in. I cant remember ever actually hoping that an athlete from the United States loses in the Olympics.

That changed over the past several weeks as Ive gotten to witness the train wreck that is Bode Miller. First off, this guy comes on 60 Minutes and admits to racing “wasted”, and actually says something along the lines of he’d do it again. That is wrong on so many levels. First off, you are hurtling yourself down a mountain at speeds greater than 70mph. It would certainly behoove you to have your faculties intact and unaltered.

Bode says as part of his apology that he “doesnt want to be a role model”. I dont care if this isnt what you want. You are an athlete that is at the top of your game. You are going to be a role model, whether you want to or not. Thats part of the deal. If you dont like it, consider a different career.

After this debacle, which has put kind of a black eye on the US Ski Team, he then goes out *at the Olympics* and places fifth in the men’s downhill. Not only does he express satisfaction with this performance, but there are also stories that he was out after midnight drinking beers with his buddies the night before the race.

Again, both of these things are just wrong. First off, why would *any* athlete be satisfied with a fifth place performance, especially when you have won gold medals at several world championships and silver medals at the 2002 Olympics in Salt Lake City?

Secondly, there has already been a big fiasco around Bode’s drinking and racing. Im all for someone hanging out and slamming back a couple of beers with your buddies, but would it hurt for you to put down the glass and get in bed early the night before what is probably the biggest race of your career. I mean, seriously…

This guy has handled himself like an absolute ass over the past several weeks, and I for one was not heartbroken at all when he was disqualified during yesterday’s combined event for stradling a gate. After this, he drops this gem when asked how he felt about a lost opportunity for gold for the second time in three days. He says, “I dont tend to get that disappointed. At least I dont have to go all the way down to Torino tomorrow.”

Wow. Thanks for that, Bode. Im sure that Ted Ligety, who won the gold that you couldnt, doesnt mind going “all the way down to Torino” to pick up his medal. Im also sure the US Ski Team along with Nike (your sponsor) are terribly proud of you and your comments. Do them and the rest of us a favor and go away. If you dont want to win, we could care less what you have to say. If you dont want to win, we certainly dont want to watch you.

3 Comments

Live Messenger Beta

I got an invite to the Windows Live Messenger Beta and have had an opportunity to play with it for a little so far.

One of my favorite features is the imrpoved voice chat. Voice quality on this is better than anything else Ive used so far. Better than Skype and better than Google Talk.

Secondly, Im glad to see that Microsoft has joined the rest of the IM world in supporting offline messages. :) Finally, Im able to send messages to people when they are offline. In theory, they’re supposed to get them when they come back online, but I havent put this into practice yet.

There’s still some funkiness, but thats to be expected with a beta. For example, when I logged in, there were some people on my contact list which had been previously deleted but are now showing up again.

The skinnable features are really cool, but they seem to not be working 100% either as they dont seem to persist across logins. My display picture and colors seem to revert to defaults. Of course, this may be a setting Im missing somewhere.

It will be interesting to see how this product evolves… I like what I see so far.

2 Comments

Windows Live Messenger Invites

Im throwing a request out there for anyone that has any extra Live Messenger Beta invites. Please throw one my way if you have any extra.

Thanks in advance!

Update: Thanks to all who responded… Especially Phil at Haacked.com for the invite.

5 Comments

Using Firefox in VS.NET

I’ve been searching for this for quite some time, and have finally figured out how to make VS.NET 2005 launch Firefox as the browser when I click F5 to debug.

Right click on an .ASPX file in your web project and click ‘Browse With…’. From there, you’ll need to click ‘Add…’ to add your browser to the list. Click the elipsis to find your path to Firefox and then enter a friendly name, such as ‘Firefox’. Click OK.

Back at the Browse With dialog, click Firefox and click ‘Set as Default’ and Browse. Voila!

The only thing that doesnt work quite right is that the application continues to run when you close the browser. You have to click the Stop button. This is not a big deal, but it would be nice if this functioned consistently across the different browsers.

By the way, the same steps work for VS.NET 2003. Although, with VS.NET 2003, you also have to open the project properties page and go to Configuration Properties | Debugging and set ‘Always Use Internet Explorer’ to false.

I sure wish I would have come across this sooner. :)

1 Comment

Super Bowl Sunday

So, once again, its time for the Super Bowl. A Sunday filled with junk food, new commercials, and hopefully a good game.

I dont have a particular interest in the game this year, although I expect it to be a hard-fought game. Personally, Id like to see the Steelers win so that Jerome Bettis can finally get his Super Bowl championship ring in what will likely be his final NFL game.

I think the Steelers have a good shot at it. Seattle has a no-win situation on defense. If they play the defense up tight for the run, then Rothlisberger will throw behind them. If the Seattle defense plays back for the pass, the Steelers will run right over them.

My prediction: Steelers by 3. 24-21.

By the way, godaddy.com has their ad available online already, although they promise an internet only version on Sunday. Im sure the internet only version will be better than the one available now.

1 Comment

Effective Coaching

Recently I was asked to give a small talk about what I think it takes to coach effectively, and want to share those thoughts here.

Effective January 1, I was promoted to Software Engineering Manager at Healthwise. That said, even though I have not been in this role at Healthwise very long, I’ve been able to work with several different teams and have been able to coach them to greater software development abilities.

The best experience I’ve ever had was to sit down and pair program with a senior level developer (Sean Timm). We did not do pair programming in the way that it is defined today. We had two separate workstations set up right next to each other at a very large desk. Sean would assign me tasks to do, and after the task was completed we would go through and review what I had done. This was great for my confidence, because occassionally I did things right. A lot of times though, Sean would be able to point out areas that things could have been differently and I would learn from that. As time went on, those tasks became more and more significant, until ultimately, we would end up bouncing ideas off of each other. Interestingly enough, four years later, with both of us at different employers, we still bounce ideas off of each other.

Im reminded of an old proverb that says if you give a man a fish, he’ll eat for a day; if you teach a man to fish, he’ll eat for a lifetime. Ive noticed that in my experience with coaching people that there are two distinct personalities at play. There are people who want to learn how to fish, and there are people that just want to be given fish.

When working with the group that wants to learn how to fish, I think there are two things that absolutely need to be present for the coaching to be effective. The first is passion. That passion has to originate from the person that is doing the coaching. When you are passionate about something, you will actively seek out knowledge in that area. Having that knowledge will put you in a much better position to teach someone else about that area.

I *love* to develop software, and because of that, Im constantly seeking out new technologies or better ways to do things. Learning about these things helps me to teach others. Recently, I developed a passion for photography. Again, because of that passion Im going out and learning everything I possibly can about photography. While Im far from an expert, I know that Im able to coach someone on how to take a nice picture. I know that Im able to talk to them about f/stops and apertures. Conversely, I dont have a passion for things like water ballet or line dancing. I’ll never be able to effectively coach someone on how to do those things.

Teamwork is another key aspect to coaching people. One of the things I always like to do is put people together and keep everyone informed about whats going on. People tend to absorb information this way.

Within every team, there is this symbolic “bar”, a level of expectation. Most people tend to do just enough to maintain the level that is expected of them. However, in most teams, you have a few people that tend to rise above that expectation. Because that person rises above the expectation, the level is actually raised. When that expectation is raised, again people will do what they need to do to achieve that expectation.

You can use coaching as a team-building excercise. If I think back to the experience that I had with Sean when we were pairing up, not only did we build a comraderie, we also built up the quality of our team. His sitting with me and spending time helping me get to where I wanted to be was of value for the team, and ultimately the organization. Like I found out, the education that I received while working with him increased my confidence in being able to accomplish my tasks in the best way possible. This confidence from any person is not only invaluable, but it slowly helps to raise the teams level of expecation that was previously discussed.

I’ve talked about the people that want to learn to fish, and did say that there are some people that just want to be given fish. I’m reminded of a Stephen Covey quote which says, “Those convinced against their will are of the same opinion still”. If you are forcing someone to go through a coaching episode that doesnt want to be coached, youre not going to get maximum benefit out of that. So, I tend to spend the time with the people that want to learn to fish, and look to the level of expectation of the team to bring the others to where they need to be. Obviously, sometimes this doesnt work, and people stay where they are at. At this point, you probably need to look at other options outside of coaching.

In summation, keep in mind that when coaching anyone make sure that you utilize teamwork and passion. If the person truly wants to learn, you will be amazed with the results.

1 Comment
« Previous Entries
flag
Favorite Charity
wounded warrior project
Search
Social
  • mattberther on twitter
  • mattberther on linkedin
Syndication
Archives
  • January 2010
  • September 2009
  • July 2009
  • June 2009
  • February 2009
  • January 2009
  • December 2008
  • November 2008
  • September 2008
  • August 2008
  • June 2008
  • May 2008
  • April 2008
  • March 2008
  • February 2008
  • January 2008
  • December 2007
  • November 2007
  • October 2007
  • September 2007
  • August 2007
  • July 2007
  • June 2007
  • May 2007
  • April 2007
  • March 2007
  • February 2007
  • January 2007
  • December 2006
  • November 2006
  • October 2006
  • September 2006
  • August 2006
  • July 2006
  • June 2006
  • May 2006
  • April 2006
  • March 2006
  • February 2006
  • January 2006
  • December 2005
  • November 2005
  • October 2005
  • September 2005
  • August 2005
  • July 2005
  • June 2005
  • May 2005
  • April 2005
  • March 2005
  • February 2005
  • January 2005
  • December 2004
  • November 2004
  • October 2004
  • September 2004
  • August 2004
  • July 2004
  • June 2004
  • May 2004
  • April 2004
  • March 2004
  • February 2004
  • January 2004
  • December 2003
  • November 2003
  • October 2003
  • September 2003
  • August 2003
  • July 2003
  • June 2003
  • May 2003
  • April 2003
  • March 2003
mattberther.com © 2003 - 2010