[2022 HUFS 하계 모각코] 0820 TIL

KwakKwakKwak·2022년 8월 21일
0
post-thumbnail

8월 20일자 모각코 기록이지만 8월 22일 새벽 1시에 써내려가는 모순.. 그만큼 해커톤 준비도 많이 하고 해커톤이 끝난 후 피로가 잘 가시지 않아서 이제야 키보드를 붙잡고 기록하려 한다.

전반적으로 느꼈던 것들

8월 19일부터 20일 아침 6시까지 멋쟁이사자처럼 10기 중앙 해커톤 행사가 진행됐다. 개발자가 되기로 맘 먹고 난 뒤 참가하는 첫 대형 행사라 설레기도 했고, 뭐든지 첫경험이 많은 것을 좌우하기 때문에 잘 마무리됐으면 좋겠다는 생각으로 참여했다.

멋사 해커톤 자체에 대해서 먼저 이야기하자면, 원래 내가 알고 있는 '해커톤'은 무박 2일 안에 새로운 프로덕트를 0에서부터 만들고 그 결과물로 경연을 펼치는 행사였다. 그런데 멋사 10기 해커톤은 벼락치기의 느낌이 전혀 아니고 다같이 약속이라도 한 듯 다 만들어진 프로젝트를 배포만 하는 그림이어서 갸우뚱했다. 근데 사실 학부생 수준에서 이틀 안에 프로덕트 하나를 완성시킨다는 것은 불가능에 가깝기 때문에 이런 진행이 된게 아닌가 싶었다. 우리 학교 3팀은 해커톤을 일주일 전부터 준비했기 때문에, 완성 후 발표는 더더욱 어려운 일이 아니었나 싶다.

물론 해커톤 행사를 마치면서 결과물을 만들어내지 못한 것은 아쉽지만, 여러가지 면에서 느낀 점들이 많았던 시간이었다.

프로젝트의 폴더 구조와 디자인 패턴, 이거 굉장히 중요합니다

중앙 해커톤 이전에 진행했던 미니 해커톤 이후에도 리팩토링을 진행하면서 스스로 폴더 구조와 디자인 패턴에 대해 고민하고 공부했던 적이 있다.

맛집 리스트 리팩토링 - 폴더 구조 편
맛집 리스트 리팩토링 - Context API 적용 시도

프로젝트를 초기에 어떻게 세팅하느냐에 따라 코드의 퀄리티가 매우 크게 좌지우지되고, 가시성이 좋을 수록 코드의 재사용률을 비롯해 협업의 효율까지 증진시키기 때문에 코드를 입력하기 전에 팀원들과 다같이 코드 컨벤션과 디자인 패턴에 대해 최대한 많이 입을 맞춰보는게 중요하다.

그래서 프로젝트 초기에 팀원들과 위 주제에 대해 적지 않은 시간 동안 이야기를 나눴고, 팀장분의 초기 세팅을 바탕으로 간단한 컨벤션을 정하고 개발에 돌입할 수 있었다. 그리고 이것은 꽤나 괜찮았다. 직관적인 폴더명에 css 파일과 jsx 파일을 나눠 코드가 더럽혀지는 일은 없었고 가시성도 괜찮았다. 각자가 맡은 구현 부분은 각자의 branch에 디벨롭하여 충돌의 위험도 적었다. 그러나 해커톤 당일 merge를 여러번 하면서 조금씩 문제가 생기기 시작했다.

팀원들의 코드 구현 스타일이 조금씩 다른 것이 해커톤 당일에 문제를 일으켰다. 팀원 한 분이 복붙해온 css 파일이 merge되면서 전역적으로 img의 width값에 특정 값을 부여하여 갑자기 이미지들이 찌그러지는 웃긴 상황도 연출됐고, 아주 명확하게 폴더를 언제 생성할 것인지 등의 기준을 정해놓지 않아 해커톤이 끝나갈 무렵에는 폴더만 수십개가 쌓여버리는 골치 아픈 상황도 연출됐다.

