My Internship at Ceridian Mauritius

Ceridian is one of the biggest software companies in Mauritius. With over 500 Employees, it has won over 15 awards and prize since 2000. I was lucky to have a taste of this company during my holiday after my second year of Computer Science. Below is an overview of the internship:

Getting the internship and preparation

A couple of years back, when I finished high-school I wanted to gain some experience in software development while waiting for the results. Ceridian was one of the companies I contacted, but sadly there were no positive response.

This is why I was glad that it was my university which contacted them this time. I only had to fill an excel spreadsheet, stating my skills. Soon, I was called for an interview and was asked to brush up my SQL and XML skills.

I went to the interview with 2 classmates and we were all taken.. The interview the real challenge, we got it by expressing our interest in coding… We were to start on the following month.

First weeks with the team: Training

My first day was 2 weeks after the interview. Since I knew that we would be using ASP.NET MVC, I did some reading and tutorials to prepare myself. On that day I had a warm welcome and was introduced to the other employees. My laptop and email was not yet ready so I did not have much to do and went home early.

On the next day I got my laptop and also about 200 tutorial videos on C# and  ASP.NET MVC from this youtube channel. I quickly went through them since I was familiar with most of the concepts, but I also learned some new things from the videos and found the explanations to be really clear, so feel free to take a look. By the end of the week, I met most of the employees on the floor and they were really nice people.

Getting hands dirty : Tracking Tool

Old and new track tracking tool team after final demo.

On Week 1, we were introduced to our project. It was a tracking tool where employees can submit records and keep track of their status which will be updated by the admin. The project was already started by another group of interns (who were now employees) and we had to finish it.

We would be following the scrum methodology and the team would consist of me, my friend Kavi and Samiirah (Quality Assurance Analyst) as the scrum master. The user interface was already made and we only had to add some features. Most of them were quite simple but I had a few challenges.

Challenge 1: Saving multiple records

The product was already able to register a record from an employee. However there were instances where an employee would register several records and I had to implement the feature witch enables that. It was quite complex as I did not know how many records there would be in advance.

I tried several implementations but they did not really work. In the end, someone told me about this article. I found it really helpful, used it on the project and it worked!

Challenge 2: Generating .pdf report

The product was already able to produce a .pdf report. But it did not have the right data and there were no headers and footers. It was using iTextSharp 5 for which I could not find a documentation since the company was now pushing iTextSharp 7.

I found some ways to add headers and footers from google but those were not working either. In the end I used absolute positioning with images and rectangles and made my own “AddPage” method which would add a new page including its headers and footers.

Working on a second project: Social Network

Lunch with social network project team.

After completing the Tracking Tool Project, me and Kavi was assigned another project. This time it was with another group of interns and we were to develop an internal social networking site also started by another team. This time we did not follow any particular methodology and it was a bit more challenging as the aesthetic aspect was key.

Challenge 1: Coming up with a pleasing interface

Each of us was assigned a page, mine was Events. The code base was quite messy but I managed to pull different types of events from the database. Now I had to display them in a meaningful way.

I tried a really simple one at first but it was not well received during the meeting. So for the following meeting a did some research and gathered some templates from different sites. I showed them and they all agreed on a modified version the Zoe template from this site.

Challenge 2: Like button on gallery page

After a few weeks, the other group of interns had to return to university, me and Kavi were to carry on from where they left. I had to complete gallery page which currently displaying the like buttons of all the pictures at once.

It was using an old version of Unite Gallery which is a single .js file of 25 000+ lines. I was trying to know which picture was currently being displayed but did not know where to start. I tried googling but in vain.

After trying everything within the current project, I went on the official site and downloaded the files again. I noticed that the gallery was split over several files this time, each defining a feature. I opened the API file and everything was clearer. I modified the code so that it executed one of my functions (with the picture index as argument) whenever the displayed picture is changed and tad-ah the problem was solved.

Overall thoughts

Co-workers on farewell lunch.

My internship at Ceridian was a great experience. The people were nice, some really helped me when I was stuck in the code. I attended many formal and informal events and could spend my free time in the gaming room. And I also learned a lot of things about software development. It was way better than I could have thought.

Note: The content of this post was altered after a call from the company.