민트기술 인턴 후기 – 김영호님

대학교에서 단순히 컴퓨터에 대한 지식, 코딩에 대한 지식만 쌓아왔지 실제로 활용해 본 적 없던 나는 입사한 첫 날 걱정이 앞섰다. 외부프로젝트의 ios 버전을 인턴 2명이서 맡게 되었기 때문이다. ios 개발이라고는 저번 학기에 들었던 수업에서 한 3개월의 경험밖에 없던 난 당연히 걱정이 생길 수 밖에 없었다. 또한 내가 대학에서 배웠던 지식은 알고리즘, 자료구조, 오토마타 등 이론에 대한 지식밖에 없었는데 이 프로젝트에서 요구하는 건 그런게 아니었다. 

 

내가 프로젝트를 진행하는데 있어서 필요한 지식은 크게 5가지였다. 

IOS 앱개발에 필요한 지식, BLE 통신, 데이터베이스, 서버 API통신, 마지막으로 git에 대한 활용법. 

이 5가지 중 내가 갖고 있던 지식은 3개월 동안 배운 IOS 개발에 필요한 지식이 다였기에, 걱정이 많이 앞섰다. 

 

프로젝트는 다음과 같은 순서로 진행됐다. 

  1. UI 구현 
  1. 내부 API 구현 
  1. 외부 API 구현 
  1. 테스트케이스 실험 

 

내가 느끼기에는 UI 구현이 가장 어려웠다. xcode와 swift에 익숙치 않아 많은 시행착오를 겪었기 때문이다. 내가 알고 있는 앱개발에 필요한 지식은 극히 일부라서 UI구현에 필요한 지식을 일일이 다 검색해가면서 찾았다. 개발에 가장 지장이 되었던 것은 앱에 대한 가이드라인이 따로 존재하지 않는다는 것이었다. 가이드라인이 없어 기존에 있던 안드로이드 버전을 참고해가면서 프로젝트를 진행해야 됐는데 심지어 안드로이드 개발도 잘 몰라 진행사항이 매우 더뎠다.  

또한 기존의 난 git에 대한 지식이라고는 push, pull 밖에 없었다. 대학에서 깃을 다루긴 했지만 다 개인과제였기 때문에 따로 브랜치를 만들 이유가 없었기 때문이다. 그래서 git에 대해 알아가는 데 또 시간이 걸렸다. 

 

그러나 시간이 지나면서 이런 애로사항들이 하나 둘 해결됐다. 회사에 출근해 하루종일 구글링하고 남들의 코드를 보면서 오토레이아웃, 세그웨이 등 UI구현에 필요한 전반적인 지식이 쌓이고 안드로이드 또한 어떤 방식으로 동작하는 지 알게 되자 진행속도가 상당히 빨라졌다. 구글을 보는 시간보다 코드를 보는 시간이 많아졌고 점차 자신감이 생겼다. 또 git은 회사분들께서 너무 자세하게 설명해주셔서 금방 사용법을 알게 되었다. git을 활용해 클론을 따고, 브랜치를 만들고, Merge Request를 하는데 내가 진짜 프로그래머가 된 기분이었다. 프로그래머의 기본은 협업인데 협업을 하는 방법을 알았기 때문이다. 그렇게 UI 구현은 2주만에 끝났다. 

 

다음으로는 내부 API 구현을 진행했는데 이 때 BLE통신, 데이터베이스 등을 배웠다. 프로젝트를 진행하면서 가장 많은 시간을 할애한 것이 BLE통신이었다. 애초에 BLE가 뭔지도 몰랐던 난 이 기능을 앱에 구현하면서 코딩보다 정보를 찾는 데 시간을 다 썼다. IOS에서 지원해주는 Core Bluetooth가 어떻게 동작하는 지 부터 peripheral이 뭔지, Service가 뭔지, characteristic이 뭔지 차근차근 알아갔다. 그 뒤에는 제품과 핸드폰 기기와의 통신에 필요한 프로토콜을 이해하는데에 또 많은 시간을 할애했다. 이 단계에선 사수분의 도움을 많이 받았다. 사실 처음 프로젝트를 맡았을 때부터 사수분이 정해졌지만 그 동안 오기때문에 혼자 진행하려고 노력했지만 진행속도가 너무 더뎌져 도움을 요쳥했다. 이 때 사수셨던 승리씨는 원래 따로 진행하시던 프로젝트가 있음에도 불구하고 너무 친절하게 가르쳐주셔서 감사했다. 이렇게 BLE통신을 구현했을 때의 심정은 말로  다 할 수 없다. 

