영리한 개발자와 현명한 개발자의 차이점

이지영·2024년 6월 26일

영리함과 현명함의 차이

일반적으로 시니어 개발자는 현명하고, 경험 지식 및 기술면이 뛰어나다.
하지만 주니어 개발자는 영리하지만 현명함을 갖추기엔 부족하다.

차이를 만드는 것은 경험이다.

실수를 하면, 그 실수를 피하기를 희망하지만 다시 같은 실수를 반복할 수 있다.
그러나 이 실수로 인해 더 많은 실수를 피하는 방법을 알게된다.

영리한 사람은 문제를 해결하고, 현명한 사람은 그것을 피해간다.

현명한(시니어) 개발자는 필수적인 요구사항만 포함하고 있으면 좋을 법한 요구 사항에 대해서는 무시하는 방식으로 코드 생성을 줄인다.
모든 것을 자동화할 필요가 없으며, 때로는 수동 선택이 최선의 선택이다.
코드를 작성할 필요가 전혀 없을 때를 명확히 하고 식별하는 것이 시니어 개발자가 익히는 기술이다.

코드 생성이 필요할한 때

주니어 개발자는 코드 작성에 능숙하며 기술을 최대한 자주 사용하기를 원한다.
현명한(시니어) 개발자는 코드 작성이 필요한 시점을 안다.

질문할 때, 경청할 때, 말할 때를 구분하기

소프트웨어를 만드는 것은 비즈니스 전문가와 기술 전문가 간의 협업이다.
하여 요구사항을 듣고 질문할 때, 경청할 때, 말할 때를 잘 구분해야한다.

주니어 개발자는 몇 가지 요구 사항은 잊어버리고 몇가지는 경청하고 어떤 경우는 듣지도 않고 기술 솔루션 만들기로 바로 이동하기도 한다.

시니어 개발자는 소프트웨어의 목적을 이해할 수 있도록 목표와 프로세스에 집중한다.
업무 목적, 팀과 개인의 역할을 파악한 후에 필요한 소프트웨어를 만들 수 있기 떄문이다.

주니어 개발자의 개발 속도는 처음에는 빠르게 진행되는 것처럼 보이지만 차례대로 발생하는 버그로 뒤처진다.
우수한 시니어 개발자는 질문할 때, 경청할 때, 말할 때를 잘 구분하기 때문에 순차적으로 코드를 한 번에 만들어 무사히 환경을 통과한다.

자신이 맡은 바를 다하기

소프트웨어 개발을 위해서는 한 팀이 필요하고 각자가 자신이 맡은 바를 수행해야한다.
도움을 제공하는 것은 양날의 검과 같아, 단기적으로는 남을 도울 수 있지만 장기적으로는 자신에게 해를 끼칠 수 있다.

현명한 개발자는 프로젝트의 각 영역을 처리하는 사람이 자기가 맡은 일에 집중하도록 한다.
개발자는 업무를 처리하는 사람들의 시간을 보호해주고 그들을 위해 책임과 결정을 내려야한다.

현실적으로 대처하기

주니어 개발자는 현실과 싸우고,
시니어 개발자는 현실에 맞춰 일한다.

온갖 버그, 이슈들을 막을 수는 없지만 그에 대비하고 재앙으로 끝나지 않도록 할 수 있다.
기술 재해에는 준비된 개발자가 필요하다.
영리한 사람과 현명한 사람의 차이점은 결코 대단하지 않다.

[느낀점..]

우수한 시니어 개발자가 되기 위해서는
많은 실수를 반복하며 많은 경험을 쌓고 실수를 피하는 방법을 습득해야겠다는 생각이 들었다.

질문할때, 경청할 때, 말할 때를 구분하는 사람이 되어야겠다고 생각했다.
개발 뿐 아니라 삶에도 적용하면 좋은 부분이라고 생각했다.

그리고 나는 남을 도우는 것을 좋아하고 그로인해 행복을 느낀다.
하지만 나의 맡은 바를 다 하지 않고 상대를 도우는 것은
장기적으로 나에게 더 나아가 팀에게 해를 끼칠 수 있으니,
나의 업무를 완료 한 후에 시간이 되면 다른 사람을 도우는 방향으로
개발을 진행해야겠다는 생각이 들었다.

현실은 일상에서도 많은 이슈들이 발생한다.
현실과 싸우며 현실에 맞춰 살아가는 방법을 점차 습득해 나가야겠다.

출처 https://yozm.wishket.com/magazine/detail/1769/

0개의 댓글