본문 바로가기

MY개발생각

[개발생각] 시니어 개발자와 주니어 개발자에 대한 생각

시니어 개발자와 주니어 개발자의 가장 큰 차이는 '관심' 같다.

 

요즘은 수평문화등의 이유로 개발자들간의 시니어, 주니어 개발자의 역할과 책임의 경계가 모호해진것같다.

수평문화는 참 좋은 문화이지만, 역할과 책임에서도 수평이 되는것은 나는 좋게 보지않는다.

직장,학교,군대등 사람들이 모여 생활하는 집단에서는 역할과 그에 대한 책임의 경계가 명확해야하기 때문이다.

이 부분을 수평문화라는 놈이 경계를 모호하게 만드는것 같긴하다.

 

그렇다면, 개발에서 역할과 책임이라는 범위로 봤을때,

시니어 개발자는 어떤 사람이고, 어떤 역할을 해야하는걸까?

 

다수의 경험을 바탕으로, 모든것들을 척척 해나가는 슈퍼맨같은 사람이라고 볼수도있다.

하지만, 나는 다르게 생각한다.

 

시니어 개발자의 가장 큰 덕목은 '관심'이다.

 

내가 사용하는 기술에 대한 '관심'

- 어? 이게 어떻게 이렇게 동작하는거지? 라는 생각. (관습적으로 사용하는 기능/방식도, 그 동작원리를 이해하고, 습득하려고 해야한다.)

- 이렇게 코딩한건 이런 이유때문이야! 라는 생각. (모든 코딩은 그렇게 작성한 이유가 틀릴지언정, 이유가 명확히 있어야 한다.) 

- 이런것 흥미롭다, 한번 스터디해봐야지! 라는 생각. (새로운 기술에 대한 갈망이 있어야 한다.)

 

같이 일하는 주니어에 대한 '관심'

- 저 사람은 이 부분에 대해서 어떻게 생각할까? 라는 생각. (나도 틀릴수있다, 다른사람이 어떻게 이해하는지를 항상 비교해야한다.)

- 어떤 부분에서 힘들어하는 걸까? 라는 생각. (선배로써, 힘든부분에 대해서, 해결책을 제시해 줄수있어야 한다.)

- 어떤 부분이 부족한걸까? 라는 생각. (주니어의 부족한 부분을 파악하고, 부족한 부분을 충전할수있는 방법을 제시해야한다)

 

내가 만드는 시스템에 대한 '관심'

- 이렇게 하면 더 좋아질꺼야! 라는 생각. (관습적인 개발을 떠나, 항상 상황에 맞는 아이디어를 생각해야한다.)

- 이부분은 어떻게 개선을 해야할까? 라는 생각. (개발/설계에 대한 이해도와 지식을 쌓아야 한다)

- 왜 이런 설계를 해야하는걸까? 라는 생각. (개발/설계에서는 항상 맹목적으로 받아들이지 않고, 그 이유를 이해해야 한다)

 

참, 적어보니, 소름끼치는... 꿈같은 이야기를 적어놓은것 같다.

 

하지만,

충격적인건, 정말 저런 시니어가 많다는것이다. (다만 너의 옆에 없을 확률 99% :) )

실제로, 주니어 개발자 시절에, 이런 시니어 개발자를 2명정도 만난것 같다.

 

그 시니어 개발자와 함께 일을 하면, 정말 실시간으로 레벨업이 되는것을 느낄정도였다.

한명의 제대로된 시니어 개발자의 영향력은 실로 어마어마하다는걸 몸소 체험했다.

 

또한, 이런 시니어 개발자와 같이 일할수있는 소중한 시간을 가진다고 해도,

저런 부분을 배우려 하지않는 '주니어' 개발자에게는 '전설의 시니어'라도 무의미하다.

 

결국, 주니어 개발자는 저런 시니어 개발자의 능력을 따라하고, 배우려는 마음가짐이 가장중요하고,

시니어 개발자는 '관심'의 덕목으로 좋은 영향력을 끼치는게 중요하다.

 

결론, 둘다 잘해야 됨 (손벽도 마주쳐야 소리가 나지...)

 

그리고...나도 더 노력하자...