Tuesday, August 22, 2006

4 Habits of Highly Effective Programmers

I felt like I made a lot of great progress today on the NSC site, and yet I still have much to do tomorrow! I actually went back today though to older scripts I wrote for the site and cleaned them up a bit to make them a little easier to read and much easier to fix up in the future thanks to global constants. Which brings me to today's topic, what traits make for a truly brilliant software developer? Tech blogger Rob Walling (though he's not nearly as well known as Paul Graham or Robert Scoble) has asserted four qualities that he's noticed in coders who are so brilliant that you'd quit your stable job just to go work for them if they started a company. I strongly agree with all of them (most of which I noticed in my mentor from the summer). It's definitely important to be pessimistic in the short term to motivate yourself but remain optimistic in the long term so as to not feel helpless. Sloppy code that I encountered last week really pissed me off, and it's because lazy code like that could cost TI hundreds of thousands of dollars in scrapped wafers. In general though, it just shows stupidity (especially from someone who is a team lead). I can't stress enough how valuable a trait it is to be able to think in the long term and plan ahead in bracing your code for future upgrades and changes, which we did a lot of over the summer in light of a wafer-level tracking system being implementation in the fab I worked at. As for the last thing, attention to detail, that's what really separates the men from the boys because all the little things impress your client. For example, at a screen on of my automations that asks them to verify that the cassette is loaded it had a certain port hard-coded in, but I went in and made it dynamic, and I think my client really liked that because it's another check for the operator to make sure he's logging in the lot from the right port. Sorry if that goes over your heads, but the point is that the little detail I took a few more minutes to add in could potentially save some people's butts when they come to the automation screen and realize that it's expecting a wafer cassette in a port contrary to where they had actually loaded it, which could cause bad things to happen if it was processed as such. Never underestimate the little things, and never underestimate an individual in computing who possesses those four traits.

I'm not convinced that the brains behind Vista's Aero Glass GUI skin possess those traits though because it's so resource-intensive for such measly results. The guys at Apple dazzled their users with the bells and whistles in OS X and it didn't need to a muscle video accelerator card to show it. Maybe I'm being too harsh on them, I just don't see why it's recommended that I have 128 MB of RAM on my video card to show some windows and a task bar! And if that weren't bad enough, it turns out that the Zune's Wi-Fi capabilities are merely for sharing music with people around you, not for purchasing songs or loading them to your Zune. How incredible useless is that? I don't think I've heard of anyone being in a situation where they really want to share their music on-the-go with a friend who's sitting right next to them by transferring it to their mp3 player. Speaking of audio though, Gmail will now let you play mp3s from within your message in Gmail itself. It's a pretty neat little feature and might actually encourage people to send more voice messages via e-mail. The chief of the FTC has spoken out against net neutrality adding to the barrage of idiots in Congress who keep falling for the nonsense being spewed out by the telcos. When will these people get a clue? Facebook has unveiled a notes feature to allow you to blog from your Facebook, which I think is a kind of funny since Facebook has been getting so fat with features lately (just in time for the fall semester), but it is the natural progression for a social networking site of Facebook's stature. If you're ever bored and without television, this site is awesome and has legal streams from several popular channels (though I question the legality of the premium channel feeds). Lastly, Nintendo has retooled The Legend of Zelda: Twilight Princess port for the Wii to require physical swinging in sword fights and using the B button in the bow-and-arrow motion to release an arrow. That's actually one thing I thought was odd about the game and now I'm super-excited to try it out for myself.

Click to enlarge

Trey Parker and Matt Stone (of Southpark fame) have decided to create two more live-action movies: My All-American (a high school comedy) and Giant Monsters Attack Japan (guess what that one's about). I wonder if they'll be in these movies or if they'll stay behind the camera again? Will Smith's Overbrook Entertainment studio and Sony Pictures are teaming up with Indian studio UTV to produce two movies for $30 million to be distributed worldwide. One will be live-action and one will be animated, but I wonder how much Bollywood influence Sony will allow in them? Three-hour long musicals wouldn't do too well here in the States. Meanwhile, Tom Cruise and his producing partner have split up over at Paramount, though it's being debated whether he left or was fired for his antics. I'm guessing that it's mostly the latter, and Cruise is recovering by saying that he was wanting to do his own thing anyway. Lastly, I have a couple of decent reviews to share. Massawyrm over at AICN really liked Michael Gondry's The Science of Sleep and all its intense weirdness. He still managed to pick the movie apart (he always does), but it sounds like a pretty solid movie overall. The other review is from Night in a Museum, which had a pretty hokey teaser trailer but apparently is a very worthwhile family film. I guess I'll have to re-evaluate my early impressions on this one.

Now for the Tuesday Twosome:

1. Where were you 2 hours ago and what were you doing?
I was here at home just practicing guitar. I'm so out-of-practice that it's gotten much harder! I missed practicing last weekend because of traveling and being at my brother's all weekend.

2. Who was your 2nd boyfriend/girlfriend and how old were you?
I hope to find out someday.

3. Who are your 2 closest friends and explain why you chose them?
That's pretty hard. I'm going to go with my friends Robert and Jeremy. Robert was a friend of mine in high school and we still keep in touch quite often, and Jeremy is just a good guy who I feel I can really depend on and I hope he knows he can depend on me.

4. What 2 accomplishments are you most proud of and why?
My Latin program was a pretty great accomplishment for me since it was such a big project to complete in four weeks, and my internship this summer was a pretty great accomplishment since I did so many projects (without starting any fires, I might add, except for one very minor bug) and even cleaned up messy code.

5. What were the last 2 television shows you watched and did you enjoy it?
Seinfeld and The Colbert Report. I definitely enjoyed both of them.

1 comment:

LizzieDaisy said...

Nice widget. Man that sounds sexual somehow. Hee.

Anyhoo, some advice. Never be an IT person, even if you're desperate. The lady I replaced is doing IT now for the same place. Her life is hell. I'm sure she'd rather die at the moment. I'm sure she's thinking about quitting. UGH.

Course my life seems not much better cause she is so busy she can't train me and I'm getting in trouble for not having stuff done that I don't even have access to. Yippie.