Internship in Assertis. Diego’s story

Assertis Tech Team
Feb 23, 2017 · 5 min read

Dzień dobry! I am Diego Garcia Lozano, a Software Engineering student from Santa Fe, Argentina. Last year between August and December I had an incredible opportunity to be an intern at Assertis Ltd. in Gdańsk, Poland. The internship was arranged by Iaeste, The International Association for the Exchange of Students for Technical Experience.

Diego in Gdańsk

It was a huge challenge for me: it was my first time being that far away from home (in such an exotic country for me), living alone and, most of all, working in the software industry. Fortunately, I was surrounded by a wonderful group of people since my first day. After I met them, the only thing I was afraid of was that I thought that I would not be able to remember all those Polish names!

Working in Scrum

At the very beginning, I needed some time to set up my computer and get used to the Scrum methodology. I have been deeply studying the waterfall or traditional sequential development at the university since I started my studies. However, the professors always told us that, even though the waterfall approach still has a good popularity among huge projects, nowadays more and more developing teams are using this alternative based on incremental, iterative work cadences and empirical feedback. Now I can see why! It is impossible to not engage with Scrum’s simplicity and efficiently. It is incredible how such a trivial thing like the 15 minutes daily stand up, where each member has to tell what he did the day before and what he is going to do during the day, can make a great difference in each member performance. It is only a few seconds talk each, but it means a lot: if you don’t know what to say, it is because you either didn’t do much the previous day, or you don’t know what to do next! What is more, it is the perfect moment to ask other team’s member for help, especially when you are new in the group like me. It was also interesting to see how this methodology can work even when the group is spread around different cities and countries, all thanks to tools like Slack, Google Hangouts and project management software such as JIRA. I would like to mention that it also has it drawbacks: sometimes, in the eagerness to develop software and show results more quickly, one forgets about other important things like, for example, write a proper documentation.

Technical Experience: Angular

However, thanks to Artur’s and the other guys guidance, I could catch up quickly with the Caledonian Sleeper project. Roughly speaking, I worked the first two months of my stay there helping with the front end development of the new Flexipass Ticket and the last two I was involved in the Family Ticket. I had had some previous contact with HTML and CSS by the time I arrived in Poland, but I wish I could say the same about Angular. I had to learn it from scratch while I was working with it and, believe me, it wasn’t a piece of cake! Many concepts such as scopes or promises were brand new to me. Anyway, despite the fact that it has a very hard learning curve, nowadays it is a must to at least consider using it if you are planning to build a dynamic website. Unfortunately, Angular 2 has recently come and it is completely different from its ancestor, but there are still many concepts that remain.

Protractor Tests

I also wrote End To End tests for the Angular application using a testing framework named Protractor. In contrast with Unit Testing, in which the smallest testable parts of an application are individually and independently tested, the purpose of End to End testing is to exercise a complete production-like scenario, identifying system dependencies and ensuring that data integrity is maintained between various system components. There are many E2E testing frameworks out there, but Protractor stands out especially because of two things: it provides handful methods to locate specific angular elements in the app and, what is more, if you use Protractor you no longer need to hard-code sleep times because Protractor can automatically execute the next step in the test the moment the web-page finishes pending tasks, so the test and web-page keep synchronized all the time.

Small Protractor test

Nonetheless, I had some trouble in taking advantage of those two main features: one of the most useful Angular specific locators that Protractor provides is by.binding. However, every time I wanted to use it, it kept giving me an error because it couldn’t find the element I was looking for. After doing a lot of research, I wasn’t able to find what was not working, so I had to stick to other convenient locators like by.model or by.repeater; I also lost synchronization between the application and the test whenever an user logged into his or her account. The problem arose because a Timeout is set after someone successfully log in, with the purpose of closing the session after a certain amount of minutes. Unluckily, Protractor keeps waiting until the Timeout expires before executing the next step in the test. There was a workaround to this issue, but several changes in the application code were needed, and since the test should adapt to the app and no the other way round, I had to turn off the automatic synchronization and use fixed sleeping times in the tests suites in which a login took place.

To sum up, it was a complete experience full of challenges and new learning. l am so glad that I had this opportunity, I don’t think that I could have found a better place to have my first internship. Finally, I want to mention that I couldn’t have been so wrong about my first day fear: not only do I remember all of your names, but I am sure I will never forget them. I hope we will meet again some day, probably in Argentina next time!

Dziękuję bardzo Assertis, do wiedzenia!

Author: Diego Garcia Lozano

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade