Paul Graham just wrote a very insightful piece that I hope companies take note of. The start of the essay speaks to how important it is for programmers to have the ability to store the entire context of a problem in their head so they can navigate to all the pieces they need to work on. This is key for solving big problems and facilitates effective productivity. Graham goes on to provide 8 ways to help programmers to do this.

One of the ways he suggests is to work in small groups. At my work, we do a lot of pair programming and sometimes 3-way programming. I find this to be extremely effective for the way I code. I enjoy being able to constantly ask if this is the right way to approach a problem or am I understanding the problem correctly. With pair programming, I get immediate feedback by my teammate(s) and it helps to spread knowledge of the code base without having to go through code reviews.

The second half of the essay is what really inspired me to write this post. Graham makes the claim that companies deliberately try to do things wrong when it comes to dealing with programmers.

Graham writes:

One of the defining qualities of organizations since there have been such a thing is to treat individuals as interchangeable parts.

It’s not merely true that organizations dislike the idea of depending on individual genius, it’s a tautology. It’s part of the definition of an organization not to.

The weakest point in big companies is that they don’t let individual programmers do great work.

Moral of the story: Create a work environment where developers are truly valued. They are the problem solvers. They are the closest to the product. They are the ones bubbling with ideas. Listen to them. Don’t act like a big company no matter what your size is. This is how to beat your competitors.

Posted in Uncategorized at August 26th, 2007. View Comments.

Because we have a slow network, big files to deploy, and a ping pong table, work has started to look like this:

Compiling

Posted in Uncategorized at August 24th, 2007. View Comments.

After hacking away at work for 15+ hours, I am looking at eclipse and I have no idea what I just wrote. But hey, it seems to work…sorta. So yay for that!

kitten_fix.jpg

Posted in Uncategorized at August 21st, 2007. View Comments.

After working for less than 2 years out of college, I’ve already been in more ineffective meetings than I care to count. So here’s a couple of guidelines I’ve come up with. Keep in mind, these meetings are focused around technical issues. Technical meetings are focused on coming up with a solution and are centered around the idea of Getting Things Done. I’m sure marketing meetings require a different set of guidelines since creativity requires a blank canvas.

  • Have an agenda — What is the purpose of the meeting? What does each individual want to get out of the meeting? Stick to this agenda. Don’t get side tracked. That’s what the end of meetings are for. If you didn’t walk out of a meeting with new knowledge or any actionable items, you failed.
  • Don’t go to listen — If you don’t have something to contribute, don’t waste your time going. This kills your productive for the day. You’re stuck in a meeting while you could have been building the Next Big Thing. Sure, sometimes it’s nice to stay in the loop about something but that’s what lunch, instant message, e-mail, the water cooler is for.
  • Don’t invite friends — Only the people who are critical to the meeting of being a success should attend. I used to want to be apart of every meeting everywhere and I felt left out if I wasn’t invited. But now, I feel lucky when I’ve left out.
  • Don’t have meetings to have meetings — Don’t schedule meetings just to have a meeting. There are certain things that can just be discussed by stopping by and saying “hey you got a sec?” A 20-slide PowerPoint isn’t required for everything in life, even if you were taught differently in college.
  • Have a DD – Having a designated driver is probably the most important thing. You need someone handle the check and balancing of meetings. Without a DD, there’s going to be that awkward pause some time during the meeting where no one knows what to talk about next. And then someone says “So, uhh…”

I made this list up while watching the Office so don’t listen to me. My inspiration comes from Michael Scott.

“That’s what she said.”

Posted in Uncategorized at March 1st, 2007. View Comments.

It’s been a little over a month since I joined kajeet and it’s been real exciting. In the past two weeks, we’ve opened our web site to the public and just recently we have a featured article in TIME magazine. This is just too cool :)

Posted in Uncategorized at February 17th, 2007. View Comments.