민트 인턴 후기 – 원다연님

웹 프론트엔드 개발과 관련한 프로젝트는 크게 2개가 있어 2개를 주로 맡게 되었다. 하나는 PLSnote 서비스인데 회사 업무를 PDCA 방식으로 관리하는 프로그램이다. 이 프로젝트는 Ruby 언어와 Ruby on Rails 프레임워크를 사용하고, slim과 stimulus.js를 사용하고 있다. 사용자들이 실제로 사용하면서 발생하는 에러나 추가되었으면 하는 기능 의견을 받아 처리해주는 업무이다. 해당 이슈들을 처리하기 위해 주로 데이터베이스 쿼리를 해서 클라이언트단에 정보를 넘겨주는 코드를 짰다. 그리고 하나는, 서울대에서 하는 연구 프로젝트의 일부인데 사람의 목소리를 지문처럼 인식해서 음성을 비교해 분석해주는 프로그램이다. 해당 프로그램이 돌아가는 서버 환경을 수정하거나 UI를 수정하는 업무를 맡아 진행했다. 타입스크립트 기반의 React 프레임워크를 사용하고 있으며, 서버쪽은 node 를 사용하고 있다. 이외에 HTTP 기본 지식, 프론트엔드 개발환경, 웹 성능 최적화하는 방법 등에 대한 학습을 하며 개발 지식을 넓혔다.

프로젝트를 진행하면서 새로운 언어인 Ruby를 접하게 되었고, 문법도 모르는 언어의 코드를 수정하고 추가해야하는 상황이어서 처음에는 막막했다. 그러나 시행착오를 겪고 많이 찾아보고 질문하면서 배워나갈 수 있었다. 그렇게 이제 Ruby가 조금 익숙해져서 전만큼 두려워하지 않고 부딪혀보는 용기가 생겼다. 혼자 공부했다면 접해보지 않았을 언어이기도 하고 백엔드까지 함께 다루게 되어 값진 경험이었다. 이미 구축되어 있는 DB 스키마를 보며 원하는 데이터를 어떻게 가져올 수 있을지 고민하며 성장할 수 있었다. 이런 경험들이 쌓여 프론트엔드에서 어떻게 처리를 해야 백엔드와 연결될 수 있는지 이해하고 알게 되었다. 현장실습하기 전보다 개발적인 면에서 많이 성장한 것 같다. 이전에는 짜여진 코드를 이해하는데 엄청 오랜 시간이 걸리거나 모르는 것이 많아서 찾아보는 일이 많았는데 지금은 어느정도 눈에 들어오고 서칭하는 방법도 디테일해진 것 같다.

실습 전에는 어떤 기능을 개발하는 것에만 집중하고 그 방법에 대한 고민을 많이 했다. 그런데 회사에 오고 실제 프로젝트에 참여하여 코딩을 하면서 먼저 웹 구조를 아는 것이 중요함을 깨닫게 되었다. 그래서 웹 구조에 대한 학습을 했고 이로 인해 프론트엔드와 백엔드가 어떻게 통신하는지 알게 되었고, 전체적인 코드를 보는 관점이 달라졌다. 그리고 실제 프론트엔드와 백엔드 코드를 같이 수정해야 해결되는 이슈들을 맡아서 해결해보면서 학습한 내용을 적용할 수 있었다. 처음 사용해보는 언어와 프레임워크여서 이해가 잘 되지 않고 어렵기도 했지만 개발자님이 천천히 하나하나 설명해주시고 같이 이슈를 해결해나가면서 문법에 익숙해지고 많이 배우게 되었다. 그리고 다른 인턴 분들과 협업하여 이슈를 해결한 적도 있는데 혼자서 잘 풀리지 않던 부분을 다같이 이야기하며 방법을 모색하고 도전해 봤던 점이 큰 원동력이 되었다. 긴 시간동안 어려운 부분도 많아서 힘들었지만 그래도 고민한 시간들이 모여서 성장할 수 있었던 것 같다. 성장할 수 있도록 도움을 주신 대표님, 개발자님, 그리고 인턴분들 모두에게 감사하다.