그 다음엔 데이터베이스를 구현했는데 이 과정은 생각보다 빨리 끝났다. 따로 이해해야할 지식은 없고 어떻게 써야 되는 지만 알면 됐기 때문이다.  이렇게 내부 API 또한 2주만에 끝났다. 

 

이 때 되게 나한테 놀랐던 것은 불과 한 달만에 UI구현과 내부 API를 구현했다는 것이다. 그리고 코딩에 상당이 자신감이 붙은 나를 발견했다. 앞으로 프로젝트를 진행하면서 어떤 어려움이 닥쳐도 해낼 수 있을 거란 생각이 들었다. 

 

뒤로는 외부 API 통신을 하게 되었다. 여기서 생각보다 많은 시간을 할애했는데 그 이유는 클라이언트 쪽에서 서버 API 통신에 대한 규격같은 것을 아예 제공해주지 않았기 때문이다. 따라서 내가 기존에 있던 안드로이드 소스를 일일이 분석해가면서 규격을 찾아내고 구현했는데 이 과정에서 많은 시간이 걸렸다. 하지만 막막해보였던 이 또한 하니까 되더라. 

 

이렇게 막막했던 프로젝트 중 3가지를 끝냈을 때 난 전에 적었던 진행에 필요한 5가지에 대한 전반적인 지식이 생겼다. 불과 한달 조금 넘겨서 말이다. 내가 걱정했던 것은 기우였다는 것을 알게 되었고 이젠 난 개발에 대해 자신감이 생겼다. 과장을 조금 더하면 이대로 바로 취직해도 먹고 살 수 있겠다는 생각이 들었다. 가장 중요한 건 앞으로 개발하는데 어떤 어려움이 닥쳐도 해낼 수 있을 거란 생각이었다. 물론 시간이 많이 걸릴 수는 있지만 불가능하지 않다는 확신이 들었다. 

이후에는 원래 테스트케이스를 실험하면서 오류를 잡아내야 했지만 클라이언트 측에서 갑작스레 UI를 변경해 변경된 UI를 구현해내는데 시간이 많이 걸렸다. 또 UI를 좀 더 상세하게 고치면서 이제는 새로운 지식을 쌓기보단 알고있던 지식을 활용하는 반복작업이 시작됐고 그 후에야 테스트케이스를 실험했고 프로젝트는 거의 끝이 났다. 

 

프로젝트를 진행하고 나서 새삼 느낀 것은 회사의 분위기가 굉장히 자유롭다는 것이다. 사장님과의 면담시간중 ‘I LIKE I WISH’라는 것을 했는데 I LIKE 는 회사에서 좋았던 것, I WISH는 회사에 바라는 것을 얘기하는 것이었다. 이 때 내가 I WISH 시간에 얘기한 것이 2일뒤에 반영이 되었는데 상당히 놀랐다. 인턴에 불과한 나의 얘기를 반영하는 게 쉽지 않은 일이기 때문이다. 내가 갖고 있던 IT업계 회사에 대한 선입견이 여기서 많이 없어졌다. 보통 IT업계를 생각하면 회사에서 시키는 대로 일만하고 야근도 밥먹듯이 하는 그런 회사가 생각났었지만 민트기술에 와서 다 그렇지는 않다는 것을 깨달았다. 출근 시간도 9~10시 사이 자유롭고 퇴근도 눈치보면서 퇴근하는 그런 분위기가 전혀 없어서 일하는 2달동안 너무 좋았었다. 

 

이렇게 2달동안 인턴을 하면서 난 하나의 프로젝트를 맡게 되어 거의 끝을 냈다. 이제 난 기초적인 개발을 할 수 있게 되었고 회사에 대한 많은 선입견이 사라졌다. 또한 내가 전공하고 있는 소프트웨어에 더 많은 애정이 생겼다. 가장 좋은 건 코딩에 대한 자신감이 생겼다는 것이다. 이렇게 언제든 그만둘 수 있는 인턴에게 하나의 프로젝트를 맡겨주신 사장님과 프로젝트를 진행하면서 도움을 주셨던 회사 사람들께 너무 고마웠다.  

