A while ago, I was trying to find a Sacramento .NET User Group and was coming up empty. Couldn't find any information anywhere, which I found quite surprising. I found a Sacramento VB.NET User Group, but it looked rather inactive. Today, just by chance, I ran across SacDnug and finally my prayers are answered! Looks like they're rather small, but it looks like they are fairly young, so with some luck, they might grow. For starters, their “message board” is rather weak. On the plus side, their list of speakers seems to get a little better as time goes on, with Juval Lowry at the end of August.
At the end of my senior project, we were given this writing assignment. We were supposed write a two-paged memo that was to a potential employer that we really wanted to work for, and it was in response to a question they had. The question was:
“I assume your team experienced the same kinds of problems as our teams with respect to the relationships between team members. Often the behavior of one or more of the team members negatively affects the work of the other team members. Explain what difficulties you and/or your team had in working together effectively. Also, indicate how the team dealt with these difficulties. If the difficulties were not dealt with effectively, indicate why and how you would have liked the team to deal with these difficulties.”
This question bothered me. First, I'm not sure if it would be legal for a recruiter to ask about internal team conflicts. Second, I don't think it is anybodies outside the organization's business what conflicts there were.
In order to fulfill the assignment, I wrote my paper on how I did not feel it was their business about the conflicts (and because there weren't any major conflicts in our team). In my opinion, discussing conflicts outside of the team is a way of finger pointing and spreading discontent around. It seems kind of immature. Instead of working together to resolve an issue, you go and gossip about it with others who it doesn't concern.
Good teamwork comes through 2 main things. First, communication. Communication is the key to everything. It allows issues to be resolved, it is how you learn, and it is how to teach others. If you want to update module A to do function Z, you might have to communicate this to me so that I am aware module B might need to be updated. Second, need to be open minded. On a team, you are bound to have discusses on ways to implement something. There are going to be different opinions. Everyone has to be open to the fact that their idea may not be the best method. There could be flaws in it (security, performance, complexity), or that there is just simply a better way. If someone stays stubborn that they are always right or are all knowing, you'll get nowhere.
Additionally, I believe that a team is a lot like a family. In order for a family to stay strong, the family has to work together and stay strong. Conflicts within the family can cause it drift and not function as well. Gossiping outside the family can make it worse. In order for the family to stay strong, issues have to be discussed and settled internally. When it functions well and issues are solved quickly and easily, the family is strong and everyone watches out for and helps out each other. Thus, in this case, the team works efficiently and the project goes along well.
In order to still fulfill the “really wanted to work for” requirement, I stated that if this make believe company was still interested in me, I could reassure them that I would carry this attitude on to their own organization. That I would work closely with their team to resolve any issues that came up, to step in if two other people were conflicting, and if someone else is overworked and overwhelmed, that I would step in and help them out. I would show their team the same dedication that I showed my senior project team. Because that is what families do, and I consider the people I work with an extension of my family.
My actual written assignment was much more eloquent than this. Mainly wondering what other's point of view is on this. Do you see your coworkers as family? Should internal conflicts be kept on a need-to-know basis?
I can finally breath a sigh of relief. Last Wednesday, after 8 months of hair pulling and head slamming, my senior project team delivered our software along with all of the documentation, to our sponsor. Had a bit of a last minute crunch because last week I had also just moved into a new apartment, and did not have internet access (thanks Comcast), so I was carting my computer back and forth to my old place to get online. After staying up til 2am Tuesday night, barely able to hold my eyes open driving home, we delivered and demoed the project to our sponsor and they absolutley loved it.
While many people probably hate the end of a project when it is crunch time, I kind of morbidly like it. I enjoy staying up to 2-3am coding until I can barely hold my head up. Or putting 12 hour days where all you do is work, sleep, work sleep. It sounds like hell, but mainly like it because of the feeling of accomplishment afterwards. I take pride in the things I work on, so at the end of the project, when it is finally done, delivered, and working, I kind of lean back and just say, “yeah, I did that. I work my ass off, and it rocks.”
Some other hot news was that there was a small expo on .NET at CSU Sacramento last week, featuring talks by Erik Meijer (think I spelled it right, sorry) and Ted Neward. Was really interesting. Also got a community preview copy of Visual Studio 2005. Haven't been able to play with it yet, but want to see what we can add to nGallery for when it comes out. :)