본문으로 바로가기

뛰어난 소프트웨어 개발자가 갖춰야 할 5가지

category Study/Developer Life 2020. 12. 8. 07:28

소프트웨어 개발자에게 코딩은 필수입니다. 그런데 뛰어난 개발자는 단순히 코딩만 할 줄 안다고 되는 것이 아닙니다. 코딩 능력 외에도 아래 5가지를 갖춰야 뛰어난 소프트웨어 개발자가 될 수 있다고 생각합니다.

 

1. 클린코드 작성

누구나 프로그래밍 언어를 배우면 코드를 짤 수 있죠. 하지만 누구나 클린 코드를 짤 수 있는 것은 아닙니다. 올바른 구조와 철학을 갖추지 못한 코드는 유지 관리가 어렵습니다.

 

자신이 짠 코드를 다시 이해하는데 몇 시간씩 걸리는 개발자가 있습니다. 이런 코드로 이루어진 어플리케이션은 간단한 수정도 하기 어렵습니다. 제가 생각하는 클린 코드는 자신을 포함해서 다른 사람도 쉽게 이해할 수 있어야 합니다.

 

물론 클린코드에 대해서는 다양한 관점과 해석이 있습니다. 다만, 대체적으로 유지 관리가 용이한 코드, 효율적인 코드, 경제적인 코드 등으로 풀이되죠. 클린코드의 정의와 구현 방법에 대해서는 로버트 C.마틴의 Clean Code를 꼭 한 번 읽어 보길 추천드립니다.

2. Troubleshoot 능력

어플리케이션에 문제가 발생했을 때 어디부터 봐야 하는지 알아야 합니다. 장애가 발생하면 대부분 촌각을 다투게 되는데요. 어디부터 체크해야 하는지 모르고 우왕좌왕하면 막대한 손실이 발생할 수도 있습니다.

 

빠르게 Troubleshoot하려면 평소 테크니컬 지식도 갖춰야 하고, 비즈니스 측면에서도 어플리케이션을 이해해야 합니다. 문제가 생겼을 때 빠르게 이슈를 찾는 개발자가 뛰어난 개발자라고 생각합니다.

3. Presentation 기술

개인적으로 발표 기술은 모든 개발자에게 필수 역량이라고 생각합니다. 소프트웨어 개발은 일종의 비즈니스 쇼잉이기도 하기 때문인데요. 대체로 발표를 잘하는 개발자가 성장도 빠르더군요.

 

회사에서 비슷한 코딩 실력을 가진 개발자가 있다면 당연히 발표를 잘하는 개발자가 더 우대 받습니다. 물론 발표만 잘하고 코딩은 못하는 입만 산 개발자가 되서는 안되겠죠. 문제는 개발은 잘하는데 발표를 못하면 눈에 띄지 않게 된다는 것입니다.

4. 협상의 기술

개발자에게 무슨 협상의 기술이 필요하냐라고 할 수 있습니다. 평소 코딩 잘하고, 문제 생기면 잘 고치고 하면 좋은 개발자가 아니냐 할 수 있는데요. 팀에서 고참 개발자가 될수록 어쩔 수 없이 협상의 전면에 나서는 경우가 많아집니다.

 

클라이언트나 회사 내 다른 팀과 이해 관계가 상충되는 일이 부지기수입니다. 심지어 같은 팀원들끼리도 논쟁이 생기기도 하죠.

 

따라서 어떻게 양보할 건 양보하고, 얻어낼 건 얻을 수 있는지를 익혀둬야 합니다. 요즘 자기개발 책 중에 협상의 기술에 대한 책이 많더군요. 인문학적 소양으로 이런 책 한권 정도 탐독해두는 것도 나쁘지 않은 것 같습니다.

 

 

협상의 전략 : 세상을 내 편으로 만드는

COUPANG

www.coupang.com

5. 시간 관리

충분한 시간이 있다면 대부분 개발자는 좋은 코드를 만들 수 있다고 생각합니다. 그런데 안타깝게도 그렇게 많은 시간이 주어지지 않죠. 그래서 개발자에게 시간 관리는 필수 요소일 수 밖에 없습니다.

 

시간 관리를 하려면 우선 시간 견적을 잘 내야 합니다. 어떤 기능을 만드는데 얼마나 걸리는지, 어떤 어려움이 예상되는지 등을 판단해야 하는데요. 물론 저도 이게 절대 쉽지 않다는 것 잘 압니다.

 

신입 개발자로 들어오면 본인 작업이 얼마나 걸릴지 측정해야 할 겁니다. 처음에는 대부분 시간 견적을 잘못 내서 고생하게 되는데요. 시관 관리를 잘하려면 그런 실수에서 어떤 점이 잘못되었는지, 어떤 부분을 주의해야 하는지 계속 배우는 수 밖에 없습니다.

마무리

단순히 코드를 짤 수 있다는 것으로 뛰어난 소프트웨어 개발자가 될 수 없는 시대인 것 같습니다. 위에 언급한 5가지는 기본적으로 갖춰야 개발자로 성공할 수 있지 않을까 싶은데요. 주변에 본받을 만한 선배 개발자가 있다면, 그 선배 개발자가 가지고 있는 기술이나 노하우를 꼭 살펴보시길 바랍니다.

 

 

신입 개발자 생존의 기술:지속적 성장을 위한 33가지 실천법

COUPANG

www.coupang.com

 

(참고) 이 블로그는 쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받습니다.


댓글을 달아 주세요