- Published on
실무 과제를 우아하게 대처하기
- Authors
- Name
- shleecloud
들어가며
최근 Frontend 포지션으로 이력서를 넣다보니 실무 과제를 많이 받게 됐다. 예전에는 이런 실무과제가 많지 않았는데 요즘은 이런 전형으로 많이 진행되는 것 같다. 우연일수도 있고. 진행하면서 실제 개발과 실무 과제의 갭을 많이 느끼게 되어 이렇게 회고를 남긴다. 지금 보면 당연한데 막상 하기 전엔 생각이 나지 않았던 팁을 적어본다.
미리 보일러 플레이트를 깔아두어라
실무 과제는 시간 제한이 있다. 두 시간 내로 끝내는 알고리즘 테스트와 다르게 2~3일부터 일주일까지 주어진다. 꽤 넉넉해보이지만 무한은 아니다. 그리고 보일러는 깔다보면 시간이 늘어지기 쉽다. 나의 역량을 보여주려고 욕심 그득그득한 보일러를 깔게 되면 정작 실제 로직을 구현할 시간이 부족해진다.
심지어 실무도 어느정도 타협한 보일러가 깔리게 된다. 사업은 언제 망할지 모르니까. 그렇게 실무에서 풀어내지 못했던 억압된 욕망 때문에 실무 과제 기간에 보일러에 시간을 쏟게 된다. 그럼 당연히 밤을 샐 수 밖에 없고 미완성된 프로젝트를 제출하게 된다. 말 그대로 스스로 불러온 재앙이다. 그래서 미리 보일러를 깔아둬야 한다.
예를 들어, Monorepo, docker-compose, 서버 상태 관리(react-query 같은), 라우팅, 전역 상태 관리, 간단한 CRUD 기능을 가진 클래스와 테스트(상속 받으면 곧바로 완성되는), 글로벌 에러 핸들링, 로깅, 디자인 시스템(직접 만들거나 가능하다면 MUI를 사용) 등을 미리 구성해두면 시간을 크게 절약할 수 있다. 밥이 늦게 나오면 쌀을 키워서 밥 짓냐는 농담이 나오는데 그 말 대로 최소한 밥은 미리 지어두어야 한다. 과제도 사업과 마찬가지로 선택과 집중이 중요하다. 집중을 할 때는 Yes보다 No를 말해야 한다.
README를 잘 작성하라
보일러를 미리 깔아두어 많은 시간을 절약했다면 이제는 그 시간을 README에 투자해야 한다. 설치, 실행은 기본이고 왜 이 스택을 선택했는지, 어떻게 사용했는지, 프로젝트 흐름과 구조가 어떻게 되는지, 어떻게 개선할 수 있는지를 작성한다. 아니 작성 해둔다. 재활용 하면 되니까. 미리 준비하자.
마치며
나는 요리 관련 버라이어티 쇼, 특히 고든 램지를 좋아한다. 독설도 독설이지만 문제점을 캐치하고 날카롭게 피드백하면서 나아지는 도전자나 가게를 보면 마치 드라마같다. 개발도 비슷한 결이 있다.
음식이 늦게나와 손님이 떠나고, 퀄리티에 집착하다가 적자가 나는 줄도 모르고 장사하는걸 경계해야 하듯이 시간을 절약하고 효율적으로 임해야 한다. 손님과 마찬가지로 과제는 기다려주지 않으니까.
다시 해보자구