brunch

You can make anything
by writing

C.S.Lewis

by 수수 Jun 29. 2024

개발자의 필수 역량 세 가지

#스타트업개발자 #개발자역량 #역량모델링

개발자에게는 어떤 역량이 필요한가? 


나는 IT 스타트업의 인사 담당자이다. 우리 기업은 이제 막 역량, 스킬 기반 교육을 시작하려 한다. 우리는 그 여정의 첫 스텝으로, 높은 성과를 내고 있는 개발자 10명을 인터뷰했다. 그 결과로 개발자의 몇 가지 공통역량을 찾았는데, 그중 유의미하다고 생각되는 세 가지를 공유한다.


첫 번째,
 요구사항 분석 및 조율 역량


"기획자의 요구사항을 그냥 따르기만 하면 안 됩니다. 요구사항을 검토하고 조율하여 올바른 방향으로 이끄는 것이 필요합니다"


요구사항 분석 및 조율 역량은 기획자, 디자이너, 그리고 경영진이 전달하는 요구사항을 분석하고 핵심을 파악하여 올바른 개발 방향성으로 이끄는 역량이다. 개발자는 요구사항의 기술적 구현 가능 여부를 판단하며 이를 요청자와 조율하는 역할을 수행한다. 따라서 요구사항을 여러 관점으로 세밀하게 검토하는 분석적 사고가 필요하며, 요청자와 원활히 의견을 조율할 수 있는 커뮤니케이션 역량 또한 필요하다. 세부적으로는 아래와 같은 세가지 단계 행동을 실행한다.


1. 요구사항 파악 단계 : 요청자를 인터뷰하여 기획 의도, 목적, 설계 로직 등을 확인한다.
2. 요구사항 분석 단계 : 요구사항의 리스크, 논리구조의 결함 등을 분석한다.  

3. 요구사항 조율 단계 : 요구사항 실현을 위해 요청자와 의견을 조율한다. 


두 번째, 연구 기반 문제 해결

"하나의 문제가 있으면 끝까지 파고들어요. 거기에 몰입해서 시간 가는지 모르는 때가 많습니다"  


개발자와 '개발자의 일'에 대해 얘기를 나누다 보면 가장 많이 나오는 단어가 있다. 바로 문제 해결이다. 그들은 공통적으로 문제 해결에 몰두하며, 그 과정을 즐기는 경향이 있다. 그 과정에서 그들은 특히 연구, 탐구의 강점을 활용한다. 그들은 문제점을 깊게 인식하고 정의하며, 진짜 문제를 해결하는 여러 솔루션을 도출하고 구현해 보며 최적의 문제 해결 방안을 찾는다. 결론적으로 논리적인 모순이 없는 상태의 결과물을 도출하는 것을 매우 중요하게 여긴다. 세부적으로 아래와 같은 행동을 실행한다. 


1. 문제파악 단계 : 기존 기능의 논리 구조를 파악하고 가능성 있는 문제 요소를 테스트하여 원인을 찾아낸다.
2. 솔루션 도출 단계 : 
다양한 솔루션을 연구, 개발해보며 알맞은 방안을 찾아낸다. 필요시 문제해결을 가능케 하는 새로운 기술을 찾아 익히고 다른 기업의 사례를 벤치마킹 하기도 한다.
3. 실행 단계 : 문제 해결 솔루션을
 실행(기능 개발, 리팩토링 등)한다. 

세 번째, 장기적 생산성을 고려한 업무 수행

"늘 장기적으로 어떻게 팀의 업무 효율성, 생산성을 끌어올릴 수 있을지 생각해요"  


개발자들에게 "코딩은 잘한다는 것은 무슨 의미인가요?"라고 물어보면, 넷에 둘은 이렇게 대답한다.
"다른 사람이 직관적으로 이해할 수 있는 코드를 작성하는 게 코딩을 잘하는 겁니다". 
직관적인 코드를 작성할 줄 안다는 의미는, 타인의 입장을 고려할 줄 아는 사람이라는 의미이며 팀의 장기적인 업무 생산성 및 효율성 향상에 기여하는 사람이라는 의미이다. 팀에 "코딩을 잘 하는 사람" 이 필요한 이유이다. 


뿐만 아니라, 개발자들은 시스템이 오래 버그 없이 유지되기 위한 방안을 끊임없이 고민하며, 미래에 재사용 및 확장성을 가능케 하는 클린코드를 작성한다. 요구사항의 자유로운 구현, 재사용성, 유지보수성을 향상할 수 있는 프레임 워크, 코어모듈, 컴포넌트를 직접 개발하기도 한다.

개발 업무는, 마치 레고 블록을 쌓아 나가는 과정과 같아 누군가 기반을 잘 다져 놓지 않으면 미래의 동료가 고생하고 그만큼 팀 업무의 효율성, 생산성이 떨어지는 구조이다. 때문에 중장기적 생산성을 늘 염두에 두고 개발 업무를 수행하려는 ("생산성을 추구하는") 자세는 매우 중요하다.

작가의 이전글 아무도 KPI를 신경 쓰지 않는다
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari