뒤로가기뒤로가기

데일리 랩스

컴맹에서 컴공으로, 그리고 개발자로

배워가는 중입니다

데일리펀딩

 

컴맹에서 컴퓨터공학과로

고등학교 시절 나는 그냥 공대가 가고 싶었다. 뭔가에 몰두하는 사람들을 보면 너무 멋있어 보였달까? 기계공학이나 전자공학은 너무 어려워 보였고, 그래도 내가 매일 보는 컴퓨터는 좀 낫지 않을까 하고 컴퓨터공학을 전공하게 되었다.

그리고 1학년 1학기 파이썬 수업을 들으면서 내 선택이 매우 잘못되었다는 것을 알았다. 그때 지도 교수님께서 학교 공부는 재밌냐고 물어보셨는데 다른 걸 하고 싶은 게 없어 그냥 남아있다고 대답했던 기억이,,,,,

 

마지못해서 하는 일

4학년 2학기를 마치기 전까지 개발은 나에게 마지못해서 하는 일이었다. 어쩌다 보니 컴퓨터공학을 전공했고, 할 수 있는 일이 코딩하는 것뿐이기에 내게 코딩은 ‘해야만 하는 일’이었다. 

내 대학 생활을 돌이켜보면 마지못해서 하는 일의 효율이 얼마나 안 좋은지 알 수 있다. (그래도 개발이 너무 재미없고, 어려운데 어떡하라구,,,,) 특히 졸업 프로젝트를 하면서 나는 절대 개발자는 하지 않을 거라고 입에 달고 살았다. 무슨 일을 주던 묵묵하게 주어진 일을 잘 해내는 나였지만 코딩을 하려고 컴퓨터 앞에만 앉으면 숨이 턱턱 막혔다. 

 

그래도 한 번은 부딪혀보자

하루에 ‘나는 개발자는 절대 못 한다’는 말을 100번씩 하던 중 ‘내가 개발을 제대로 해본 적이 있을까?’ 하는 생각이 들었다. 개발을 제대로 한 번 해보고나서 못 하겠다고 하는게 내 스스로에게 덜 비겁한 일인 것 같았다. 그래서 자신은 전혀 없었지만 ‘인턴으로 한 번 일해보자’고 결심했다. 평소 금융에 관심이 많았고, 핀테크에 대해서도 궁금한 점이 많았기에 데일리펀딩에 지원했다. 그동안 그래도 꽤 많은 프로젝트를 착실하게 해왔고, 공모전에서 수상한 성적도 몇 번 있어서인지 다행히도 인턴으로 일할 수 있는 기회가 주어졌다. (MIT님 감사합니다,,,,) 첫 출근을 하기 전까지 내가 잘할 수 있을까 하는 생각으로 너무 무서웠지만 2021년 3월 2일 내 첫 인턴 생활이 시작되었다.


1주차와 2주차

프로젝트를 시작하기 전 기본적으로 알아야 할 내용들에 대해 공부한다. 백엔드, 프론트엔드 역할을 나누어 각 파트별로 알아야 할 내용에 관해서 강의를 듣고, 모르는 부분을 질문을 하는 형식으로 진행된다. 

 

3주차와 4주차

백엔드와 프론트엔드가 적절하게 조화를 이룰 수 있는 클론 프로젝트가 시작된다. 1주차, 2주차에 학습을 진행했던 기술 테크를 바탕으로 서로 협업하여 하나의 웹 사이트를 똑같이 따라 하는 실습을 진행한다.

백엔드 개발을 맡은 인턴이 API를 통해 데이터를 보내주면 프론트엔드 개발을 맡은 인턴이 화면에 보여주는 역할을 담당하여 개발을 진행한다. 설계부터 개발까지 모든 과정을 진행할 수 있다.

클론 프로젝트를 진행하며 설계했던 DB

 

모르는 게 참 많은 인턴

4주차 클론 프로젝트까지 진행하면서 정말 정말 많은 것들을 배웠다. 항상 과제를 진행할 때는 친구들과 페이지 단위로 나누어서 개발을 진행했었는데 처음으로 프론트엔드와 백엔드를 나누어 개발을 진행해봤다. 

그래서 처음 ‘이 페이지를 그대로 따라서 만들면 돼요.’라는 과제가 주어졌을 때 많이 당황했었다. 도대체 어떻게 프론트엔드로 데이터를 넘겨주는지, 내가 어떤 일을 해야 하는지, 알고 있는 게 하나도 없었다. 그래도 1주차 2주차 강의를 들으면서는 모르는 내용이 많이 없어서 할 수 있을 것 같다는 자신감이 생겼었는데 3주차에 과제를 받고 많이 절망했었다.