민트 인턴 후기 – 서민규님

2021년 7월 1일, 인턴으로 출근하며 설레는 마음으로 민트기술에 입사하게 되었습니다. 처음 일을 시작할 때 6개월 뒤에 얼마나 발전하게 될지 매우 궁금했는데, 현재 6개월이 지난 시점에서 매우 만족하고 있습니다.

제가 맡은 업무는 3가지로, 띵동, plsnote, snu 성문분석 프로그램이었습니다.

띵동 업무를 진행하면서, 학부생 때 경험하지 못했던 프론트엔드와 백엔드의 개념을 확실히 이해할 수 있었습니다. 또한 실제로 배포되어 사용되고 있는 어플리케이션이기 때문에, 띵동을 이루고 있는 코드들이 다양하여 처음에는 막막하였습지만, 개발자 분들께서 친절하게 설명해주셨습니다. 가장 생각나는 부분은 푸드테크 리팩토링을 위해 기존 구조에 대한 다이어그램을 그렸던 업무가 생각납니다. 이 업무를 통해서 띵동이 외부 API와 어떠한 방식으로 연결되어 있는지 확인함으로써, 더 잘 이해할 수 있었습니다.

plsnote를 진행하면서 Ruby on Rails에 대해 많은 교육을 받았습니다. Ruby는 기존에 제가 알고 있었던 언어들과는 매우 다른 언어였는데. 매우 친절하고 직관적이기 때문에 처음에는 적응이 잘 되지 않았지만 개발자분들께서 교육해주시고, 이슈를 직접 해결하는 실습을 통해서 이해할 수 있었습니다. 또한 MVC패턴에 대해서 완벽하게 이해할 수 있었습니다. Ruby on Rails의 파일에 각각 Model, Controller, View 폴더로 이루어져 있는데, 이 부분에 필요한 Ruby 파일을 추가하여 웹을 구성하고 있습니다. 가장 놀라웠던 부분은 routes에 선언된 resource 부분이 Controller 폴더 및 파일의 구조와 일치하기 때문에 resource 아래 선언되어 있는 Controller action을 조회하기가 매우 쉬웠습니다. 특히 권한 관련 table을 수정해야 하는 부분의 migration 파일을 다루는 이슈가 있었는데, 이 이슈를 통해서 table에 대한 내용, 관계 등 plsnote를 이루고 있는 Database를 이해하기 수월하였습니다.

snu 성문분석 프로그램을 진행하면서, 프론트엔드 언어인 React에 대한 실습을 많이 진행하였습니다. 음성 여러개 업로드, 음성 녹음 파일 업로드 이슈를 진행하면서 React 의 컴포넌트들이 어떠한 방식으로 선언이 되고 props와 state를 통해 컴포넌트의 데이터를 주고 받는 과정을 이해할 수 있었습니다. 또한 백엔드 프레임워크로 Django를 사용하였는데, 서버에서 N대N 음성 분석 결과 그래프를 png파일로 저장하였고, xmlhttprequest를 사용하여 png파일이 포함된 response 데이터를 통해 프론트엔드 단에서 그래프를 확인할 수 있도록 하였습니다.

이슈를 직접 진행하는 실습을 통해서, 여러가지의 성과를 가지게 되었습니다. 우선 git을 사용하는 방법에 대해 매우 능숙해지는 성과가 있었습니다. gitlab을 통해서 프로젝트에 대한 이슈들을 열람하여 이해하고, 이슈를 해결하기 위해 새로운 branch를 만들어서, 코드를 수정하였습니다. 수정한 코드를 commit 후 push하면 개발자분들께서 merge를 하기 위해서 코드를 열람하고 피드백을 주시는 부분에서 개발실력 향상과 나중에 취업할 때 커뮤니케이션 능력을 기르는데 매우 큰 도움이 된다고 생각하였습니다. 그리고 Django, React, Ruby on rails 같이 다양한 개발 언어를 경험함으로써 어떠한 언어든지 공부하여 잘할 수 있겠다는 자신감을 가지게 되었습니다.