행사가 끝날 무렵 셋이서 이야기를 나눴을 때 가장 공감했던 건 '휴식 이후 프로젝트를 시작할 때 폴더 구조를 개편하자'는 것이었다. 모든 팀원들이 프로젝트에 대한 열정이 가득한 만큼 처음부터 탑을 공들여서 한땀한땀 쌓을 필요를 느낀 것. 당분간은 여러 프로젝트를 찾아다니면서 염탐해보는 시간을 가질 것 같다.

온라인과 오프라인의 장단점

git을 사용하는 방법에 있어서도 개개인의 처리 방식이 굉장히 다르다. 누구는 github desktop을 쓸 것이고(과거의 나), 누구는 터미널에 직접 커맨드를 입력할 것이고, 누구는 vscode extension을 사용할 수 있다. 나는 터미널에 커맨드를 입력하는 스타일이었고, 팀장님은 vscode에서 해결하는 스타일이었다. 서로의 작업물을 merge하는 과정에서 conflict를 로컬에서 수정하면서 팀장님에게 도움을 요청했고 팀장님의 방식대로 vscode에서 conflict 수정을 진행하다 branch를 결국 날려먹었다(다행히도 main branch에 코드가 살아있었고 미리 정해놓은 협업 방식 덕에 문제는 전혀 없었다).

같은 공간에서 코딩을 하면서 좋은 점은 어려움이 발생했을 때 즉각적으로 해결할 수 있다는 점이고, 반대로 안좋은 점은 내 작업 flow가 타인의 작업 방식과 섞여져 돌이킬 수 없을 정도로 꼬일 수 있다는 점이다. 더군다나 밤새면서 코딩하는 해커톤이었기 때문에 서로가 제정신이 아닌 상태가 되어 더 세심하게 보지 못했던 것 같다.

동료들과 나눈 많은 대화가 제일 값지지 않았나

개발 외적으로도 동아리 사람들과 더 가까워질 수 있었던 시간이라 값진 이틀이었다. 이번 해커톤이 정말 무박 2일 동안 개발에만 몰두했다면 오히려 가까워질 시간이 없었을 것 같다. 12시를 넘긴 시점부터 육체적/정신적 한계를 경험하고 하나 둘씩 '오늘 안에 절대 못끝낸다'는 현실을 마주하고 난 뒤부터 웃고 떠들고 졸지 않기 위해 필사적으로 산책도 나가고 사진도 찍고 별 짓 다한게 오히려 추억이 된 것 같다. 물론 꼬박 밤을 새고 나니 아직까지도 몸이 만신창이다(특히 허리 ㅋㅋ)

앞으로의 계획

많은 것들을 느꼈다. 이제 정말 무언가를 내 손으로 만들어내기 시작했구나, 더 깔끔하고 멋진 결과물을 만들려면 어떻게 해야할까, 무엇을 공부해야할까 등등.. 사용자에게 질 높은 경험을 선사해줄 수 있는 웹을 구현하려면 아이템 배치, 디자인, 로직 설계 최적화 등 해야할 것들이 산더미다. 이렇게 공부할 게 산더미처럼 많은데 내가 당장 다음에 무엇을 공부하고 무엇을 적용시킬지 우선순위를 확립해놓지 않으면 금방 다가오는 파도에 휩쓸려 수동적으로 끌려가게 될 것 같다.

누군가에겐 이런 것들이 스트레스로 다가올 수 있겠지만 나는 이 과정이 매우 즐겁다. 더 많은 자극을 받길 원하고 그만큼 더 많은 것들을 경험하고 싶다. 그래서 지금 시작한 프로덕트도 그렇고 나아가 정말 내 가치관에 부합하는 좋은 프로덕트를 찾아서 그것을 많은 사람들이 쓸 수 있을 정도로 키워가고 싶다. 그 연습 과정이 멋사 활동일 것이고 아마 내년에도 한 해 더 하지 않을까 싶다. 개발자는 코딩만 하는 직업이 아니라 일종의 창작자에 더 가까운 것 같다. 그래서 난 이 직업이 좋다!

아, 그리고 이 글은 마지막 모각코 기록 글이다. 왜냐면 내일 라섹이 잡혀있어 이제 참여할 수가 없음. 안경잽이 탈출이다~~

0개의 댓글