민트기술 인턴 후기 – 김나용님

컴퓨터전공을 하고 있는 저는 3학년을 맞이하였습니다. 원하는 전공과 함께 대학생활의 절반을 넘게 보냈지만, 졸업 후 뚜렷한 진로의 방향은 정하지 못했습니다. 모바일 어플리케이션 개발은 제가 좋아하던 개발의 분야 중 하나입니다. 동아리와 교내 수업을 통해 진행했던 Android와 IOS 어플리케이션 개발 프로젝트는 저에게 큰 흥미를 주었고, 마침 교수님의 인턴쉽 제안으로 민트기술에서 일 할 기회를 얻게 되었습니다.

꿈을 안고 시작하는 모든 것들이 설레듯, 저도 많은 설렘과 기대를 안고 인턴을 시작했습니다. 제게 많은 기회를 안겨다줄 것 같아서입니다. 그리고, 제가 보낸 2달은 그 기대에 맞추어 보람차고 좋은 경험이 되었습니다.

가장 기대되었던 것은 현업에서 일하시는 분들과 얘기를 나눌 수 있고, 그 분들과 함께 일 할 수 있다는 점이었습니다. 동아리나 수업을 통하여 진행한 팀프로젝트 덕분에 협업을 통해 얼마나 많은 배움을 얻을 수 있는지 느껴왔습니다. 많은 실무 개발 경험을 지니신 분들과 일한다면, 이전의 친구들에게서 배웠던 것과 다른 빛깔의 많은 배움을 얻을 수 있을 것 같았습니다. 아니나 다를까, 처음 마주한 코드리뷰 시간은 제가 기대했던 회사 생활에 부응했습니다. 각자의 프로젝트 뿐만 아닌, 회사 내의 모든 개발자들이 팀별로 GitLab을 통하여 코드를 공유하고 피드백하는 것입니다. 코드의 개선 방향을 토의하고, 나의 프로젝트가 아니더라도 코드를 보며 자신의 주종목이 아닌 일에도 지식을 쌓는 것, 궁금한 점을 묻기도 하며 함께 성장하는 시간이었습니다. 비록 미숙한 인턴이었지만 코드리뷰에 참석하여 현업 개발자 분들의 업무와 코드를 함께 할 수 있다는 것은 제가 기대했던 인턴쉽의 부분을 채워주었습니다.

다음으로 제가 인턴 후 기대했던 점은, 제가 실제 회사에 적응하고 저의 적성을 녹여, 이 분야에서 즐겁게 일할 수 있을지였습니다. 회사 문화에 적응하는 것은 쉬웠습니다. 민트기술은 소규모 회사였기 때문에 주변에서 이야기 들었던 많은 회사들보다 훨씬 수평적이고 단란했습니다. 서로가 서로의 주분야를 알고, 친밀하게 지내기 때문에 회사생활을 하는 내내 기분이 상하거나 힘들었던 적은 없었습니다. 사장님께서 인턴 중간 중간에 회사에 대한 불만은 없냐고 물어보셨고, 저희가 어떤 일을 진행하는지 관심 가져 주셨습니다. 물음은 주로 ‘I like, I wish’에 대한 답변이었습니다. 제가 이 회사에서 좋았던 점과 부족한 점이 있다면 어떻게 되기를 바라는 지 말할 기회가 꾸준히 주어질 수 있었습니다. 실제로 말씀 드린 것들은 사소한 것들이라도 개선이 되어 만족스러운 회사생활을 할 수 있었습니다.

실무를 맡아 개발을 하는 것 또한 즐거웠습니다. 제가 맡았던 프로젝트는 3명이 함께 기존에 있던 헬스케어 어플리케이션을 업그레이드 시켜서 Android, IOS 어플리케이션으로 개발하는 것이었습니다. 저는 주로 Android개발을 하였습니다. 어플리케이션의 주요 기능은 의료기기 블루투스와 통신을 하고, 데이터를 받아 저장하고 서버로 전송하는 것이었습니다. 처음 프로젝트를 맡았을 때, 잘 해낼 수 있을지 두렵기도 했지만, 차근 차근 Gitlab의 Issue를 해결해나가다 보니 어느새 주요 기능을 다 구현할 수 있는 어플리케이션이 되었습니다.