민트기술을 통해 4학년 2학기를 마무리 했다는 것에 매우 다행이라고 생각합니다. 개발자 분들이 작성하신 많은 코드들을 직접 확인하면서, 코드가 어떻게 작성되고 외부 API와 연결되는 방법들, 코드 구조에 대한 부분 등 정말 많이 배울 수 있었습니다. 그리고 gitlab을 통해 로컬에서 브랜치를 만들어서 각자 수정하는 코드들을 remote 코드에 push하고, merge request를 하기 전 사수분들이 내가 작성한 코드를 피드백해주시는 부분에 있어서 개발회사가 어떠한 방식으로 업무를 보고 있는지에 대해 직접 경험함으로써 실무적인 역량을 쌓게 되었습니다. 소프트웨어융합대학 SW사업단에서 지원하는 장, 단기 현장실습을 하는 학생들에게 민트기술을 강력히 추천하고 싶습니다. 사수 분들도 너무 친절하시고, 회사 복지도 좋고, 학부생이 경험할 수 있는 인턴 중 가장 좋은 인턴경험이라고 생각합니다. 웹 개발 관련 분야에 대해서 자세하게 알 수 있게 해준 민트기술에게 감사합니다.

민트 인턴 후기 – 이나윤님

민트기술에서 약 6개월 동안 보조 배터리 공유 서비스 “아잉” 관련 개발에 참여하며 인턴십을 진행하였습니다.

소프트웨어를 전공으로 해서 3년이 넘는 시간을 공부해왔지만 뚜렷한 진로를 결정할 수 없었습니다. 무엇이 하고 싶은지 결정할 수 없어 고민하던 때에 학업을 잠시 중단하고 민트기술에서 인턴십을 진행하게 되었습니다.

저는 민트기술이 개발하고 서비스 중인 보조 배터리 공유 서비스 “아잉” 관련 백엔드부터 웹, 프론트엔드까지 전반적인 개발에 함께 참여하게 되었습니다.

개발에는 루비 온 레일즈를 사용하였는데, 루비와 레일즈 모두 익숙하지 않았을 뿐만 아니라 프레임워크조차 생소했습니다. 개발하면서 루비 온 레일즈에 익숙해지라는 사장님의 말씀에 따라 간단한 이슈를 맡아 개발하기 시작하였습니다. 처음에는 뷰 부분 위주의 이슈를 주로 맡아 루비 온 레일즈 동작 방식에 대해 파악하였고 사수님의 도움과 인터넷, 책을 참고하며 루비 온 레일즈에 익숙해지기 시작하면서 기능 구현과 같은 이전보다 복잡한 이슈도 맡아 처리하였습니다.

인턴십 기간 동안 아잉 관리자 페이지의 자잘한 뷰 수정부터 기능 구현까지 다양한 이슈에 참여하였습니다. 개발은 마일스톤에 따라 진행하였는데, 마일스톤의 목적에 부합하는 이슈를 할당받아 마일스톤 기한 내에 구현하기 노력하였습니다. 특히 기억에 남는 이슈는 아잉 현장 관리자 기능을 구현하는 이슈였습니다. 해당 이슈는 루비뿐만 아니라 자바스크립트를 이용해서 여러 가지 기능을 구현해야 하는 이슈였는데 기능 중 하나는 AJAX를 이용해서 화면 전환 없이 페이지 일부에만 변경된 데이터를 표시하는 것이었습니다. AJAX를 구현해본 적도 없을뿐더러 이곳에서 AJAX라는 것을 처음 접하게 되었고, 자바스크립트 역시 익숙하지 않은, 잘 모르고 생소한 것들로 인해 이슈를 처리하는 과정은 난관의 연속이었습니다. 그렇지만 개발 기한을 맞추기 위해 개발사항을 단계별로 나누고 구현 가능한 부분은 최대한 스스로 해내려고 하였습니다. 다만 모르는 것은 인터넷과 책을 참고하고 동기 인턴님과 사수님께 여쭤보며 해결해나갔습니다.

