What I Learned During my Co-ops at RIM and SAP

What I Learned During my Co-ops at RIM and SAP

By: Vlad Tkachenko | Computing Science Co-op Student
  6357 reads

Vlad Tkachenko is a 5th year Computing Science Student who spent 2 co-op terms at RIM and 2 co-op terms at SAP.  He shares what he learned and some tips for success on the job.

Over my past four co-op semesters I have learned what it is like to have a job with expectations beyond a high school diploma. The job market is more competitive. Before each of my coop semesters I thought I would ONLY focus on learning new technology, and soon I learned that it is only half of the true experience. Sure, in every work term I learned new programming concepts, new tools for solving various problems.  But, I also learned about myself, how to communicate better, and more.

What I learned:

Be Detail Oriented

At RIM I learned to be detail oriented in code and problem solving. There were many pages of code to learn as well as be able to change if necessary. These changes have to be error free, and some involve finding an error in large quantity of code, which is often challenging. In order to fix an error, it was often necessary to refactor a bigger part of the project.

Know “Why”

Always try to answer the question “Why?” when you are explaining what you want to do.  It is important to back up your opinion with strong facts and arguments, since not everybody thinks the way you do. Software development is a profession that requires proper communication skills where it is necessary to understand decisions being made; otherwise there would be design flaws. Explaining reasoning behind your decisions will help coworkers understand the project better.

About Myself

Being at RIM, most of the non-technical learning for me happened outside of work as I was living on my own for the first time. I learned that I need my own space very often. I am a very neat person, I keep my place neat and my workplace neat, otherwise I find myself stressed out

New Software:

At SAP, I further developed my understanding of Agile software development, which helped me be able to plan my time much better. I find having deadlines makes me much more productive. Agile helps realize one’s speed of getting tasks completed, as well as help estimate what can be done in what time frame. Agile simplifies work by splitting the problem up into sub problems making them smaller and easier to tackle.

Communication:

At SAP I got constant feedback on my work when my manager and I have bi-weekly one on one meetings. My manager asked really good questions that forced me to think and question my own understanding of problems. He also gave me advice on my communication. For example, last week I was saying that one of my coworkers told me something, whereas my manager said that I should say that he didn’t “tell” me, but rather to simply say that “I was told some fact” which comes off more voluntary on my side of things.

Work Preferences:

 My co-op experience taught me that I like having a balance of working with people and working on my own. Our team found that pair programming was productive at times and we practiced that a lot. Pair programming is where there are two developers sitting at one computer, one is called the driver, and the other is the navigator. The driver is the person that physically writes code, while the navigator is the one that communicates thought process. This method does not require code to be reviewed, as there are already two people writing it at the same time. This strategy taught me how to approach problems as I learned from developers who have been in the business for a lot longer than I have.

My Future Plans:

There are always things to improve on for future employability. The major things I will need to improve on before I am in the “real world” would be my communication and resume. I need to learn to be concise, as well as be able to create an image about who I am with the way I talk to people. For my resume, I have a lot of different experience from co-op, and the hardest thing will be putting that huge variety onto resume and cover letter.

In the near future, this is what I have quite a few things I plan to do to further my learning opportunities and to get a great co-op in the future:

Update my Resume

Once I’m back at school in a few weeks, I will go seek help to see how I can reconstruct my cover letter and resume so that in the fall, and when there is a big job fair I will be ready.

Practice Interview Questions:

I will be practicing interview questions over the summer and solve technical problems which are usually asked in interviews.

Asking For References: 

I will be asking for references as well as make LinkedIn connections.

It is best to start these tasks early, so using summer semester for preparation will be very handy considering I will not be looking for a full time job until fall, after which I am going to graduate. I know that after graduation I want to be working on back ends of product, and hopefully no web applications as I don’t find that interesting. My favourite development technology to work with is Microsoft related, so I will primarily seek jobs that use C# and .NET as their languages. I am hoping to get into Amazon in Vancouver as it is close to home and would be a fun place to work at.

Overall I am glad that I have had the opportunity to develop my skills and learn about myself in my past four co-op terms.  Not only have I learned a lot, but also co-op has helped me plan the experiences and skills I want to partake in and gain.

Beyond the Article:

Posted on September 05, 2014