좋은 개발자란 어떤 개발자인가에 대해 고민할 기회가 종종 있었다. 면접 자리에서, 다른 개발자와의 담소를 통해, 그냥 친구들과 떠들다가, 웹서핑을 하다가 등 시발점도 다양하다. 주로 얘기하는 공통점도 있었지만, 상황, 역할 등에서 차이점도 생각보다 크다고 느꼈다. 그래서 좋은 개발자란 그때 그때 달라질 수 있겠구나 싶었고, 나는 어떤 개발자이고 싶은지 구체적으로 그려둘 필요가 있겠다 싶었다.
보편적인 의미의 좋은 개발자
탁월한 문제해결능력과 커뮤니케이션 스킬을 보유한 사람이라고 생각한다. 스포츠로 치면, 좋은 운동선수라고 볼 수 있다. 뛰어난 육체와 반응속도, 똑똑한 머리를 겸비한 사람이다.
기술기업/대기업에서의 좋은 개발자
정확성과 성능은 기본, 확장성을 고려할 수 있는 사람(즉, 전문 분야가 있는 사람)이라고 생각한다. 규모가 커질수록, 이것 저것 할줄 안다고 하더라도, 한 분야에 책임을 다하는 쪽이 전체 능률이 높아진다.
초기 스타트업에서의 좋은 개발자
정확성보단 빠른 속도, 전문성보단 보편적이고 폭넓은 지식의 개발자가 초기 스타트업에서의 좋은 개발자인 것 같다. 가설검증 전엔 정확성이 생각보다 중요치 않은 경우가 내 생각보다는 훨씬 많았기 때문이다. 사용자의 더블클릭으로 DB상에 계정이 두개 생긴다고 하더라도, 사용자가 느끼기에 계정이 한개처럼만 보인다면, 뭐가 문제겠는가?
다른 개발자에게 좋은 개발자
문서화를 잘하고, 다른 개발자에게 좋은 인터페이스를 만들어서 협업하기 편한 개발자. 트랜디한 정보를 빠르게 적용해보고, 팀의 지식을 높여주는 개발자. 나는 보통 여기에 속했던 것 같다.
좋은 신입 개발자
문제해결능력보단 꿈, 끈기, 좋은 커뮤니케이션 능력 등이 있는 개발자를 선호하는 듯했다. 성장 가능성을 체크하는 것 같다. 나는 개인적으론 성실성과 의지를 보는 편이다.
나의 이상
몸뚱아리가 하나 뿐이고, 인생도 한번 뿐인 한 모든 걸 선택할 순 없다. 나는 나를 위한 개발자가 되고 싶다. 돌이켜 생각해보면, 대학생 시절부터 같은 생각이었다. 나와 내 주변 친구들이 즐길 수 있는 소프트웨어를 만들고 싶다. 하지만 엔지니어 창업은 실패확률이 매우 높다고 하니, 도전을 주저하게 된다. 그렇기 때문에 나는 사업감각이 뛰어난 개발자가 되고 싶다.