위와 같은 기능 구현의 어려움으로 인해 기억에 남기도 했지만 무엇보다도 해당 이슈에 코드 리뷰가 많았기 때문에 기억에 남습니다. 고작 해봐야 친구들과 혹은 공모전에서 프로젝트를 진행한 게 전부이다 보니 코드 리뷰를 제대로 진행해본 적이 없어 어려움을 겪었습니다. 처음엔 제가 짠 코드에 대해 리뷰를 달아주시는 것을 고치는 데에 급급했지만 이후에는 왜 그렇게 리뷰를 달아주셨는지에 대해 생각하고 참고자료를 찾아보며 또 다른 공부를 할 수 있었습니다. 해당 이슈는 다른 개발자분들의 코드 리뷰를 받으면서 기능을 잘 구현하여 마무리할 수 있었습니다.

인턴십을 진행하며 코드 리뷰가 단순히 더 좋은 코드를 짜기 위한 것뿐만 아니라 기존에 있던 코드들과의 통일성을 지키기 위한 것임을 알게 되었습니다. 이를 통해 각각의 회사가 가지고 있는 코드 컨벤션이 얼마나 중요한지도 알게 되었습니다. 위의 내용을 바탕으로 저 또한 다른 개발자분들의 코드를 리뷰하였으며 깃랩 위키에 적혀있는 회사 코드 컨벤션을 참고하며 리뷰를 남겼습니다.

약 6개월이라는 시간 동안 크고작은 이슈를 할당받아 개발을 진행하였고 대부분 머지되어 실제 프로그램에 적용되었습니다. 비록 커다란 프로그램에서 아주 작은 기능 하나를 구현한 것이지만 이것을 시작으로 점차 더 복잡하고 주요한 기능을 구현할 수 있다고 생각하였고 인턴십을 시작하기 전의 저에게서는 찾아볼 수 없었던 자신감이 생겼습니다. 모든 것에 미숙하던 저에게 일을 맡기고 제가 좀 더 나은 방향으로 나아갈 수 있도록 도와주신 사장님과 회사 사람들께 정말 감사했습니다.

민트 인턴 후기 – 이종민님

4학년 1학기가 끝나갈 때쯤 학교 공지사항에 인턴십 프로그램 신청 안내가 올라왔고 여러 기업 리스트 중에서 민트기술에 신청서를 냈다. 대학교에서 여러 프로그래밍 수업과 과제를 했었지만, 막상 다른 사람들이 실제로 사용할 프로그램을 만들어보라고 하면 만들 자신이 없었다. 게다가 협업도 대학교 조별 과제는 사실상 혼자 만드는 거나 다름이 없었기에 협업에 대한 개념도 없었다. 이러한 상황에서 합격 소식을 들었을 땐 걱정이 앞섰다. 하지만 다른 한편으로는 실제 회사 생활은 어떤지, 실무에서는 어떤 언어와 툴을 사용하는지, 협업은 어떻게 돌아가는지 등을 배울 기회라는 점에서 기대감도 컸었다.

입사 첫날 모든 게 처음이라 낯설어서 쭈뼛쭈뼛 회사에 들어와 인사하고 다른 인턴 동기와 함께 대표님과 면담을 진행했다. 첫날에는 민트기술이 어떤 회사인지, 어떤 일을 하고 있는지, 서비스의 구조는 어떤지에 대한 소개를 들었다. “아잉”이라는 보조배터리 공유 서비스를 담당하게 되었는데 서버가 ruby on rails로 만들어져 있었다. ruby와 ruby on rails 모두 이름만 들어보고 실제로 사용해 본 적이 없는 것들이었다. 그래서 첫 주는 거의 레일즈 공부에 시간을 보냈다. 그래도 공부하다 보니 루비는 파이썬과 비슷한 느낌의 언어였고(하지만 사용하면 사용할수록 파이썬과 컨셉 자체가 다른 언어라는 게 느껴졌다.) 레일즈는 ‘설정보다 규약’이라는 이념답게 처음에 규칙을 파악하는데 고생했지만, 규칙을 익히고 나니 편하게 개발할 수 있었다.