그래서 계속 질문을 했던 것 같다. 사실 이때 제일 큰 문제는 내가 웹이 어떻게 동작하는지 그 과정을 이해하지 못하고 있어서 계속 문제가 발생했던 것 같다. 나름 네트워크 시간에 열심히 배웠다고 생각했는데,,,, 그래도 개발을 해나가면서 이제는 웹이 어떻게 동작하고, 백엔드 개발자와 프론트엔드 개발자가 어떻게 협업해 나가는지 정확하게 이해할 수 있었다. 


매일 질문 매일 배움

 

1주차에는 학교에서 배우고, 그동안 프로젝트를 해오면서 알던 기초 지식이었기에 개인 깃헙에 가볍게 정리하고 넘어갔다. 이 때 MIT님께 SQL 관련 질문을 하나 했었는데 재택근무를 하고 계셔서 직접 전화까지 해서 친절하게 알려주셨다.

 

2주차는 일주일 내내 장고 프레임워크에 관해 공부했다. 프레임워크를 처음 다루어 보는 것이었기에 MVC 모델, ORM 등 관련 용어가 너무 낯설었고, 그 용어들과 친숙해지는데도 한참이 걸렸던 것 같다. 적어가면서 이해하는 편이라 그동안 이해가 안 가서 정리했던 노트를 보니 똑같은 내용이 반복적으로 적혀있다…. 많이 어려웠군,,,,

 

한 달 동안 정말 많은 질문을 했다. 웹 백엔드 개발은 처음 해보는 것이었고, 더군다나 프레임워크를 사용해본 경험이 한 번도 없어서 처음에 많이 고생했다. 끝까지 이해가 될 때까지 하고 넘어가는 성격이기에 모르는 것이 있으면 구글에 검색해보고, 그래도 모르는 것이 있다면 질문을 통해 해결했다. 그리고 똑같은 질문을 또 하지 않기 위해 아래와 같이 기록해나갔다. 사실 이것보다 더 많은 질문을 했지만 다 적었다가는 하루를 꼬박 새워야 하기에,,,, 

질문

해결방법 & 배운 점

장고 ORM을 사용한 테이블 조인 방법장고의 정참조와 역참조에 대한 개념을 알아야 함. 정참조는 select_related( )를 통해 역참조는 fetch_related()를 사용하여 조인.
장고를 통해 생성한 JSON 데이터를 프론트엔드에게 넘겨주는 방법“python manage.py runserver 0.0.0.0:8000” 명령어를 입력하여 외부에서 내 컴퓨터에 접속하도록 허용. 이후 프론트엔드 개발 컴퓨터에서 내 서버에 접속.
related name을 설정하는 이유같은 모델을 바라보는 foreign key가 두 개 이상일 경우 그를 구분해주어야 함. 이때 사용하는 것이 related name! related name은 foreign key로 연결된 두 모델간의 연결고리 역할을 함.
serializer안에서 쿼리문 사용SerializerMethodField를 사용
이미지 데이터 보내는 방법장고의 ImageField를 사용하기 보다는 URL의 형태로 프론트엔드에게 전송. 전송된 url로 요청이 들어오면 서버에 저장된 파일을 오픈하여 HTTP Response 요청을 보냄.
request를 이용한 동적 페이지 스크래핑크롬 개발자 도구를 이용하여 network를 확인하여 api를 크롤링해야함. JSON 형태의 데이터를 필요한 부분만 가져와 사용.

 

항상 바쁘게 일하고 있는 도중에도 내가 질문을 하면 다들 정말 친절하게 알려주셨다. 매일 매일 MIT님,,,,, Kero님,,,,을 슬랙에 외치며,,,, 내일은 더 조금만 질문해야지 다짐했다. 바쁘신 와중에도 내가 왜 그렇게 코드를 짰는지 질문해주시고, 더 효율적으로 코드를 짜는 방법에 대해 알려주셨다.

그렇게 조금씩 천천히 하나 하나 기능들을 덧붙여 나가 결국 목표했던 클론 프로젝트를 마무리 지었다! 프로젝트를 마무리하고 깃헙에 들어가 그동안의 결과를 그래프로 확인해보니 괜스레 뿌듯해진다. 이 과정까지 많이 헤매고 질문했는데 또 같은 질문을 하지 않도록 잘 정리해야지,,,,

