[pre_onboarding] 1차 과제_Aimmo 회고

On a regular basis·2021년 11월 3일
0

[pre_onboarding] 1차 과제_Aimmo 회고

11월 1일부터 진행된 pre_onboarding 코스의 첫번째로 기업 Aimmo의 과제를 수행했다. 회고를 남겨보고자 한다.

1. GOAL

  • 과제 구현을 통해 코드의 감을 익히는 것.
    CS와 알고리즘에 익숙해지다보니 API를 작성하는 것이 어느샌가 내게 굉장히 큰 두려움으로 다가왔다. 알 것 같은데 모르겠고 모르는 것 같진 않은데 확신이 없다보니 결국은 점점 자신감 하락으로 다가왔다. 이번 코스를 통해 코드를 많이 치고 익숙해져서 실무적인 능력을 기르고 싶었다. 깃 사용부터 도커배포, 유닛테스트까지 실제로 회사에서 사용하는 지식들을 익히고 싶었다.

2. BLOCKER

  • 새로운 것을 받아들이는 나의 태도. 팀원 한 분의 제안으로 layered architecture에 대해 접하게 되었고 신세계를 경험했다. 처음엔 내가 익숙한 장고 orm이 아니라 꽤나 겁먹고 얼어있었다. 팀원 분의 layered architecture에 대한 개발 방향은 효율적이었고 합리적이었고 수긍이 갔다. 그럼에도 내 안에 있는 ORM에 대한 익숙함이 그걸 온전히 거부하는 것 같았다. 사실 클린한 코드, 다른 이들이 읽었을 때 가독성이 좋은 코드는 내게 우선순위가 아니었고, 일단 동작되는 코드, 일단 완성된 코드가 내게 너무 중요했기 때문이다. 그런 내게 아키텍처에 기반한 코드의 질적인 측면을 고려할 여유도 없었고, 관심도 부족했던 것이 사실이다. 이번 Aimmo 과제를 진행하며 12시간 라이브 코딩을 진행했다. 그 와중에 벙찌는 건 모두 오롯이. 내 몫이었다. 촉박한 이틀이라는 기간동안 왜? 왜? 왜?에 대한 향연이었고 어쩌면 나는 새로운 것들을 받아들이는데 엄청난 관성을 가진 사람이 아닌가라는 의문도 들었다.
  • 내 코딩실력에 대한 엄청난 회의감. 우리 팀은 함께 구글밋을 통해 온라인으로 회의를 하며 코드를 짜는 형식을 취했는데, 구글 밋 전날 과제 구현 api를 혼자 작성했었고 모든 api가 수포로 돌아갔다. 물론 layered architecture에 기반한 코드 작성이기에 views.py와 service.py의 역할을 분담하고 dto라는 새로운 기능이 추가 되었으니 코드의 형태가 달라지는 것도 있었겠지만 내가 생각했던 로직과 팀원 분들과의 로직이 달라 개인적으로 자괴감에 힘들었다. 이 아키텍처에서 내가 코드를 작성이나 할 수 있을까 하는.

3. GOOOOOOD

  • 🤔 익숙하지 않은 아키텍처에 새로운 개념들이 많이 등장해 회고록을 쓰기 전 필요한 개념들을 공부했다. '정말 이걸 내가 흡수할 수 있을까?'라는 의문과 함께 하나씩 공부해가며 기존의 나의 지식에 더하여 새로운 것들을 쌓는 시간을 가졌다. 물론 촉박했지만 오늘 이거 하나만은 꼭- 이라는 마음으로 블로깅을 했다. 어쩌면 되는대로 코드 한 줄을 치는 것보다 효율적이고 유용한 프레임 안에서 코드 한 줄을 치더라도 협업에 시너지를 가져다주고 가독성 높은 코드를 치는 것이 중요하다는 생각이 들었다. 이건 사실 내 선택인 것 같다. 내가 어떤 방향을 선택하느냐에 따라 어떤 개발자가 될 수 있는지 정해지는 것처럼. 위코드 안에 있는 사람들과만 소통을 하다가 새로운 사람들과의 협업은 꽤나 신선했다. 새로운 코드, 새로운 용어, 새로운 코드 방향성에 대해 체감해볼 수 있었다. 더불어 내 코드에 더 책임감을 느낄 수 있는 개발자가 되어야겠다고 느꼈다. 아주 그 짧은 순간에.
  • 배움의 가장 좋은 시간이라는 생각이 든다. 아주 짧고 귀여운 내 코드를 리뷰받는 시간이 있었는데 생각해보면 정말 소중한 시간이다. 내 코드가 수정될 때 어떻게 바뀌는지 왜 더 효율적인지. 내가 짠 방법과 비교했을 때 어떤 장단이 있는지 내가 체득하고 경험할 수 있는거니까. 그렇게 생각하면 공부할게 너어무 많고 정말 순간순간이 배움의 연속이다. 구웃.

4. TO BE CONTINUE

  • 무언가를 배우더라도 정말 깊고 능숙하게 할 수 있도록 실력을 키우고 싶다. 과제도 중요하고 취업은 지금 내게 더 중요한데 무엇보다 중요한건 내가 지향하는 '실력'인 것 같다. 회사에서 과제를 내주면서도 내가 왜 이 프레임워크를 썼는지, 내가 왜 이 코드를 썼는지, 어떤 부분에 중점을 뒀는지, 어떤 면에서 효율을 줄 거라고 판단했는지- 에 대한 내 생각이 궁금할 것이라는 생각이 든다. 그런 '이유'에 대한 나만의 기준과 신념을 코드에 담아 표현하고 싶은 맘.
  • 다음 번 과제에서는 유닛테스트와 배포를 맡아서 해봐야지. 꼭. 하루에 꼭 하나를 배우는 시간을 보내고 싶다.
  • 코드와 기능구현만큼 중요한 컨벤션, 커밋메시지, README.md 제대로 작성하기. 소통능력을 길러야해.
  • 과제는 계속해서 쏟아져나올 것이고 나는 거기서 어떤 태도로 과제를 대해야할까. 단단하고 탄탄해지고 싶다. 느린 것을 걱정하지말고 실력의 헐거움을 걱정하는 사람이고 싶다.
profile
개발 기록

0개의 댓글