회사 생활은 내가 생각했던 것보다 더 수평적이었다. 이슈를 만들어 올리고 문제를 해결해서 머지 리퀘스트를 보내면 팀원 모두가 코드를 보고 리뷰를 해준다. 나도 다른 사람들의 코드를 보며 새로운 아이디어를 얻기도 하고 개선할 점을 알려주며 리뷰를 한다. 회사에는 냉장고에 음료와 간식이 항상 구비되어 있고 점심값도 회사에서 지원해줘서 회사 사람들과 함께 점심을 먹으러 간다.

개발 환경으로 모두 맥을 사용하고 있어서 나도 회사에서 맥os를 처음 사용해 봤다. 윈도우와 상당히 다른 환경이지만 ‘계속 쓰다 보면 적응하겠지’라고 생각했는데 결국 적응하지 못하고(집에서는 계속 윈도우를 쓰는 점이 큰 거 같다.) 단축키 세팅을 윈도우와 비슷하게 바꿔버렸다. 그래도 아이맥이 화면이 넓어서 개발할 때 좋았다. 서비스가 AWS에서 돌아가고 있었기 때문에 AWS를 다뤄볼 기회도 있었다.

어느새 6개월의 시간이 지나갔고 인턴도 끝나간다. 졸업 후 취직을 하면 회사에 잘 적응할 수 있을까 걱정하던 나에게 인턴십은 정말 좋은 경험이었고 많은 걸 배울 수 있었다. 특히, 대학 과제 프로젝트가 아닌 실무 프로젝트 진행에 대한 자신이 없었는데 자신감도 생겼다. 좋은 사람들과 함께 일할 수 있어서 감사했고 어서 코로나19도 끝나서 회사도 쭉쭉 성장했으면 좋겠다.

iMessage 용 스티커팩 만들기 가이드

이 문서는 iMessege 용 스티커팩을 준비하는 디자이너를 위해 작성되었습니다.

스티커팩 준비하기

크게 3가지 종류가 있습니다.
[table id=1 /]
준비해야 하는 이미지 사이즈는, 실제 보이는 이미지의 3배 크기의 이미지를 준비합니다. 레티나 디스플레이 아이폰에서 좀 더 선명하게 보이기 위해서 입니다.
파일포맷은 배경이 투명한 png 파일 포맷으로 합니다. 하나의 파일이 500kb 를 넘으면 안됩니다.
준비해야 하는 스티커의 최소 갯수는 없습니다.

애니메이션 준비하기

애니메이션은 위 사이즈와 동일한 gif 파일을 만들어도 됩니다. 좀 더 잘 하려면, Xcode 에서 APNG파일을 만들 수 있습니다. 이 때에는 PNG 파일로 이미지 낱장을 준비한 다음 Xcode 를 사용하는 개발자에게 의뢰하도록 합니다.
gif 애니메이션과 APNG 파일의 차이는 APNG 파일이 좀 더 메시지나 이미지 위에서 지저분하지 않게 잘 보이게 된다고 합니다. 하지만, 그런 디테일이 필요 없다면, gif 로 해도 무방합니다.

아이콘 준비하기

