본문 바로가기

잡담

개발자에게 필요한 역량 3가지

주니어 개발자인 나로써는 현재 현업에서 개발을 하며 느끼는 바가 있다.

 

컴퓨터공학부 대학생 시절에는 코딩만 잘하면 그만이라고 생각했지만 실제 현장에서 일을 해보니 그렇지 않다.

 

개발을 할 때 필요한 역량은  업무이해력, 코딩능력, 커뮤니케이션 능력 이렇게 3가지가 있다고 생각한다.

 

 

업무이해력

우선은 업무를 이해할 수 있는 머리가 있어야한다.

 

IT분야마다 업무 지식의 중요도가 다르다고 하는데 나의 경우 업무 이해도가 많이 강조되는 은행권이라 그런지

 

이 업무이해도가 부족한 사람들 때문에 프로젝트에서 뒤쳐지는 사람들을 많이 보았다.

 

코딩 실력은 있지만 구현을 하려고해도 업무를 이해하지 못하니 구현을 하지 못하는 아이러니한 상황이 나타난다.

 

업무를 이해하는 개발자는 현업담당자들과 커뮤니케이션을 하며 문제점을 파악해 나가는 것이 가능하다.

 

하루종일 코딩만 주구장창 하지말고 교양서적등을 읽으면서 다양한 방면으로 지식을 넓혀보자~

 

 

코딩능력

코딩능력은 프로그래머에게 당연히 빠질래야 빠질 수 없는 부분이다.

 

프로그래머가 코딩을 못한다면 프로그래머라고 할 수 없다.

 

우선 업무이해력 보다는 코딩 능력이 더 중요하다.

 

코딩능력이 없으면 구현 자체가 불가능하지만 코딩능력이 있고 업무이해력이 없으면

 

어떻게해서든 만들어 낸다.

 

내가 옆에서 지켜본 프로그래머는 업무이해도가 완전 0이었는데 프로그램을 구현해냈다.

 

구현해낸 방법은 은행직원이 옆에 붙어서 업무를 이해시키지 않고 프로그래머에게

 

"이렇게 출력되게 해주세요"

 

"아무 생각하지 말고 데이터만 제가 이야기한대로 나오게 해주세요"

 

이렇게 개발한 경우를 보았다.

 

코딩실력이 없다면 이것도 못한다.

 

 

커뮤니케이션 능력

코딩능력과 업무이해력을 고루 갖추게 되면 커뮤니케이션을 구사 할 수 있다.

 

코딩능력과 업무이해력을 바탕으로 업무담당자들과 이러한 부분은 기술적으로 구현이 불가능하다.

 

업무가 이러이러하게 되어있는데 업무담당자들이 제시한 방법보다는 이쪽 부분이 연산 처리 속도도 더 빠르며

 

이전의 방식대로 구현을 하면 개발시간이 어느정도 걸리는게 이렇게 하면 개발시간이 이만큼 단축된다 등등

 

이렇게 코딩능력, 업무이해력, 커뮤니케이션능력으로 프로젝트를 잘 풀어가는 개발자가 좋은 개발자라고 생각한다.

 

 

 

 

 

 

부가적으로  그냥 코딩 서적이 아닌 IT서적들을 읽어보면  개발은 혼자 하는게 아니다.

 

커뮤니케이션 능력이 중요하다 등등 이야기가 나온다.

 

그 중에서 컴퓨터 업계에서 빠질래야 빠질 수 없는 C++창시자의 기술 서적에서도 커뮤니케이션 능력을 이야기 했던 것이 기억이 난다.

C++교재, 저자 C++창시자(bjarne stroustrup)

이 책을 읽었을 때 저자가 강조했던 부분이 있었는데 현대 시대에서 코딩만 잘하고 커뮤니케이션을 못 하는 개발자는

 

아무 쓸모 없는 개발자라고 적혀있었다.

 

현대 시대에는 소프트웨어가 너무 거대해졌고 혼자서 모든 것을 개발한다는 것은 불가능하기에

 

각각 필요한 부분들을 협업하여 구현해낼 수 있는 커뮤니케이션 능력을 강조한다.

 

은둔형 개발자가 되지 말고 리더형 개발자가 되도록 노력을 하자~