좋은 개발자의 정의는 다양하다.
머리가 좋은 사람, 근면 성실한 사람, 열정 적인 사람, 기발한 사람 등등…
나는 좋은 개발자보다 중요한 것이, 평범한 개발자로써 일을 잘 해내는 방법을 아는 거라고 생각한다.
나를 포함한 대다수는 평범한 개발자다. 남들보다 뛰어나거나 특출 난 것들은 모두 좋은 경험과 기회가 이뤄준 것이지 타고난 재능이 아니다.
이런 평범한 사람들이 일을 잘하는 방법은 바로 지속적인 개선이다.
나의 경우에는 업무에서 먼저 시작했다.
손이 많이 가는 작업이 많아서, Windows hotkey 프로그램을 만들어 쓰기 시작했고, 스크립트를 짜서 단순 작업을 자동화, GUI 프로그램에 소스가 없으면 매크로를 짰다.
편리한 유틸리티를 찾고, 내 입맛에 딱 맞고 공수가 덜 드는 환경을 구축해주는 프로그램으로 하나씩 바꿔 나갔다.
한번 찾은 정보를 정리하기 위해 북마크로 시작했고, 위키로 정리, 지금은 원노트를 4중 카테고리화해서 사용하는 방법을 사용 중이다. (필기장 분리, 섹션 그룹, 섹션, 하위 페이지 2 depth 응용)
이외에도 다양한 데이터가 어디에 있는지를 명확히 하고, 그 위치에 내가 정한 룰에 맞게 데이터가 정리되어 있는지 주기적으로 정리한다.
그 작업 과정에서 번거로움이 있으면 어떻게 개선할지 또 다시 고민한다.
출퇴근 길도 어떻게 하면 조금 더 빠르게 적은 시간을 낭비할지 고민한다. 출퇴근 시간에 무엇을 해서 loss 타임을 줄일지 고민한다.
당연히 나만 이렇게 하고있지는 않을 거라고 생각한다. 하지만 의외로 삶의 번거로움을 불변 요소로 여기는 경우도 많고, 특히 업무에서 적용되지 않는다.
회의가 내 업무 관리가 어렵다면, 내 업무에 반복이 많다면, 비효율이 많다면 반드시 제거하기 위한 고민을 해야 한다.
- 업무에서 길을 잃지 않기.
- 두가지 이상의 업무가 동시에 들어온다면, 우선 순위에 맞게 처리하기.
- 나중에 처리할 업무를 따로 관리하기.
- 한번 처리한 업무의 히스토리를 기록하며 일하기.
- 동일 업무 발생시, 히스토리를 따라서 소요 시간을 줄인 뒤, 이에 대한 자동화나 공수를 줄일 방법 찾기.
- 도구를 이용해서 해결 할 수 있는 일인지 고민하기.
- 고안한 도구가, 다른 방법까지 해결할 수 있거나, 비용 투자 대비 (학습, 구매 비용 등) 효과적인 해결책이 있는지 시간을 정해 놓고 찾아보기.
- 집중이 안될 때 할 수 있는 일 찾기.
- 내가 하지 않고 있는 일을, 다른 팀원들이 해결해주는 문화라면 좋겠지만 일반적으로 그렇지 않다.
- 미뤄둔 일 중에, 단순 반복 작업, 솔루션이 찾아져 있어 실천만 하면 되는 작업을 분류하고, 그 작업들을 해결하라.
이런 과정을 반복하다 보면 확실히 업무 효율이 좋아졌고, 업무 처리량도 늘어났다.
업무 시간을 효율적으로 사용하고 업무를 관리해야, 나의 다른 여가 시간을 확보해줄 수 있다.
그렇게 여유를 만들어 내야, 일상도 개선 할 수 있다. 업무에 치이기만해서는 일상을 개선하기 어렵다.
일상의 개선에도 위에 언급한 것 외에도 여러가지 포인트를 찾을 수 있다.
- 책읽기가 번거롭다, 책을 들고 다니기 어렵다
- Ebook으로 대체
- 게임 디스크 교체가 번거롭다 (디지털 다운로드)
- 이외에도 가능한 것은
- 리모트로 대체
- WOL로 컴퓨터 켜기, 무선으로 최대한 대체
- 자동화 할 수 있는것
- 스케쥴러로 자동화 등등
- 알람으로 대체할 수 있는 것
- 규칙적 알람은 최대한 규칙화해서 스크립팅하거나 알람 툴의 반복 기능 사용등
- 리모트로 대체
여러가지 제약으로 인해 개선 되기 힘든 것들이라도 최대한 적어 두고 고민하려 한다. 내가 모든 것들을 효율적으로 하며 사는 것은 아니지만, 그러기 위한 노력과, 개선의 결과가 나에겐 보람이고 성취감 중 하나다.
특히 정리의 습관을 근거로 한 개선, 자동화나 알람을 통한 개선은 단계를 거칠 수록 더 그 편리함에 내 자신이 감탄하게 되기도 한다.
생산성에 관심이 많은 분이라면, 한번쯤 내가 제안한 삶을 지속적으로 개선하는 방법에 대한 고민을 해보는 건 어떨까?