아이콘이 의외로 좀 많이 필요 합니다.
[table id=2 /]
모두가 다 필요하냐구요? 네 모두 필요 합니다. 모두 다를 필요 없고 모두 같은 모양이지만, 사이즈만 다르면 됩니다.
주의할 사항은 파일 타입은 png 로 하되, 배경이 투명이면 안됩니다. 보통은 흰색 아니면 원하는 색을 넣어 줍니다. 그리고, 필요한 경우 아이콘은 자동으로 라운드 처리가 됩니다. 그래서 귀퉁이 부분은 라운드 될 수 있다는 점에 주의합니다. (미리 라운드 처리 하면 안됩니다.)

유료, 무료, 인앱 구매

앱스토어 올릴 때, 유료로 할 지 무료로 할 지 선택할 수 있습니다. 원한다면 부분적으로 인앱 구매로 처리할 수 있습니다. 이 부분은 앱스토어 올리기 전 결정하면 됩니다.

좀 더 고민하기

Sticker 는 기존 메시지버블에 떼어 붙이거나, 아니면 다른 스티커 위에 붙일 수 있는 개념입니다. 그래서, 메시지버블에 붙였을 때 잘 어울리거나, 아니면, 여러개의 스티커를 붙여서 하나의 스티커가 되는 조각단위로 디자인 하면 좋습니다.

메시지 버블에 조금 어울리는 스타일?

조각 단위 스티커 사용 예. 얼굴과 눈모양을 별도의 스티커로 만들면, 얼굴을 사용자가 원하는 대로 만들어 낼 수 있다.

이미지 외곽에는 흰색 아웃라인을 그려주면 좋습니다. 대부분은 흰색 배경의 채팅창을 쓰지만 모두가 그런 것은 아닙니다. 어두운 배경의 채팅창을 쓰는 경우도 있습니다. iOS의 메시지앱에서 스티커를 터치하면 흰색배경에 스티커를 볼 수 있고, 여기서 한번 더 터치하면, 검은 배경에 전체 화면으로 스티커를 보여줍니다. 이 때, 흰색 배경만 고려했다면, 애매한 부분이 더 확연히 들어날 보입니다.
자세히 보면 외곽에 흰색 테두리가 보인다.

흰색 배경에서는 문제 없이 잘 보인다.

검은색 배경이 되면 상황은 달라진다. 보기가 많이 어렵다.

참고 페이지

덤으로 Telegram 용 스티커팩 만들기

  • 사이즈 : 512×512
  • 파일포맷 : 투명 png

위 사이즈로 이미지를 준비하면 됩니다. 문제는 Telegram 에서는 무료 스티커팩 만 만들 수 있습니다. 아직 유료는 지원하지 않습니다.

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

대학교에서 단순히 컴퓨터에 대한 지식, 코딩에 대한 지식만 쌓아왔지 실제로 활용해 본 적 없던 나는 입사한 첫 날 걱정이 앞섰다. 외부프로젝트의 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.

민트기술 인턴 후기 – 이장호씨

짧기도 하고 길기도 한 6개월 동안 민트기술에서 인턴활동을 하면서 다양한 경험을 했었고, 많은 것들을 배웠습니다.
대학교를 다녔을 때에는 보안과 개발 두 분야를 동시에 공부를 하고 있었지만, 둘 중 어느 한 분야로 진로를 선택할 것 인지에 대한 뚜렷한 목표도 없었고, 어느 한 분야도 깊게 공부를 하지 못해서 취업을 해도 잘할 수 있을지, 열심히 할 수 있을지에 대한 고민과 두려움을 가지고 있었습니다. 이런 막연한 불안감을 가진 상태에서 이력서를 등록했고, 우연히 민트기술로부터 연락을 받아 인턴으로 입사를 하게 되었습니다.


개발에 대한 전문적인 지식이 없는 상태에서 맨 처음 시작한 일은 안드로이드 앱 개발 프로젝트였습니다. 안드로이드 앱 개발 자체는 처음이지만 다행히 개발에 필요한 언어는 학교에서 공부를 했던 상태라서 어렵지 않게 시작하게 되었습니다. 모르는 부분이 있으면 책을 찾아보기도 하고, 같은 시기에 입사한 동기 인턴님과 팀장님께 물어보기도 해서 짧은 시간 안에 개발에 적응하고 어느 정도 기능을 구현할 수 있게 되었고, 여럿이 팀으로 프로젝트를 진행할 때의 주의할 점이나 업무 분배 등에 대해서도 알 수 있게 되었습니다.

