뒤로가기뒤로가기

데일리 랩스

개발이 너무 싫었던 감자인턴의 성장일기

떨어질 생각으로 왔습니다만

데일리펀딩

 

[성장하고 싶은 감자]

난 3학년 1학기까지 마쳤지만 과에서 수업 듣고 과제 제출할 줄만 알지 코드 한 줄 제대로 못 치는 전형적인 감자였다. 심지어 개발이 너무 싫고 실력이 부족한 내가 부끄러워서 어디 가서 전공자라고 말도 제대로 못 하고 누군가 나에게 질문을 하면 그냥 구글링하라고 모르쇠로 일관했다. 더 넓은 곳에서 열심히 공부하겠다는 생각을 가지고 편입까지 한 나였지만 나는 여전히 팀플과 개발 수업을 싫어했다. 그래서 이론 위주의 수업과 필수로 들어야 되는 자료구조, 데이터베이스, 운영체제 수업들만 들었다. 그렇다고 성적이 좋은 편도 아니었다. 내가 듣고 싶은 수업만 공부를 하다 보니 내가 좋아하는 수업과 안 좋아하는 수업의 성적이 완전 양극이었다.

 

 

[휴학]

그래서 나는 개발이 적성에 안 맞는다고, 애초에 내가 노력을 해서 가능한 일이 아니라고 단정 짓고 내가 좋아하는 것을 찾아서 무작정 휴학계를 냈다. 휴학을 하고 평소 커피에 관심이 많아 유명 프랜차이즈에서 근무를 했다. 난 개발이 싫다 생각해서 좋아하는 것을 찾으러 도망치듯 휴학을 했는데 오히려 바리스타 일을 하는 동안 개발에 대한 미련이 더 남게 되었다. 돌이켜 생각해 보니 내가 진짜 열심히 살아왔다는 순간들 중 단 한 번도 개발을 제대로 해본 적이 없으면서 비겁하게 도망쳐온 게 아니었나 생각이 들었다. 그렇게 다시 복학하고 3학년 2학기를 마쳤다.

 

 

[인턴을 향한 걸음]

나름 성공적으로 한 학기를 마치고 다음 목표는 인턴이었다. 사실 이번 학기에 인턴을 진행할 생각은 없었다. 나 자신이 인턴을 하기에 너무 부족한 것을 알기 때문에 좀 더 공부를 하고 지원을 해야겠다고 대충 생각만 했었다. 그런데 인턴을 하려면 무엇을 준비해야 할지도 전혀 모르겠고 코로나로 주변에 물어볼 만한 선배들도 없었다. 그래서 학교 현장실습 시스템을 두리번거리며 회사들의 요구사항을 보고 그것에 맞춰 준비를 해야겠다고 생각하고 있었는데, 평소 웹 개발과 핀테크에 대해 관심을 가지고 있었던 나에게 딱 맞는 데일리펀딩을 발견하고 무작정 지원을 하게 되었다.

 

 

[계란으로 바위치기]

웹 개발에 관심만 있었지 나는 웹 관련 지식에 대해서는 사실상 무지한 상태였다. 어찌 보면 당연한 일이었다. 왜냐하면 나는 마음을 다잡고 개발 공부를 시작한 지 겨우 6개월이 지났고 이 시간은 부족한 부분을 다 메우기에도, 개발을 잘하기에도 부족한 시간이라고 생각했다. 그러나 공부만 계속하는 것 보다는 일단 부딪혀보는 것이 중요하다고 생각했다. 그래서 급하게 인턴을 지원했고 면접 때 솔직한 이야기를 전했다. 떨어질 생각으로 왔다고, 대신 면접 때 부족한 부분에 대해 질문하고 어떻게 공부해야 할지 물어보려고 했다고. MIT님은 웃으며 지식보다 열정을 더 중요하게 생각한다고 말씀하셨다. 그래서 나에게 부족한 부분에 대해 인턴 시작 전 사전과제를 주시기로 했다. 사전과제 수행을 조건으로 인턴에 합격하는 것이었다. 사전과제를 수행하며 부족한 지식에 대한 압박감이 있었지만, 정말 운 좋게 기회를 갖게 된 만큼 단단한 계란이 되겠다는 의지와 함께 내 인턴 생활이 시작되는 역사적인 순간이었다.

 

 

[개발 일지]

 

 

[React JS 클론 코딩과 더 나아가기]

첫 주 차 과제는 React JS를 이용하여 클론 코딩을 수행하는 것이었다. 그러나 나는 JavaScript의 기본 문법만 알고 있을 뿐 React JS에 대해서는 전혀 모르는 상태였다. 이런 상황에서 과제를 수행하려니 막막한 기분이었다. 하지만 포기하지 않고 도전하면서 React JS의 기본 개념을 익히게 되었고 사이트를 어느 정도 구현하여 과제를 성공적으로 완수했다고 생각했다. 그리고 React에 대한 기본 개념을 익히는 것 뿐만 아니라 과제를 수행하면서 문제 해결 능력과 적응력이 중요하다는 것을 깨달았다. 처음에는 막막하게 느껴졌던 과제도 차근차근 접근하며 학습하니 완수할 수 있었다. 그리고 마지막으로 온라인 커뮤니티와 문서를 활용하는 능력이 중요하다는 것을 새삼 느꼈다. 과제 수행 중 막히는 부분이 있을 때마다 구글 검색, 스택 오버플로우, React JS 공식 문서 등을 참고하여 해결책을 찾았다. 이렇게 React JS를 기반으로 한 클론 코딩 과제를 수행하며 새로운 기술을 익히고 개발 능력을 향상시키는 경험을 할 수 있었다.

 

