티스토리 뷰

Opinions

좋은 개발자의 덕목 세가지

Voyager Woo 2018. 7. 18. 16:17
반응형

참고: 좋은 개발자의 덕목 V2

우아한 형제들 입사 지원 폼의 질문들은 개발자라는 직업에 대해서 깊숙하게 질문한다. 지원자가 개발자라는 직업에 대해서 어떻게 생각하는지 어떤 성향의 개발자인지 확인하려는 듯 하다.

질문들 중에서 이런게 있었다.

좋은 개발자가 되기 위해 갖추어야 한다고 생각하는 덕목 셋을 고르고 그 이유를 말해주세요.

이 질문에 대해서 굉장히 고민을 많이 하여 답변을 완성했다. 내 생각을 공유하고 피드백을 받고 싶어서 그 답변을 여기에 올려두려고 한다.


저는 신체의 물리적인 능력이 아닌 사고의 능력이라 할지라도 근육을 키우듯이 꾸준히 훈련해야한다고 생각합니다. 좋은 개발자는 어떤 근육이 발달해 있을까 고민해보았습니다.

대화 근육

이 근육은 팀웤과 관련된 근육입니다. 우리는 다른 개발자, 혹은 디자이너, 기획자들과 협업하여 일을 합니다. 만약 이 대화 근육이 약한 사람들은 의사소통 비용이 많이 들기 때문에 개발을 잘하더라도 프로젝트 진척이 더딜 수 있고 동료들을 힘들게 할 수 있습니다. 또한 대화 근육이 약한 사람들이 팀을 이루게 되면 그 팀은 인간적인 유대가 부족해 쉽게 와해될 수 있습니다. 그래서 전 이 대화 근육을 가장 중요하게 생각하고 있습니다.

특히 대화 관련해서 다음의 능력들이 중요하다고 생각합니다.

첫째, 자신의 문제에 대해서 잘 설명하는 능력입니다. 잘 질문하는 능력과 일맥상통합니다. 메타인지의 관점에서 말로 정확하게 설명할 수 있다는 것은 문제를 정확하게 알고 있다는 이야기이며 이는 동료들이 더 쉽게 문제에 접근하고 해결방안을 제시해줄수 있음을 의미합니다.

둘째, 자신이 이해한 바를 다시 말로 표현하는 능력입니다. 회의를 하거나 토론을 할때 상대에 대한 피드백으로 고개를 끄덕이는 것은 충분하지 않습니다. 짧은 제 직장경험, 회의경험에서 고개만 끄덕였던 경우에는 대부분 회의가 끝나고 다시 물어보는 경우가 많았습니다. 자신이 이해한 바를 다시 표현하여 피드백을 준다면, 맞을 경우에는 다음의 대화로 쉽게 진행할 수 있고 잘못 이해했다면 교정할 수 있습니다. 사람은 각자만의 언어로 대화한다고 합니다. 이해한바를 말로 표현해 준다면 서로 간의 언어를 맞춰 줄 수 있습니다. 즉 컨센서스에 도달할 수 있습니다.

셋째, 비개발자에게 쉽게 설명하는 능력입니다. 어찌보면 도메인 주도개발이 중요한 이유가 될수도 있을 것 같습니다. 비개발자에게 저수준의 기술적인 용어를 설명하는 것은 무의미하다고 생각합니다. 도메인 수준에서 언어를 맞추고 이야기한다면 효율적인 대화를 할 수 있을것입니다.

넷째, 인간적인 공감을 해주는 능력입니다. 저는 팀도 하나의 사회적인 공동체라고 생각합니다. 인간적인 유대감이 높을 수록 팀의 생산성도 높다고 생각합니다. 그러기 위해서는 서로간에 공감하는 대화를 할 수 있어야합니다. 특히 이야기를 잘 들어줌으로써 좋은 개발자가 될 수 있으며 좋은 사람이 될 수 있습니다.

새로움을 받아들이는 근육

이 부분은 세 가지로 나누어서 생각해볼 수 있습니다.

첫째, 새로움을 받아들이는 태도입니다. 이 업계에서는 끊임없이 새로운 기술들이 나오고 그 기술들이 진화하고 있습니다. 만약 매번 나올때마다 정신적인 저항이 있다면 개발자라는 직업에 쉽게 지치고 힘들 수 있습니다. 그러므로 새로운 것, 모르는 것을 마음 편히 받아들이는 것이 중요합니다. 그러한 유연한 사고가 있어야, 개발자로써 꾸준히 성장할 수 있다고 생각합니다.

둘째, 새로움을 받아들이는 기반입니다. 신기술들도 결국에는 기존의 기술을 차근차근 쌓아서 만든 기술입니다. 그러므로 학습할 때 기존의 기술을 모른다면 더욱 더 어렵게 다가올 수 있습니다. 즉 컴퓨터 과학의 기초가 중요하다고 생각합니다.

셋째, 새로움을 직접 찾아내는 능동성입니다. 새로운 기술들은 꾸준히 나오지만 관심이 없으면 보이지 않습니다. 꾸준히 신기술과 트렌드를 모니터링하는 능동성이 필요하다고 생각합니다.

회고 근육

저는 메타인지에 대해서 중요하게 생각합니다. 다른 말로, 내가 아는지 모르는지 알아야한다고 생각합니다. 그걸 모른다면 부족한 부분을 채우거나 틀린 부분을 고치기가 쉽지 않기 때문입니다. 메타인지를 하는 가장 확실한 방법은 회고입니다. 팀의 회고, 개인의 회고 상황에 따라 방법도 다양하고 기술적인 부분도 중요하겠지만, 그보다 중요한 점은 자기가 한 것을 뒤돌아보고 문제를 찾고 그 문제를 해결할 액션 아이템을 찾는 것입니다. 회고를 통해서 보다 효율적인 성장이 가능합니다.

이런 회고도 습관처럼 꾸준히 훈련하지 않으면 안하고 넘기기 일쑤입니다. 저도 회고를 습관화 하기 위해서 블로깅을 통해서 노력하고 있습니다.

결론

결론적으로 소통, 새로움에 대한 적응, 회고를 통한 성장 이 세가지가 좋은 개발자에게 꼭 필요한 덕목이라고 생각합니다. ​


반응형

'Opinions' 카테고리의 다른 글

서비스 분리시 고민할 점 - 이름 정하기  (0) 2019.12.21
좋은 개발자의 덕목 V2  (1) 2019.12.16
리팩토링을 하는 이유  (0) 2018.11.27
TDD 참관 후기  (0) 2018.10.24
좋은 개발자의 덕목 세가지  (0) 2018.07.18
개발입문자 코드읽기 제안  (0) 2018.07.04
댓글
댓글쓰기 폼