웹 프론트엔드 개발과 관련한 프로젝트는 크게 2개가 있어 2개를 주로 맡게 되었다. 하나는 PLSnote 서비스인데 회사 업무를 PDCA 방식으로 관리하는 프로그램이다. 이 프로젝트는 Ruby 언어와 Ruby on Rails 프레임워크를 사용하고, slim과 stimulus.js를 사용하고 있다. 사용자들이 실제로 사용하면서 발생하는 에러나 추가되었으면 하는 기능 의견을 받아 처리해주는 업무이다. 해당 이슈들을 처리하기 위해 주로 데이터베이스 쿼리를 해서 클라이언트단에 정보를 넘겨주는 코드를 짰다. 그리고 하나는, 서울대에서 하는 연구 프로젝트의 일부인데 사람의 목소리를 지문처럼 인식해서 음성을 비교해 분석해주는 프로그램이다. 해당 프로그램이 돌아가는 서버 환경을 수정하거나 UI를 수정하는 업무를 맡아 진행했다. 타입스크립트 기반의 React 프레임워크를 사용하고 있으며, 서버쪽은 node 를 사용하고 있다. 이외에 HTTP 기본 지식, 프론트엔드 개발환경, 웹 성능 최적화하는 방법 등에 대한 학습을 하며 개발 지식을 넓혔다.
프로젝트를 진행하면서 새로운 언어인 Ruby를 접하게 되었고, 문법도 모르는 언어의 코드를 수정하고 추가해야하는 상황이어서 처음에는 막막했다. 그러나 시행착오를 겪고 많이 찾아보고 질문하면서 배워나갈 수 있었다. 그렇게 이제 Ruby가 조금 익숙해져서 전만큼 두려워하지 않고 부딪혀보는 용기가 생겼다. 혼자 공부했다면 접해보지 않았을 언어이기도 하고 백엔드까지 함께 다루게 되어 값진 경험이었다. 이미 구축되어 있는 DB 스키마를 보며 원하는 데이터를 어떻게 가져올 수 있을지 고민하며 성장할 수 있었다. 이런 경험들이 쌓여 프론트엔드에서 어떻게 처리를 해야 백엔드와 연결될 수 있는지 이해하고 알게 되었다. 현장실습하기 전보다 개발적인 면에서 많이 성장한 것 같다. 이전에는 짜여진 코드를 이해하는데 엄청 오랜 시간이 걸리거나 모르는 것이 많아서 찾아보는 일이 많았는데 지금은 어느정도 눈에 들어오고 서칭하는 방법도 디테일해진 것 같다.
실습 전에는 어떤 기능을 개발하는 것에만 집중하고 그 방법에 대한 고민을 많이 했다. 그런데 회사에 오고 실제 프로젝트에 참여하여 코딩을 하면서 먼저 웹 구조를 아는 것이 중요함을 깨닫게 되었다. 그래서 웹 구조에 대한 학습을 했고 이로 인해 프론트엔드와 백엔드가 어떻게 통신하는지 알게 되었고, 전체적인 코드를 보는 관점이 달라졌다. 그리고 실제 프론트엔드와 백엔드 코드를 같이 수정해야 해결되는 이슈들을 맡아서 해결해보면서 학습한 내용을 적용할 수 있었다. 처음 사용해보는 언어와 프레임워크여서 이해가 잘 되지 않고 어렵기도 했지만 개발자님이 천천히 하나하나 설명해주시고 같이 이슈를 해결해나가면서 문법에 익숙해지고 많이 배우게 되었다. 그리고 다른 인턴 분들과 협업하여 이슈를 해결한 적도 있는데 혼자서 잘 풀리지 않던 부분을 다같이 이야기하며 방법을 모색하고 도전해 봤던 점이 큰 원동력이 되었다. 긴 시간동안 어려운 부분도 많아서 힘들었지만 그래도 고민한 시간들이 모여서 성장할 수 있었던 것 같다. 성장할 수 있도록 도움을 주신 대표님, 개발자님, 그리고 인턴분들 모두에게 감사하다.