My Internship Experience at Orion Innovation Turkey
First, I would like to introduce myself briefly. My name is Batuhan and I’m about to start my senior year at Sabancı University. I’m majoring in Computer Science, and I’ve just finished a two-month long summer internship at Orion Innovation Turkey. I would like to tell you about my thoughts and experiences in this article.
How did I get this internship?
This was going to be the first step in my career, so I was very excited and a bit nervous. I wanted to work in a company that I could proudly display in my CV and one that would teach me about the real-world applications of software development. I prepared my first resume ever and I applied through the career website of Sabancı University. A few days later I received a phone call and I was invited to an interview for the internship. During the interview, unlike some other companies that do their interviews with just a single HR representative, there were numerous engineers as well as some HR reps. Doing the interview with multiple developers from different branches showed me that this company gives an enormous value to even the least important member of the company. This was a small glimpse of the work ethics and the quality of Orion. In the interview, they asked me about my career aspirations and my opinions about different subjects in software engineering such as databases, mobile development and DevOps. A week after the interview I was told that they were willing to work with me. Consequently, the paperwork process began. After signing the documents and posting them I was ready to start my remote internship.
The First Day
I wanted my first impression to be a good one. I booted up my computer and joined a scrum meeting right away. I was introduced to the team as the new intern. I understood almost nothing in the first meeting as people were using technical words and abbreviations that I had never heard before, such as Jira, PR and specific things regarding the product. However, they were really patient with me and explained the meaning of each word to me one by one. A week later I was able to understand everything. The supportive attitude continued all the way to the end. Whenever I had a problem, I felt very comfortable asking about it and I was sure that I wouldn’t be ignored or ridiculed. I was told that besides the business-related work that they do, they also had an ethical mission to teach and guide newcomers to the sector.
My first assignment ever was to do research about OpenSSH, Java and REST API. After a couple of days, I was ready to begin the first step of my project.
About My Project
The project had two steps. First one was to send a request to the Jira REST API, retrieve the issues in Jira according to their labels and print it on a text file. And on the second step the program needed to connect to a Linux server through ssh and run multiple commands there.
I was really excited to write code for a company for the first time. I collected all the info I could find on the internet and started coding the first step. At the end of the first week, I was ready to present my first prototype to everyone. The first step was pretty much done, it was working correctly and I was proud of myself. However, when I presented, I realized that unlike an ordinary homework assignment, not only the correctness mattered, but the code quality was also essential. In the following days, I learned to do unit testing, comment better and properly split my spaghetti code into different classes and methods. These changes may not have been crucial when they were first added, but these improvements have helped me immensely two months later. The code was much easier to read and understand. I would argue that many problems when creating a program can be solved by googling or using Stack Overflow; however, writing code that is easy to read and understand requires experience. I am grateful to my seniors at work who have shared their knowledge with me and helped me become a better Software Engineer.
The second step required more effort to finish. Most ssh libraries in Java were successful at sending a single command to a server but when it comes to sending multiple commands or waiting for user input, the libraries I used were very problematic. I tried to come up with a solution but my efforts were futile. In the end, I asked about it and it took a couple of minutes for them to come up with a better library which not only solved my problems but also explained the technical reasons for the problems in its documentation. While I was trying to code harder to fix the problems, there was already a simple solution that I missed completely.
During the development of this project, I also learned more about GitHub. Before this internship, I only used GitHub to store my code for my small projects and to show that I have a GitHub account. An additional thing that this internship taught me is how to use GitHub effectively. I had to use branches, create pull requests, issues, and more. I only knew about commit and push before, but now I can see why git and GitHub are great tools for developers to utilize in their projects.
This was my introduction to working in the field and it has surpassed my expectations by a mile. I was impressed by the warmth of the people and their professionalism. I learned lots of things in these last two months and I think I am a better software developer now. Thanks to this internship I am much more confident in my programming skills although I know that I still have a long way to go. I am very glad that I had the chance to do my internship at Orion Innovation Turkey, thanks to everyone on my team once again and thank you for reading.