언젠가부터 남과 비교하는 것이 익숙해졌어요. "이건 누구보다 잘해, 이건 누구보다 못해"라는 생각들은 성장의 밑거름이 될 때도, 되려 독이 될 때도 있었어요. 앞의 생각들은 "쉽다", "힘들다"라는 무서운 생각 또한 들고 오기에 이를 쉽게 떨쳐버릴 수 있는 저만의 개발자 성장 체조 원칙
을 공유해보려 해요.
개발자 성장 체조 원칙
원칙 1 - 키보드에서 손을 뗀다
생각을 코드로 작성하는 것은 재밌어요. 다만 생각을 코드로 옮기기 전, 옳은 방향인지 한 번 더 고민해봐요.
동료와 생각을 공유해봐도 좋고요.
원칙 2 - 대충 아는 것은 아는 것이 아니다
"~에서 봤는데", "~가 이렇게 하던데"라는 말은 무게감이 떨어져요. 적용하려는 기능이 왜 필요한지 장/단점이 뭔지 알고 적용해봐요.
기능의 필요성을 찾아가는 과정은 애플리케이션의 품질을 높이는 과정이에요.
원칙 3 - 지식을 공유한다
기능을 적용했다면, 이를 공유해야 해요.
글, 그림, 동영상 어떤 매체든 상관없어요. 여기서 중요한 점은 원칙 2
에서 말했듯이 필요성에 집중하는 것이에요.
처음 보는 사람도 이해할 수 있게 한다면, 성공한 공유라 믿어 의심치 않아요.
공유를 받는 사람이 100번 물어봐도 100번 알려주기로 해요.
원칙 4 - 지식을 공유받는다
지식을 공유하는 것보다 더 중요한 원칙이에요.
누군가 지식을 공유한다면, 자신이 알고 있는 지식과 비교해봐요. 의문점이 생기면 주저 말고 물어봐요. 정말로 이해가 될 때까지 계속 물어봐야 해요. 동료와 함께 성장하는 지름길이에요.
원칙 5 - 어제의 나와 경쟁한다
경쟁상대는 주위에 있지 않아요. 바로 자신에게 있어요. 남들과 비교하게 된다면, 자만심, 불안감이 함께 몰려오기가 쉬워져요.
"어젠 이 지식을 몰랐는데 오늘은 알게 됐네? 내일은 뭘 더 공부할까?"와 같이 어제의 자신과 경쟁해봐요.
물론 어제보다 못한 오늘일 수 있어요. 하지만 아직 내일은 오지 않았어요. 오늘 부족했다면 내일 조금 더 하면 돼요. 우리의 시간은 생각보다 그렇게 짧지도, 그렇게 길지도 않아요. 마음을 천천히 가져봐요.
원칙 6 - 애플리케이션의 관점에서 바라본다
새로운 기술이 눈에 밟히고, 애플리케이션에 적용하면 좋을 것 같다는 생각이 들 수 있어요.
하지만 "좋을 것 같다"라는 말은 애플리케이션을 철저히 무시하는 말이에요. 정말 기술이 필요한지는 애플리케이션에 답이 있어요.
예를 들어보죠, 캐싱을 적용하면 조회 시 성능을 높일 수 있다는 블로그를 보게 됐어요. 일단 적용하면 빨라진다니까 좋아 보여요. 적용하기로 결정해요. 인덱싱도 한번 해놓으면 조회 성능이 좋아진대요. 이것 또한 적용해요.
요구사항이 변경됨에 따라 수정/삭제가 많아지게 됐어요. 찾아보니 수정/삭제가 빈번할 시에는 캐싱이랑 인덱싱이 좋지 않데요. 캐싱과 인덱싱을 제거하기로 해요.
과연 앞의 과정이 어쩔 수 없는 변화에 대응하는 과정일까요? "밑 빠진 독에 물 붓기"에 어울리는 과정일까요?
기술을 적용하기 전, 현재 애플리케이션에서 정말 필요한지, 원칙 2
에서 말했듯이 필요성에 집중해봐요.
애플리케이션의 관점에서 말이에요.
원칙 7 - 컴퓨터도 한 번쯤 쉬게 해준다
집중하는 시간은 앉아 있는 시간과 비례하지 않아요.
쉬는 시간, 밥 먹는 시간은 잠깐 컴퓨터에서 벗어나 봐요. 풀리지 않던 해결책이 별안간 떠오를 거에요.
어떤가요? 팀 프로젝트를 하며 정립된 저만의 원칙이에요.
댓글