November 4, 2005 @ 7:24 am
I saw on Slashdot this morning that Google had opened their print website. So, I went over there and searched for my favorite author, Charles Dickens. Everything Dickens ever wrote is in the public domain, so I should have been able to find and read everything he ever wrote on Google Print. This, however, was not the case. Since all the books Google scanned by Dickens were published between 1990 and 2005, they seem to think that the material is copyrighted and can’t be viewed. I find this pretty annoying.
The irony of the situation is that the material created by the publisher: the table of contents, the index, and the introduction about the book, are all viewable from Google Print. This means that the only parts of the book I can’t see are the parts that are in the public domain, and all of the material the publisher owns a copyright for is available via Google Print.
– Stefan
Stefan Rusek | On Teams
November 2, 2005 @ 7:47 am
In many areas if life and work, we are required to work
together on teams. Not having played organized sports in a long time, my main
experiences with teams over the last few years have been for work and for
school. I’ve had more team/group activities for school. Sometime in high
school, I started thinking about group activities in class. Being a rather
detail-oriented and intelligent person, I really hated group work at the time, because
I knew no one in my group was going to do as good a job as I wanted, so I often
did most of the work. This meant that I worked more than I should have and the
others in the group got a good grade for doing nothing. This kind of situation
will really cause you start to think, unfortunately I didn’t get far
enough mentally to find the solution at the time. It was a couple years later,
when I got my first programming job in college. My work supervisor, Brian
Willard, was a fantastic mentor for me and we met at the perfect time for my
development. While working with him, I learned tons about the software
development process and about working with other people, and he was able to
give me direction I needed to really improve.
One thing in particular that I noticed about how he worked
with me was that many times I would be tasked with something that I knew little
about. If Brian had been required to do the task, he would have done 100 times
better than me (especially at first). But I would come to him with what I had
and he would give me lit bits of advice or ask me questions about the result,
and through this process the quality of my work improved by leaps and bounds. The important point about all of this was that he entrusted
me with a task he knew I could do, but he also knew I had no experience doing
it. Over time he was able to entrust more to me, knowing that I
would do a great job. Now you could credit my ability to learn and use new
skills, and this is to some extent correct, but if Brian had not worked to lead
me in the right direction and given me the opportunities he did, then I would
not be as far along.
You might be wondering how this all fits into teamwork. As
time went by, Brian was less often the leader of the projects I worked on, and
I was more often in charge of the project or working very closely with the
lead. Then I started to think about how Brian worked with me and how I could
use it to work more efficiently. (I also read some really good material about
working with groups and leadership.) During this time, I was voted to be the
leader of a team of 5 for compiler class. When this team was formed the
compiler was 1/3 finished, semantic analysis and code generation still needed
to be written. The first thing I did was to choose the guy, Olin, I knew could
do the best job (even though I am unaware of any previous experience in the
area) to lead out a sub-team. I then met with Olin and asked him which of the
remaining two parts he was most interested in. I put Olin in charge of code
generation, and gave him two of the other team members to be his reports. I
gave myself one report and my sub-team worked on semantic analysis. I tried to use
Brian Willard techniques to share the work and help guide my teammate and Olin
into doing a great job. With my teammate, I shared the work pretty evenly and
even though not everything was done exactly the way I thought it ought to be
done, it was done well. With Olin, I met periodically and we talked about any
issues he wanted to talk about and we solved a lot of issues at a very high-level.
I never met with his reports directly and never tried to tell him how he ought
to task them. He did fine and his results were fantastic. (I will add that to
this day I have not looked at his team’s code for more than a few seconds,
because there is no need to second guess his work.)
The moral to all of this is that in order to be a good team
member you have to decide to
trust your teammates. It is not a matter of having your teammates prove
themselves to you (though they will with time), but you have to show them that
you trust them to do a good job. This means that you have to let them think on
their own and develop ideas and your job is to encourage and guide.
This was all brought painfully to my mind this semester,
because I am taking beginning soccer. I would never hire anyone in my soccer
class except maybe one or so of them. The simple reason is that they
demonstrate that they do not understand that a team must work together and that
a team is more than just the most skilled or best person on the team. A team is
about choosing to trust even the most unskilled member to do his or her job.
–Stefan