인턴으로 지낸 지 약 4주가 다 돼간다. 처음에는 일, 사람들, 출퇴근 적응하느라 너무 정신없었다. 이제 인턴 기간 절반 정도가 지나니 조금은 적응이 된 거 같다.
딱 하나 빼고! 눈 오는 한파 날의 출퇴근은 아직도 적응이 안 된다.
인턴 적응기 (4주 차)
코드리뷰 하면서 배운 점
공지사항을 예약 공개 할 수 있게 해달라는 과제를 받았다. 여러 과제를 해오면서 어느 정도 할 수 있다는 생각이 들어서 파이팅 넘치게 시작했다. reserved_datetime
라는 새로운 필드를 만들어 미래 일시로만 값 입력을 받도록 코드를 작성했고, 이에 대한 테스트 코드도 짠 후 PR을 올렸다.
열심히 해주신 피드백 중 ‘공개’의 기준에 관해 이야기가 있었다. 이에 대해서 많은 분과 이야기를 나누었는데 내가 미처 고려하지 못한 부분을 많이 알려주셨다. 필드 개수를 늘려 원하는 기능을 명확히 할 수 있지만, 관리의 어려움이 생기고 논리의 허점이 발생 할 수 있다는 점, 엄청 중요한 문제가 아니라면 완벽히 해결치는 못하더라도 간단하게 짜서 나중에 개발자가 이어서 할 때 고려할 점을 줄여주는 것 등 여러 가지를 알 수 있었다.
이번 과제를 통해 어느 정도 고민하고 의문점이 생기면 혼자 결정하지 않고 다른 사람과 이야기해야 한다는 것을 다시 깨달았다. 팀 프로젝트에서 항상 많이 소통해야 한다는 점은 알고 있었는데 막상 그러지 못한 나 자신을 발견했다.
또한, 리뷰를 받다 보니 내 코드에 대해 설명해야 하는 순간이 온다. 이런 순간을 몇 번 겪다 보니 한 줄 한 줄 왜 이렇게 짜는가? 에 대해 생각하게 되었다. 이렇게 개발 태도도 많이 배운다.
테스트
과제를 하면서 보낸 시간을 보면 코드 짜는데 4, 테스트하고 리뷰 받는데 6의 시간을 쓰는 것 같다. 간단하게 나열해보자면 다음과 같다.
-
로컬 테스트 : 학부생 때 가장 많이 사용하던 방식이라 그나마 익숙했다. 로컬로 돌리고 직접 테스트하며 문제가 생기지 않는지 확인한다.
-
TEST 코드 : Pytest로 테스트 코드를 작성한다. 특정 로직을 수행한 결과가 우리가 예상한 결과와 같은지, 제대로 예외처리가 되는지를 확인한다. 나는 문제를 해결하는 코드보다 테스트 코드를 짜는 게 더 낯설고 어려운데, 그 이유는 어디까지 테스트를 해야 하는지 감이 안 오고 내가 마음대로 다루지 못하는 DB 등을 이용해야 하는 순간이 있기 때문이다. (이에 대한 정보는 Python 테스트 시작하기 를 참고해달라 O_< 호성님의 발표이다)
- Github PR 테스트 : PR을 올리면 4가지의 테스트 Travis CI Branch, Travis CI PR, Codecov Patch, Codecov Project가 돈다. 차례대로 간단하게 설명을 하자면 다음과 같다.
- Travis CI PR : 내 브랜치로만 빌드가 되는지 확인한다.
- Travis CI Branch : 내 브랜치를 mater에 합쳤을 때 빌드가 되는지 확인한다.
- Codecov patch : 내 브랜치에 수정한 코드를 현 테스트로 얼마나 커버할 수 있는지 확인한다.
- Codecov project : 내가 만든 브랜치를 마스터에 합쳐서 현 테스트 코드로 얼마나 커버할 수 있는지 확인한다.
소소하지만 이 4가지 테스트를 통과하면 그날 행복도가 10 상승한다+++ :)
- 코드 리뷰 : PR 올리면 많은 분이 피드백해주신다. 처음에는 내 코드를 보고 조언을 해주시는 게 부담스러웠는데, 몇 번 받아보니깐 이제 익숙하고 이 시간이 제일 중요하다는 생각이 들었다. 가끔 나도 리뷰어가 된다. 나도 다른 분들 피드백 잘 해드리고 싶은데, 아직 실력이 부족해서 좋은 피드백을 드리지 못하는 거 같다. 더 열심히 공부해야겠다… Django, 연오의 파이썬, vue.js, 전공 복습 등
교육의 열정이 불타오르는
에잇퍼센트 회사는 공부에 대한 열정이 불타오른다. 저번에도 DB 스터디가 있다고 들었는데, 이 뿐만 아니라 세미나도 가끔 여는 거 같다.
4주 차 때 AWS 보안 시스템인 WAF 에 대해서 배우고 실습하는 시간을 가졌다. 세미나를 참석할 계획은 없었는데, 귀동냥이라도 하자는 마음으로 참석하였다. 약 4시간 동안 웹 공격에 취약하게 만들어진 DVWA 에서 AWS WAF을 이용해 웹 공격을 막는 실습을 진행했다. 들으면서 한 40% 정도 이해했을까나? 다행히도 호성님께서 헤매는 나를 많이 도와주셔서 잘 따라갈 수 있었다.
머리 과부하 상태였는데 복습 안 하면 들은 의미가 없을 거 같아서 열심히 정리도 했다. 이처럼 저번 인턴 2주 차 이후로는 문서화를 하고 있다. 아직은 검색한 내용 짜집기에 불과하지만 그래도 Notion에 10개가 넘는 페이지가 쌓였다. 나중에는 직접 실습해보고 나만의 글도 정리해서 올리고 싶다.
에피소드
퇴근 후 합법적 VR게임
팀원 한 분이 VR 게임을 좋아하셔서 몇 번 이야기를 꺼내신 적이 있으시다. 그분께 이야기로만 들었던 VR 오큘러스를 직접 들고 오셨다. 게임을 너무 해보고 싶어서 퇴근하고 잠깐 게임을 했다. 나는 유명한 비트 세이버랑 암벽 등반 게임인 더 클라임을 했는데, VR로 암벽 등반하니깐 너무 생생해서 절벽에서 떨어질 때 비명을 질렀다… 인턴 끝나고 인턴비 받으면 오큘러스 사야겠다.
영광의 팬 사인회
연오의 파이썬 이 나오고 사무실에서 미니 팬 사인회가 열렸다. 저자이신 연오님께서 직접 책에다가 사인과 해주고 싶은 말을 써주셨는데, 그날 나는 책을 안 가지고 와서 따로 받았다. 오래오래 보관해야지. 아 물론 이 책으로 공부도 열심히 할 거다.
드디어 완전체. 치킨 파티다!
우리 팀이 10명인데 휴가, 재택근무 때문에 한 번도 다 모인 적이 없는데, AWS 세미나 날 드디어 모든 분이 사무실에 나오셨다. 그래서 호성님께서 푸라닭 치킨을 무려 5마리나 쏘셨다. 아주 좋은 회사에 들어왔다고 다시 한번 확신한 순간이었다. (호성님 만세)