약 한 달 정도 안드로이드 프로젝트를 진행하던 중에 팀장님으로부터 테스트 서버를 만들어야 한다는 이야기를 들었고, 이전에 다뤄보지 못했던 새로운 언어인 루비와 프레임워크인 레일즈를 다룰 기회가 있었습니다. 안드로이드는 이전에 자바를 공부했기 때문에 적응을 할 수 있었지만, 루비 온 레일즈는 언어부터 생소하기도 했고, 프레임워크 자체를 이해하지 못했기 때문에 처음은 매우 버거웠습니다. 겨우 인터넷과 책을 찾아보면서 테스트 서버를 구축하게 되니 점점 자신감도 생기게 되었고, 오랜만에 개발을 하면서 재밌다는 느낌도 받게 되었습니다.
안드로이드 프로젝트가 어느 정도 기능 구현이 되었을 때 동기 인턴님은 프로젝트 마무리를 하게 되고, 저는 새로운 프로젝트에 투입되었습니다. 처음 프로젝트는 안드로이드 하나만 개발하면 되는 것이었지만, 새로 투입된 프로젝트에서는 서버와 웹을 개발하는, 전혀 공부를 해본 적이 없는 분야라서 어떻게 개발을 해야 할지 막막했습니다. 다행히 이 프로젝트 역시 인터넷에서도 찾아보고, 모르는 부분이 있으면 바로 물어보기도 하면서 점점 개발에 자신감이 생기기도 했습니다. 웹의 기능들이 구현이 되었을 때 안드로이드와 iOS 앱을 동시에 만드는 작업도 진행했었는데, iOS 개발 역시 처음이었지만 안드로이드 앱 개발과 웹 페이지 제작을 통해 얻게 된 자신감으로 이전보다 더 빨리 새로운 환경에 적응해 프로젝트를 마무리 지었습니다.
위의 프로젝트가 마무리되고 마지막으로 했던 프로젝트는 서버, 웹, iOS와 안드로이드 앱 개발을 모두 요구하는 프로젝트였고, 인턴생활을 하면서 가장 기억에 남았으면서 가장 많은 것을 배웠던 프로젝트였습니다.
이전에 두 개의 프로젝트를 진행했던 경험도 있었고, 요구하는 기능들도 구현이 가능할 것이라는 자신감을 가지고 있어서 대부분의 개발을 혼자 했음에도 불구하고 문제없이 잘 완수할 수 있을 것 같았습니다.
너무 안일한 생각에 자신감이 자만심으로 변하기도 했고, 전보다 여유롭게 개발을 진행하다 보니 프로젝트 기간 초반에 내부 스케줄을 어기는 경우가 몇 번 있었고, 버그가 생겼을 때 적절한 대응도 하지 못하게 되었으며, 진행사항을 수시로 공유해야 하는데 이를 무시하는 태도도 보이는 등 개발을 할 때의 문제점들이 속속 드러났었습니다. 다행히 이때 사장님과 팀장님께서 옆에서 문제점을 정확히 지적해주시고 잠시나마 가져왔던 자만심을 잡아주셔서 두 달이라는 짧은 시간 동안에 무사히 프로젝트를 마무리 할 수 있었습니다.
6달이라는 짧은 인턴기간 동안에 많은 개발 지식들을 습득할 수 있었고, 이외에도 협업의 중요성과 일을 어떻게 해야 하는지도 배울 수 있었으며, 일을 할 때의 문제점들도 고칠 수 있어서 정말 값진 경험을 했다고 생각합니다.

민트기술 인턴 후기 – 정구현씨

