의미있는 작업 '하나'를 만들기 위해

Spes Lim·2022년 6월 2일
0

하루에 해야하는 한 가지의 작업은 작은 작업의 연속으로 대개는 구성이 되어있다. 작업을 진행하다가 어느 지점에서 가로막혀 솔루션을 찾는 고민으로 시간을 보낸 경험이 많이 있을 것이다. 프로젝트를 만들면서 API 문서를 작성하고, 함께 프로젝트를 진행하는 프론트엔드 동료에게 어떻게 테스트 환경을 제공해 줄 수 있을지 고민하고, 환경을 빌드하고 만드는데 꽤 오랜 시간을 보냈다.

처음에는 API를 테스트 할 수 있는 환경을 도커 컨테이너로 빌드하고, 이미지를 만들어서 동료에게 도커 컨테이너를 실행하는 방법부터 문서로 작성하고 작업 환경을 보내야 겠다고 생각 했다. 하지만 다음의 이유로 도커 환경을 사용해서 동료에게 테스트 환경을 제공하는 방법을 변경하기로 했다.

  1. 함께 프로젝트를 만드는 동료에겐 도커 컨테이너는 아직 낯선 환경이다.
  2. 동료는 윈도우 PowerShell로 작업을 하고 있었다. 도커를 사용한다면 WSL로 작업해야 편리할텐데, 테스트를 위해 익숙하지 않는 도구를 써야 했다.

작은 프로젝트에서 간단한 테스트를 위한 환경을 마련하는 데 많은 시간을 들인다면 프로젝트 진행이 어려워질 수 있겠다는 생각을 했다. 이런 불편함을 줄일 수는 없을까? 도커 컨테이너 말고도 백엔드 서버를 빌드해 줄 수 있는 도구인 Heroku를 사용해서 서버를 빌드하는 방법에 대해 피드백을 받고, 환경 설정에 필요한 정보를 찾는 방법과, 빌드하는 과정을 직접 배우고 익히면서 배울 점을 하나씩 늘려갔다.

너무 많으니까 우선은 일렬로 적어야 겠다.

  1. 작업 환경(내 컴퓨터)은 단일 목적으로 필요한 환경만 우선적으로 배치하기

작업이 한 눈에 들어오도록 실행 결과를 볼 수있는 화면, 서버를 빌드하고 있는 터미널 이 두 가지가 가독성이 좋게 화면을 배치 해야겠다고 느꼈다. 여기서 다른 작업을 진행중인 화면이 더 끼어들지 않도록 배치하는 것이 핵심이다.

  1. 넘겨짚지 말고 있는 그대로를 보라.

하나의 작업을 진행하기 위해 내가 해온 일련의 과정들을 피드백 받았을 때는 중간중간 논리적으로 연관이 된 게 없이 넘겨짚어서 작업한 흔적들이 많이 보인다는 피드백을 들었다.

익숙하지 않은 작업을 진행할 때는 기존의 경험과 지식을 짜깁기해서 동작을 예측하고 진행하려는 패턴이 있었고 이 부분은 새로운 지식을 학습할 때도 흔히 있었던 경우 였다.
때에 따라서 좋은 비유를 만드는 데는 도움이 되는 측면도 있겠지만, 정확한 사실을 먼저 알고서 정확하게 사용하는 일이 가장 먼저라는 생각을 요새는 더 많이 하게 됐다.

  1. 내가 익숙하지 않은 작업은 작은 프로젝트로 여러번 나눠서 반복적으로 진행하자.

쓰고보니 거시적인 설명이고, 결과적인 내용에 가까운 것 같다. 서버와 데이터베이스를 연동하는 게 잘 익숙하지 않아, 어떻게 하면 환경 설정 파일도 잘 만들 수 있지? 이런 물음이 들었을 때, 실제로 그 환경을 테스트 할 수 있는 작은 프로젝트를 만들어서 숙련도를 쌓아 올려야 한다는 것. 여기까지 생각이 왔을 때는 왜 아샬님이 매일같이 작은 프로젝트를 만들어서 깃허브에 올렸는지 이해를 할 수 있게 됐다.

  1. 작은 트러블이 생겼을 때, 원점으로 진행하기 보다는 현 상황에서 문제를 해결하는 방법을 찾을 것.

루트 디렉토리가 잘못 잡혀서 인덱싱이 잘 되지 않거나, 환경 설정이 중간에 잘못 설정되어 빌드가 와장창 깨졌을 때, 여러 방법을 시도하다가, 그 마저도 생각이 꼬여서 새로 빌드하는 그런 경험을 최소화 하자고 생각했다. 이런 경우는 100% 내 작업이 정돈이 되지 않아서 발생하는 문제이기도 했고, 실수였든 작게 트러블이 생길 때마다 원점으로 돌아가야 한다면 오히려 더 많은 시간을 낭비할 수 있겠다는 판단이 들었다.

이런 이슈를 빠르게 해결할 수 있는 방법은 결국 반복적인 연습에서 올 수 밖에 없다고 하셨다. 수련을 게을리하지 말아야겠다는 다짐, 열심히 공부 하면서 바른 습관을 쌓아 올려야 비로소 나에게 의미있는 공부가 된다는 깨달음을 기억해야겠다.

profile
Software Developer

0개의 댓글