Five months ago, Tiago Reis and Rafael Florêncio joined Imaginary Cloud for an internship and we're honored to be the last step of their academic journey. We know how important this is in the early stages of any professional's journey and it was an absolute pleasure to be part of this.
Now, at the end of this chapter, we've talked with Tiago and Rafael in order to understand how the experience was for them and if their expectations were met.
Joining Imaginary Cloud
An internship is a vital step in anyone's academic journey and it's something that shouldn't be missed. The adventure of finally joining a project and work side by side with an experienced team is always a fantastic experience.
The list of possibilities for the internship was long and diverse, such that it seemed to be a never-ending list to choose from and, yet, I had to pick one, knowing that this choice would mold, shape and close a big part of my academic life.
From this list, there was something that caught my attention, maybe due to the fact that I knew that this would not be just another step to take. It was an opportunity to learn and explore new fields and, deep down, I knew that this was a choice that I would not regret.
I joined Imaginary Cloud through the internship programme in my University - shout out to FCT-UNL - because basically every student that wants to finish the Computer Engineering degree needs to complete a period of work experience, either being an internship provided by the University or a final project. Since my grades were high enough to qualify for the internship programme, I dove head first into it. Who wouldn't want to be thrown into a completely unknown environment for the last semester of their graduation?
The internship selection process consists in 2 days full of presentations from companies that are looking to attract new interns and, at the end of it, the student picks five of them by order of liking. The process then assigns companies, assigning students with higher grades first.
Why Imaginary Cloud?
What immediately called my attention was the fact that I would be able to work with new tools and learn new programming languages. The possibility to program and work with HTML, CSS and Ruby on Rails sparked my curiosity and it was this spark that made me want to start my journey at Imaginary Cloud.
My expectations grew with the opportunity to improve my competencies in web development and, through this, I could create solid bases and open the road to the professional world.
The main reason I applied for Imaginary Cloud (my first choice) was their presentation. Firstly, it didn't stink of consulting firm, which is always a bonus and, secondly, it didn't have any unnecessary imagery or any bragging about their past achievements. It was just the CEO pitching the company and the internship to an auditorium full of students, followed by answering the barrage of questions about the workplace environment, the project itself, the remunerations and other details.
Now, if you don't know our CEO, he can be pretty convincing when it comes to getting a point across, trust me. This definitely sparked my interest but, in the end, the most attractive feature of this internship was that it presented an opportunity to study a new technology from tip to toe in a professional environment.
Beginning the journey
I knew that the integration would not be easy, after all, it was the first time that I would be working at a company and developing real projects. Surrounded by new faces that I didn't yet know and not knowing what was going to follow, yet eager to get going and start learning. All of this is part of the process and probably a crucial part of the 5 month long experience.
It is the part where you make the initial connections and the links needed to succeed. And after all is said and done, I have to say that it was an amazing journey. I had the opportunity to learn from experienced professionals and to gather a lot of knowledge.
Coming from my previous internship in a more traditional tech company, and even after Tiago's presentation, I was expecting what I had come to know as normal as a work environment goes: 9am to 5pm, polo shirts and button ups, with no communication between developers, because silence means concentration, unless it's to talk about football (we're Portuguese after all). That was not the case at all at Imaginary Cloud.
The main highlights
The task of developing a homepage for a website gave me the chance to try and work with tools that I've never used before and it also allowed me to understand the front-end development process and the use of Bootstrap along with Flexbox helped in the success of the project.
Another skill I had the chance to develop was working with Ruby on Rails and integrating the OneDrive on the project. This was, at least, as fun as developing the front-end. Understanding this new framework was definitely a curve ball and yet it was so much fun to puzzle it out, even more because I managed to achieve the expected results, while gaining new knowledge.
Furthermore, the need to work with REST and interact with an API was perfect to be able to understand the process better. All of this raised my knowledge base to new levels.
The most satisfying part, tech wise, of being at Imaginary Cloud has to do with participating in an Agile development environment. Coming from the University, I was really used to strictly following the requirements given when developing a piece of software, with almost no feedback and finally getting graded on the end product, which is not how current companies work.
Finishing a task, submitting it, get feedback and then go back and tweak based on the feedback received is a practice that should be enforced way more during the course of the uni's degree, so it can represent an experience closer to the actual work practices that you'll face when you finish your degree.
Working with the team
The lucky circumstance of having an internship colleague was ideal. It allowed the discussion of ideas and it was without a doubt a valuable resource. Although we were working on different tasks, there was a sense of comradery and mutual help between us. At times, when I felt lost, there was always someone to point me in the right direction and show me the next steps. In other occasions, I had to show a critical sense of judgement and initiative to solve some problems.
During this process I met fantastic people who were always available to help, collaborate and share ideas in the best possible way. The workspace was always alive, very dynamic and relaxed, showcasing the perfect balance to rollout tasks and projects. All of this provided excellent motivation.
As I've mentioned before, communication is always flowing in the team and I consider that to be very positive. Pair programming is welcomed and that leads to conversations which, by itself, usually lead to solutions. When those aren't reached, at least we're trying different ways to get there.
This made my adaptation period a very fun and engaging stage of the internship. The fact that the team is very friendly and helpful really helped because there's no better way to feel welcomed than by having an entire team as excited for your presence there as you.
Closing this chapter
Now, at the end of my journey, I can state that I achieved all of the objectives that I initially outlined. I have broaden my horizons in terms of knowledge and built good bases in front-end development. I worked with various tools, languages and with different people and took this chance to grow as a professional, based on all those aspects.
Fast-forward to now, after 5 months, the internship is over and I was invited to join the Imaginary Cloud team as a full-time developer. The time I spent with this team was one of the most enriching and educational experiences of my entire academic career, both in a professional and personal level, so the answer was obvious.
In the end, if the period to come is as challenging and rewarding as this internship was, I plan to stick around for some time. So, I'll see you in the next blog post.
Five months have passed and both Tiago and Rafael were invited to stay with us for the long run, given their valuable contribution to the projects in which they were involved. We wish the best of luck to them in this new chapter of the long journey they just started.
At Imaginary Cloud, we simplify complex systems, delivering interfaces that users love with our own Product Design Process. If you’ve enjoyed this article, you will certainly enjoy our newsletter too, which may be subscribed below. If there is any project that you think we can help with, feel free to reach us. We look forward to hearing from you!