[효율적으로 설계해보기]

2주 차의 과제는 ERD 프로그램을 사용하여 사이트의 데이터 모델링을 클론하는 작업이었다. 이전에 데이터베이스 수업을 들었지만 이론에 대해서만 공부하고 실무에 적용해 본 적은 없었다. 이 과제를 통해 정규화와 역정규화 그리고 성능에 대해 고민하는 시간을 가질 수 있었다. 당초 정규화를 우선적으로 생각하여 계층 구조를 무조건 테이블로 나눠 구현했지만, 이 과정에서 다시 한번 고민하게 되었다. 특히 부모-자식 관계를 갖는 테이블 간의 연관 관계를 설정하며 외래키를 사용하여 참조를 설정하는 과정에서 데이터 무결성을 유지하고 계층 구조를 구현하는 방법을 배웠다. 또한 여러 곳에서 사용되는 파일이나 이미지 테이블을 효율적으로 구현하는 방법을 고민해볼 수 있는 좋은 기회였다. 공통 테이블을 생성하여 여러 테이블에서 참조할 수 있도록 하고 다대다 관계를 해결하기 위해 연결 테이블을 사용하는 방식을 배웠다. 이를 통해 성능 최적화에 대한 중요성을 깨닫게 되었다. 2주 차 과제를 수행하면서 데이터 모델링에 대한 이해도가 깊어졌으며, 효율적인 데이터베이스 설계를 위한 중요한 고려 사항들을 배울 수 있었다. 또한 데이터베이스 설계의 복잡성과 다양한 요소를 고려하는 데 중요성을 인지하게 되었다.

 

 

[관리자 API 개발]

3주 차 과제는 Django API를 이용해 백엔드 API를 구현하는 것이었다. 처음에는 내가 과제의 요구사항을 잘못 이해하여 성공적으로 완료하지 못했다. 그러나 과정 중에 Django REST Framework를 사용하게 되면서 Postman을 활용하여 API 테스트를 진행할 수 있었다. 이를 통해 Django API 개발에 대한 이해를 증진할 수 있었다. 또한 이 과제를 통해 프론트엔드부터 백엔드까지 전체적인 개발 프로세스를 경험하며 개발의 전반적인 느낌을 익힐 수 있었다. 처음에는 어려움을 겪었지만 지속적으로 도전하며 부족한 부분을 보완하였고 이를 통해 개발 역량을 향상시킬 수 있었다. 이 과정에서 웹 개발의 전체 흐름에 대한 이해를 얻을 수 있었고 어떤 부분이 개선되어야 하는지 파악할 수 있었다. 앞으로 이러한 경험을 바탕으로 더욱 발전된 개발자로 성장하기 위해 노력하겠다는 의지를 더욱 불태우게 되었다.

 

[3월은 과제 리뷰의 반복]

지난 3월을 뒤돌아보면, 정말 바쁘게 지나갔다. 처음에는 적응하느라, 적응하고 나서는 과제를 하느라 정말 정신이 없었던 것 같다. 사실 정신이 없었던 가장 큰 이유는 과제 때문이 아니었을까.. 하하… 인턴 초반에는 과제에 대한 압박감이 상당해 리뷰 시간만 되면 몸이 떨릴 정도였다. 그런데 막상 과제 리뷰 시간을 갖고 나서 생각이 달라졌다. 처음엔 과제를 얼마나 수행했나 검사하는 딱딱한 느낌의 리뷰 라고 생각했는데 그건 나의 단단한 착오였다. 항상 과제가 끝나면 멘토님께서 우리가 놓쳤던 부분에 대해 말씀해 주시고 격려해 주셨다. 돌이켜 생각해 보면 학교 강의 시간에 과제를 제출해도 점수만 나올 뿐 어떤 부분을 개선해야 할지 피드백을 받지 못해 굉장히 답답했는데 내가 가려워했던 부분을 아주 시원하게 긁어주는 소중한 시간이었다. 이를 통해 내가 처음에 두렵게 생각했던 순간이 나에게 의욕을 더 돋우어 주는 시간이 되었다. 처음에는 단지 격려에 부응하고 싶어서, 내가 부족한 걸 못하니깐 더 잘하고 싶어서 퇴근 후 에도 혼자서 공부를 하기도 했었다. 그러나 이제는 이 시간을 내가 더 잘 활용하고 더 빠르게 성장하고 싶어서 스터디를 통해 매일 집에 가서 공부를 하고 있다. 개발을 싫어했던 내가 집에서도 스스로 공부를 하게 됐다니 참으로 놀라울 뿐이다. 인턴 기간 동안 나는 얼마나 더 성장할 수 있을까! 기대되는 한 달의 시작이다.

 

우리는 매일 금융의 각을 넓혀가는
데일리언입니다.

데일리언과 함께하기 >