부족한 개발자를 채워줄 수 있는 많은 것들을 할 수 있게 되었습니다. 참 필수적인데 하지 못했던 것들인 git사용도 그중 하나입니다. 단순한 사용에 그쳤던 git을 회사 일을 진행하면서, fork, branch, issue, merge request 등을 할 수 있었고, 보다 용이한 방식으로 이용할 수 있게되었습니다. Issue의 순서를 짜고, 테스트케이스를 만들어 테스트하는 사소한 방식 하나하나가 개발 방식을 잡아주는 것에 도움이 되었습니다. 기술적인 면에서 또한 많이 성장했습니다. 회사에 오기 전에는 도전하지 않던 기능들을 구현해 볼 수 있는 기회가 있어서 참 좋았습니다. 블루투스가 전송하는 프로토콜을 받아 표를 보며 정보에 맞게 분석하여 다루어 본 것이 그 중 하나입니다. DB를 위하여 새롭게 접한 언어인 Realm도 이용해보고, 처음 해보는 서버 API통신도 해낼 수 있었습니다. 몇몇 기능들을 위하여 썼던 오픈소스는 유용하고 효율적인 개발을 할 수 있게 도왔습니다.

주변의 도움으로 즐거운 개발이 가능했습니다. 잘 모르는 것들이 있어도, 도움을 받아 능력을 기를 수 있었고, 그러다보니 어느새 저 혼자만으로도 해결할 수 있는 일들이 많아졌습니다. 그래서, 더이상 막히는 것이 두렵거나 좌절스럽지 않게 되었습니다. 부득이 Issue의 마감 기한을 넘기게 되었을 때도, 저의 수준을 고려하여 다시 스케줄을 짜주셨고, 부족함에 대하여 압박하시지 않아주셔서 부담감이 아닌 책임감을 가지고 업무를 처리할 수 있었습니다. 팀원과 생각을 맞추어 나가면서 해결하고, 또는 제안해주는 새로운 구조는 더 나은 코드를 짜는 것에 도움이 되었습니다. 착하고 긍정적인 팀원들 덕분에 조금 막연하고 힘들어도 으쌰으쌰할 수 있었습니다. 또한 사내 경험 많으신 Android개발자분들이 문제 해결에 필요한 지식을 친절히 다져주셔서 해결에 도움을 주셨습니다. 질문에 답변해주시고, 제안해주시는 해결책들을 통해 정말 많이 배웠습니다.

 

 ‘개발의 실제 업무는 어떻게 진행되는지, 그리고 나는 잘 해낼 수 있을 지’. 이 두 가지를 잘 알 수 있었던 시간이었습니다. 인턴을 하기 전의 설렘은 만족스러운 경험을 남기고 끝났습니다. 이제 저는 개발자가 된다는 더 큰 설렘을 안고 남은 학기를 마무리 지을 수 있을 것 같습니다. 좋은 경험을 안겨준 민트기술과 회사의 모든 구성원분들과, 함께 인턴을 했던 좋은 친구들 모두 감사합니다!

민트기술 인턴 후기 – Phaisakha Tulyathan

The internship definitely allowed me to make use of what I learned from class. In the beginning, I wasn’t comfortable with using Auto Layout. But, with the help of my coworkers, I learned to implement this feature in a more effective way. Moreover, the internship also allowed me to explore different area of platforms. At first, I was only designing user interface for iOS apps. It wasn’t until this work experience that I get to design user interface for android apps as well.

Interning at Mintech hasn’t only helped me to improve my skills but it also sparked my interest in application development area. I was able to get a hand on experience with API integration which would be helpful for my future education. What I really like about this company is that the employees can arrive at work anytime between 9 am – 10 am. So, it’s really nice for people who live further away from where the company is located. Moreover, the company also provides lunch for the workers and there’re also coffee and snacks available in the office. The people here are also very friendly despite the language barrier. Therefore, even though I cannot speak Korean I still feel comfortable working here.

It would be better if the internship program allow interns to talk with clients so that we would actually get a taste of what it is like to work in the real world as communicating with customers does play an important role in one’s career. Also, since the interns are very new to the professional world and need more guidance than workers who have been working at the company for longer time, it would be nice if the interns can get feedback from older coworkers so that we know how well we’re doing. From those feedback, we can learn about the area in which we need to improve on and become better at our job.

Overall, I would recommend others to work here. It would be very helpful if they have prior knowledge in coding since most of the major tasks require some coding knowledge.