Early in my work term semester, I set some distinct goals for myself that I would work toward. These goals were highly correlated to my role at Voice On The Go and dealt with certain skills that I truly wanted to develop.
In order to ensure that my goals were realistic and manageable I used the SMART guideline in that each goal is Specific, Measurable, Achievable, Relevant and Time targeted. Below I have outlined each goal and the corresponding status.
Given that Computer Science is a field that consists of getting a problem and devising an elegant solution to that problem, I thought that developing these skills were absolutely necessary. My specific goal for this was to perform research and outline my own ideas in order to establish the best possible solution to each problem I faced. One thing that I have been known to do in the past is to jump into solving a problem by hacking together the first thing that would come to my mind. This proved to be something that was certainly not efficient, especially in the long run. This goal turned out to very achievable in that I would simply take my time when devising solutions.
Of course, this is a skill set that can and will forever be strengthened but I feel that I have made a lot of progress. One particular example that comes to mind that solidifies this progress is when I was tasked with developing an algorithm to detect silence in a recording. The goal was to stop recording after a certain period of silence. I did a lot of research on this particular topic and eventually did come up with a solution that works well in all-different environments.
One particular thing that is not my strong suit is getting my point across in conversation. Generally, I have so much going on in my head that what I am saying does not come across as intended. This was something that never really mattered before in academics since everything conducted up until this point was an individual task. In the work place, this skill is one of the most important factors that set one person apart from another. My specific goal for this was to improve my oral communication skills so that when I am having an issue, I will be able to describe my issue so that I can be assisted in the most efficient manner.
In order to accomplish this goal, I decided that I would write out all of my thoughts prior to attempting to disclose any issue that I am having so that I can refine and pinpoint the exact problem. What I found was that when I did subscribe to this advice, I could be assisted with no hesitation since I was descriptive and clear in not only my speech but also my train of thought. Weekly meetings and "Show and Tell" sessions proved to be very helpful to practice this communication.
A third goal that I decided that I wanted to tackle this past semester was that of improving my ability to adapt to situations of change since Computer Science is an ever-changing field. I have always subscribed to the saying, "Never change code that works", but I started to realize that sometimes this is not always practical. While one segment of a piece of software may be functioning, there are always ways to improve it. This goal is very measurable and achievable in the sense that I will know I have succeeded when I not only welcome change but also actively seek it out to make enhancements by altering existing solutions.
My approach to meeting this particular goal was to approach everything I encountered with an open mind and attempt to be forward looking in that even if one approach appears to be easiest today, I will consider what the best solution for the future will be. I can very candidly say that I believe I have reached this goal. A specific instance that is evidence of this is when I proactively sought out to install the upcoming iOS 5.0 beta SDK. Normally I would ignore any beta SDKs and only worry about the changes that needed to be made if the time came. By running our applications on the new SDK, we were able to eliminate countless bugs and ensure complete compatibility for the future.