인턴이 2명밖에 없었기에 한 명은 프론트엔드 개발을 다른 한 명은 백엔드 개발을 맡아 진행했다. 그랬기에 백엔드 개발은 오롯이 나 혼자 진행해야 했다. 처음에는 설계부터 개발까지 혼자 진행하기에 많이 버거웠지만 그만큼 많은 것들을 배울 수 있었다. 누군가에게 의지할 생각 없이 내가 해결해야 할 문제라고 생각하니 더 집중해서 프로젝트를 마무리 지을 수 있었던 것 같다.


완전히 바뀐 내 하루

 

인턴 생활을 하기 전 내 하루는 침대에서 시작해서 침대에서 끝났다. 특별한 이유가 없으면 침대를 벗어나지 않았고, 허리가 아플정도로 매일 누워만 있었다. 할 일이 많았지만 너무 많은 할 일에 더 무기력해졌달까,,,

그런데 인턴 생활을 시작하면서 내 하루 패턴은 완전히 바뀌었다. 우선 새벽 6시 30분에 기상하고,,,,,지옥철에 몸을 맡겨 1시간 출퇴근을 해야했다,,, 처음엔 정말 힘들어서 퇴근하고 집에 돌아오면 바로 기절했었는데 그래도 사람은 적응의 동물이라고,,,, 지금은 퇴근을 하고도 저녁에 많은 일을 할 수 있다. 

매일 아침에 일어날 때는 인턴을 하겠다고 결심했던 그 순간을 후회하지만 그래도 점심시간을 생각하며 몸을 일으킨다. 회사가 신논현에 있기 때문에 주변 강남 맛집을 탐방하는 점심시간이 제일 행복하다,,,, 매일 매일 다른 메뉴를 먹고 있는데 아마 인턴이 끝나고 내 개인 블로그에 하나 하나 식당들을 포스팅한다면 난 파워블로거가 될 수 있을 것 같다….

 

 

열정을 다해 일한다는 것

사실 다른 회사는 가보지 않아서 분위기를 알지 못하지만 데일리펀딩에서 일하면서 가장 크게 느낀 것은 모든 사람이 너무나 데일리펀딩을 사랑하고, 자신의 일에 열정을 가지고 있다는 것이다. 자신이 하는 일에 열정을 가지고 있고, 실제로 데일리펀딩을 성장시키고자 하는 욕망이 강해 보여서 인턴 생활을 하면서 나도 더 열심히 하고 싶다는 생각을 했던 것 같다.

모두가 같은 목표를 위해 열심히 일하는 회사의 분위기가 나를 더 열정적으로 공부하게 했달까,,,? 그러면서 내 주위에 팀원이 누구이고, 그들이 얼마나 열정적으로 일하는지가 나를 더 변화시킬 수도 있다는 생각이 들었다. 남은 3개월 동안 개발할 프로젝트도 더 열심히 해야지,,,,!

 

내게 생긴 가장 큰 변화

이번 3월은 나에게 유난히 짧게 느껴졌던 한 달이었다. 이것저것 코딩을 하다 보면 시간이 정말 빠르게 흘러갔고, 어떻게 흘러가는지도 모르게 벌써 인턴 생활을 한 지 한달이 지났다. 

  • 한 달동안 내게 생긴 가장 큰 변화가 있다면 이제 내게 더는 개발이 마지못해서 하는 일이 아니라는 것이다. 내 스스로도 어떻게 한 달 만에 그렇게 될 수 있나 싶지만 실제로 그런 생각의 변화가 있었다. 지난 4년간 너무 힘들던 일이었는데 차근차근 배워가며, 직접 만들어보다보니 뿌듯했고, 재밌었다. 
  • 개발자는 못 할 것 같다는 말만 하던 나였는데, 이제는 개발하며 살아가는 것도 괜찮을 것 같다는 생각이 든다. (사실 실제 프로젝트를 남은 3개월 동안 진행하면서 어떻게 생각이 바뀔지 모른다….) 그래서 남은 3개월의 인턴 생활이 더 기대되는 것 같다. 나중에 이 기분을 잊어버리지 않게 이렇게 글로 정리하며 기록해나가려고 한다. 혹시 나처럼 개발이 너무 싫고, 어려운 사람이 이 글을 읽고 위안을 얻었으면 하는 마음으로 첫 번째 인턴 일지는 여기서 마무리 지으려고 한다. 

 

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

데일리언과 함께하기 >