본문 바로가기
아티클

주니어 개발자가 갖추어야 할 3가지 능력

by imsoncod 2023. 10. 27.

해당 아티클은 원본 아티클의 복제본입니다.

인트로

어느덧 띵스플로우와 함께한 지 1년이 되었습니다, 시간이 정말 빠르네요 😅

사회에 첫 발을 내디딘 저에게는, 띵스플로우에서 있었던 모든 일들이 도전이었습니다.
업무가 어려울 때도 있었고 학업과 병행하며 체력적으로 힘겨울 때도 있었지만, 나름 주어진 자원 속에서 최선을 다해 많이 배우고 성장할 수 있었던 것 같습니다 (이제 졸업해서 여유시간도 생겼고, 개인 공부도 할 수 있어요 😇 )

서두가 길었네요, 결론은.. 그동안 우당탕탕 하며 개인적으로 느낀 점을 적어보고자 합니다!

커뮤니케이션 능력

실무를 경험하기 전에는 주로 제 직무인 개발에 대한 걱정을 했었습니다. 그런데 머지않아 개발은 서브고 메인은 커뮤니케이션임을 알게 되었습니다.

회사 내에서는 하루에도 수십 번, 논의를 통해 다양한 판단과 결정이 이루어지는데, 이 모든 과정은 커뮤니케이션을 통해 진행됩니다. 커뮤니케이션이 원활하게 이루어져서 올바른 판단과 결정을 한다면, 좋은 결과를 가져올 수 있는 확률도 늘어나겠죠. 그만큼 커뮤니케이션은 회사의 성장 여부를 판가름할 수 있는 매우 중요한 요소입니다.

개발한 내용을 팀원들에게 공유하는 상황을 가정해 봅시다. 팀원들이 모두 동일한 직무의 개발자들이라면, 설명이 조금 어눌하거나 어려운 기술적인 용어를 사용해도 서로 질문을 던지다 보면 어느 정도는 이해가 될 것입니다. 하지만 다른 직무의 팀원들이라면 어떨까요? 앞선 상황과 똑같이 설명했다가는, 오히려 팀원들의 이해를 방해할 수가 있습니다. 그렇다면 꼭 개발자가 아니더라도, 커뮤니케이션 능력을 키우기 위해서는 어떤 액션을 취할 수 있을까요?

  • 본인에게 최적화된 커뮤니케이션 방법을 선택합니다. 커뮤니케이션을 무조건 구두로만 할 수 있는 것은 아닙니다. 팀원들의 이해를 돕기 위해서라면 설명할 내용을 깔끔하게 문서화해도 좋고, 상황에 맞게 시각적인 자료를 활용할 수도 있습니다.
  • 타 직무에 대한 이해도를 높여야 합니다. 서로 직무가 다른 팀원들은 업무도 다르고 협업의 범위도 다르기 때문에 눈높이에 맞는 설명이 필요합니다. 이를 위해서는 본인의 직무를 넘어서 다른 직무는 어떤 일을 하는지 어느 정도 파악하고 있어야 하고, 궁극적으로는 전반적인 회사의 구조와 운영의 흐름을 파악해야 합니다.
  • 본인이 한 업무를 확실하게 이해합니다. 이해하는 것과 설명하는 것은 정말 다른 일입니다. 100% 이해하고 있어도 설명하려면 머리가 하얘지는 경우가 많죠. 업무를 마친 후에 배경과 과정, 결과와 목표를 되새겨보면 업무를 이해하는데 큰 도움이 됩니다.

아! 한 가지를 빼먹었네요, 모든 커뮤니케이션은 반드시 “예의”와 “존중”으로부터 시작되어야 합니다.

문제 해결 능력

학부생 때부터 개발은 문제 해결의 과정이라고 생각해왔는데, 실무를 경험하니 더욱 그런 것 같습니다. 개인적으로 문제 해결 능력은 결정력, 논리력, 개발력, 생산력 4가지의 능력을 포함하고 있는 것 같습니다. 이유는 아래와 같습니다.

  • 논리력 : 해결 방법을 실행할 수 있는 논리적인 로직을 생각할 수 있어야 합니다.
  • 결정력 : 문제 해결을 위한 여러 대안 중 최선의 선택지가 무엇인지 결정할 수 있어야 합니다.
  • 개발력 : 코딩과 가장 가까운 능력이라고 생각합니다. 생각한 로직을 직접 구현할 수 있어야 합니다.
  • 생산력 : 결국 모든 업무는 시간과의 싸움입니다. 한정된 자원 속에서 빠르게 문제를 해결해야 합니다.

어떠한 결정을 하냐에 따라 로직과 코드, 투자되는 공수 모두 바뀌기 때문에, 위 능력 중에서는 결정력이 가장 중요하다고 생각합니다. 경험상.. 문제 해결 방법을 결정할 때는, 문제를 해결했을때 얻을 수 있는 결과의 중요도를 고려하는 것이 가장 좋은 것 같습니다. 문제를 해결했을 때 얻을 수 있는 이익이 적다면, 해결 방법보다는 해결 자체에 초점을 두고 빠르게 해결하는 게 높은 생산성을 가져올 수 있겠죠?

개발자는 평생 공부합니다, 당장 위와 같은 능력이 없어도 키울 시간은 충분합니다!

관리 능력

어떤 직무던 레벨(직급)이 높아지면 책임져야 하는 범위가 넓어지고 리드해야 하는 팀원이 많아지게 됩니다. 또한, 내 업무 외에도 직접적으로 팀원들의 업무에도 관심을 가져야 합니다. 여기서 업무에 관심을 갖는다는 건, 상사가 부하직원이 일을 잘하는지 감시하는 개념이 아닙니다. 음.. 아래 예시가 있습니다.

  • 공동의 목표를 달성하기 위해 팀원들의 업무가 잘 얼라인되어 있는지 확인합니다.
  • 팀원이 정해진 기간 내에 수행할 수 있는 업무인지 확인합니다(데드라인 체크)
  • 팀원이 어떤 업무에 도전의식과 흥미를 갖는지 확인합니다.
  • 팀원이 눈높이에 맞는 업무를 하고 있는지 확인합니다.
  • 팀원이 정신적/체력적으로 무리하게 업무를 하고 있지는 않은지 확인합니다(번아웃 NO)
  • 회사 생활에 영향을 줄 수 있는, 공적/사적인 고민이 있는지 확인합니다.

생각했던 팀원 관리의 개념과 좀 다를 수 있습니다. 저도 이렇게 디테일하게 관리하는지는 몰랐어요! 그래도 실제로 리드분들께서 이렇게 관심을 가져주신 덕분에 1년 내내 재밌게 개발을 하고 있지 않나 생각이 듭니다. 계획적이고 정리 정돈을 좋아하는 성격 때문인지, 평소 업무관리에 대한 중요성은 어느 정도 인지하고 있었는데.. 회고를 하면서 또 한 번 팀원 관리 측면에서 배울게 참 많다고 느꼈습니다.

주니어가 관리 능력까지 있어야 돼? 하실 수도 있는데.. 언젠가는 주니어를 탈출하는 날이 올테니깐요!

반응형

댓글