민트 인턴 후기 – 원다연님

웹 프론트엔드 개발과 관련한 프로젝트는 크게 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사업단에서 지원하는 장, 단기 현장실습을 하는 학생들에게 민트기술을 강력히 추천하고 싶습니다. 사수 분들도 너무 친절하시고, 회사 복지도 좋고, 학부생이 경험할 수 있는 인턴 중 가장 좋은 인턴경험이라고 생각합니다. 웹 개발 관련 분야에 대해서 자세하게 알 수 있게 해준 민트기술에게 감사합니다.