처음 일을 시작하게 전에는 게임학과를 재학하다 졸업 취업이 되지 않아 청년 성공 패지키로 부산에서 , 개발자과정을 배우고 있었다. 그때만 하더라도 게임 개발 기술을 강화하기 위해 배우고 있었고 취업하게 되면 게임회사에 취업하지 않을까 생각했었다 수업과정의 거의 막바지쯤에 면접을 보게 되었고 회사에 출근하게 되었다. 출근하면서 걱정했던것은 회사에서의 개발이었다. 주로 하던 것은 C언어 계열이어서 자바나 안드로이드 개발을 잘할 있을까였다. 또한 IT에서 만연한 이야기인 야근, 회사 내에서의 분위기에 적응할 있을까 하는 걱정도 있었다.

 

출근 받은 일은 안드로이드로 태블릿 앱을 만드는 것이었다. 그때 나와 비슷한 때에 들어온 다른 인턴생도 같은 프로젝트를 하여서 처음으로 협업 개발이라는 것을 하였다. 이전까지는 팀에서 혼자 프로그래머 개발자라 개발에 관련해서는 협업이라는 것이 없었기에 그것에 관련해서도 잘할 있을지 걱정이 많았다. 하지만 정창환 팀장님이 매일 아침 작업한 코드를 확인하고 코드에서 수정사항을 알려주셨다. 사소한 변수명 통일부터 생각하지 못했던 코드 알고리즘까지 알려주셔서 협업과 개인 개발에 많은 도움을 주셨다. 덕분에 개발도 순조로웠다. 회사에서 배울 있었던 것은 개발적인부분뿐만이 아니라 클라이언트적인 부분도 배울 있었다. 안드로이드 개발을 진행하면서 외주 업체에 팀장님과 함께 미팅을 나가 회사 개발의 일정 회의, 마케팅 팀과 디자인 팀과의 전체 회의 등을 지켜 보면서 나의 행동이 우리 회사의 이미지가 된다는 사실을 느낄 있었고 미팅 이동간 팀장님께서 클라이언트 회의에서의 중요점등을 알려 주셨고 내가 가지고있는 걱정에 격려를 많이 해주셨다.  이후 마무리 되고 내가 참여했던 앱이 매장에서 돌아간다는 소리를 들었을 무언가뿌듯한 기분이 들면서 조금이지만 자신감도 들었다.

이후 두번째 개발은 팀장님과 회사 내에 먼저 입사 하셨던 김수민씨가 웹과 안드로이드로 개발하고 있던 채팅 어플을 iOS버전으로 만드는 것이었다. 당시 회사 내에 iOS 개발자 분들이 외근을 나가 있었고 iOS개발은 처음이라 2주간은 새로운 언어인 스위프트를 익히면서 Xcode iOS개발하는 법을 배웠다. 다행히 외근을 나가셨지만 slack 통해 질문을하면 친절하게 알려 주셨고 가끔 회사에 찾아 오셔서 새로운 개발법을 제시해 주셨었다. 덕분에 프로젝트를 시작한지 4주차 정도 되었을 때는 Xcode 기본적인 개발을 하게 되었고 막히는 부분은 관련된 부분은 인터넷에서 빠르게 찾아서 해결할 있게 되었다.

회사에서 직접적으로 만들어 보기 전까지는 정말 많은 걱정들과 선입견이 있었다. 하지만 회사를 다니면서 걱정은 쓸모없던 걱정이었고 선입견은 잘못된 생각들이었다. 주변 IT관련 일을 하는 동기, 선배들의 이야기를 들면서 상하 관계가 아닌 수평적인 관계의 회사 분위기와 자기계발 시간을 가질 있다는 , 인턴 임에도 불구 하고 높은 급여로 민트기술에들어 것이 나에게는 행운이라고 생각한다. 앞으로도 회사내의 업무와 함께 자기 개발에 힘써서 더욱 빠르고 간결한 알고리즘을 사용하는 개발자가 되고 싶다.