회고

일잘하는 개발자가 되기

DuL2 2023. 12. 3. 23:25

개발자의 커리어 사다리 - developer(Software Engineering) Laddar

좋은 개발자 혹은 신입 개발자로서 갖춰야할 자세가 무엇이 있을까? 실무 경력이 없는 신입은 어렵고 난해한 이야기일 것 이다. 오캄이라는 회사의 사내 엔지니어 구분표를 통해 이해해보자. 많은 회사들이 비슷한 무언가를 가지고 있지만 공개하지는 않고, 이 글을 통해 신입 개발자가 갖추어야 할 자사에 대해서 정리하는 시간이다.

오캄은 다음과 같은 커리어 사다리를 가진다고 한다. 크게 IC 트랙과, Management 트랙이 있다고 한다.

 

 

출처 : 아래 더보기

 

 

L1: Engineer I:

영향

  • 범위
    • Ockam의 엔지니어링 표준 및 개발 모범 사례에 따라 코드를 학습, 작성, 테스트, 검토 및 문서화합니다.
  • 책임
    • 자신에게 할당된 작업을 완료하고 팀원을 위해 대기 중인 최초 대응자 역할을 합니다.

기능적 기술

  • 기술적 역량
    • 직접 감독 하에 작은 기능과 버그 수정을 위한 소프트웨어 설계에 참여합니다.
    • 직접 감독하에 소규모 시스템 관리 프로젝트를 완료합니다.
  • 지식
    • Ockam 제품의 핵심 구성 요소 중 하나 이상에 대한 이해를 발전시켰습니다.
    • 자신의 작업이 팀의 OKR과 어떻게 연결되는지 명확하게 설명할 수 있습니다.
    • 작은 문제를 식별하고 문서화하는 방법을 이해합니다.
    • 보안의 중요성을 이해합니다.

행동

  • 신뢰할 수 있음
    • 시간과 사양에 따라 작업 할당을 제공할 수 있습니다.
    • 작은 작업을 소개하면 수석 엔지니어의 피드백과 제안을 통합하여 해당 작업을 완료할 수 있습니다.
  • 협업/커뮤니케이션
    • 도움을 요청하고 그로부터 배웁니다.
    • 작업 진행 상황을 효과적으로 전달합니다.
    • 자신의 책임을 전달하고 명확하게 설명할 수 있으며 RACI 프레임워크를 효과적으로 활용할 수 있습니다.
  • 살아있는 가치
    • 주도성을 보여주고 자급자족을 향한 관점을 갖고 엔지니어로 성장하기 위한 도구, 리소스 및 프로세스를 배우려는 동기가 있습니다.
    • 지속적인 개선과 성장 마인드를 갖고 있습니다.
    • 피드백을 정중하게 받아들이고 그들의 작업을 통해 배웁니다.

10x 개발자, 생산성이 10배인 개발자는 존재할까?

칼럼에 대한 반대하는 댓글도 있다. 사실 이 용어는 공학 용어도 아니라 비즈니스 용어이며, 마케팅 팀이 개발자들을 자신들의 입맛대로 주무를 수 있도록 만드는 데 쓰기 위한 용어라는 것이다.

 

그런데 여기서 생각해보면 단순히 내가 10배의 일을 할 수 있는 개발자가 되는 것이 아니라, 잘 일할 수 있는 10명의 팀으로 성장시켜 10배의 효과를 볼 수 있다고 생각을 해야한다는 것이다. 팀마다 업무의 효율이 천차만별일 것이고 개인의 능력치 또한 다르기에 이를 모두 성장시킬 수 있는 방법을 생각하고, 고민하는 것이 모두에게 이익이 될 것이다.

 

출처 더보기

 

개발자 역량

 

달라지고 있는 개발자의 모습

과거에 개발자하면 생각나는 모습은 방안에서 컴퓨터를 가지고 독수공방하며 제품, 서비스를 만들어 내는 nerd 같은 느낌을 생각했다면 지금의 개발자는 많은 사람들과 협업을 하고 소통을 통해 팀 문화를 갖춰나가고 제품의 기술적 최적화를 이루어 내는 모습이 개발자가 되었다. 또한, 많은 회사들에서도 단순히 기술을 잘 알고 잘 만드는 사람이 아니라 소통도 잘하고 커뮤니케이션 능력과 성장 가능성 이 있는 사람들 일을 잘하는 일잘러로 생각하며 그런 인재상을 원하는 추세이다. 

 

개발자 성장 특징

 

개발자는 다른 여타 직업들과 다르게 어떤 과목을 잘 알고 공부해서 시험을 보거나 어떤 자격증을 취득한다고 할 수 있는 일은 아니다. 개발자라는 직업을 사회에서 본다면 개발도 기술이기에 어떻게 보면 성장하고 배우기 위해 도제식으로 운영된다. 과거 대장간 장인들, 일본의 여러 장인들처럼 개발도 혼자 무엇인가를 깨우치고 성장하기보다 선배, 시니어 개발자 혹은 멘토가 존재하고 그들과 소통하면서 좋은 코드란 무엇인지 배우고 습득해나가는 식으로 운영된다는 것을 확인할 수 있다.

 

더 좋은 개발자가 되기 위해서...

이 문단에서 말할 내용은 어떤 직업이든 일이든 마찬가지겠지만 무언가를 배우고 성장하고 싶다면 Comfort Zone에서 벗어나서 불편하고 어렵고 실패할 수 있는 곳으로 가야한다는 것이다. 그 길 위에서 그림위의 Learning Zone처럼 그 과정에 있을 때 배우고 성장할 수 있다는 사실을 적어두려 한다.

 나는 현재 Comfort Zone에 있은지 오래된 것 같고 이를 더 벗어나기 위한 노력을 하고 있다.

 

성장하기 위한 개발자로서의 Soft Skill 자세

개인 차원의 노력

  1.  먼저 개인차원에서 어떻게 질문하는가에 신경 써야 한다.
    • 의사소통의 표현을 명확하게 하기 위해 모르는 용어를 없애야 한다. 즉, 공부를 하던지 설명을 부탁드려본다던지 함으로써 개발 도메인에 대한 이해도를 높이고 질문에 대한 효율을 높여야 한다.
    • 질문의 답변에 대한 이해 후 다시 나의 생각으로 정리한 답을 다시 되물어 확인을 받는다.
      • 이해한 것으로 착각하여 실제 결과는 영 다른 결과물이 나올 수 있기 때문에 질문에 대한 요약을 되물어 확인받자.
  2. 문서를 잘 작성하자.
    • 문서를 잘 작성하기 위한 방법으로는 단순히 많이 해보자.
    • S.A., 기술적 문서 등.
    • 회의록을 작성하여 현재 진행중인 태스크에 대한 정리를 해보고, 논의 중 비슷한 내용끼리는 묶는 다던지 하여 구조화 연습을 하는 것이 좋다.
    • 또한 기술 개발 일정 작성을 잘하기 위해 기술을 잘 쪼개고 기술 개발에 필요한 시간을 가늠잡아보는 연습을 지속적으로 하라.
    • 이렇게 예상 시간을 잡더라도 항상 일이 틀어질 수 있으므로 그 상황에서는 팀에 항상 빠르게 보고하고 공유해야 한다.
  3. 회고를 하라. 
    • STAR 회고
      • Situation
      • Task
      • Action
      • Result

팀적인 차원의 노력

  1. 불평을 안 하지 못하겠다면 줄여라
    • 팀과 일하다보면 결국 불만이 생기게 된다. 단순히 일이 힘들다고 불평만 하지말라. 
    • 불평은 단순히 팀의 사기만 꺾을 뿐이다.
    • 가장 좋은 불평은 문제를 해결하기 위한 불평을 해라.
    • 불평을 통해 모두가 수면 밑에 가지고 있던 문제점을 수면 밖으로 꺼낼 수 있다면 해도 좋을 수 있다.
  2. 회의를 해야한다.
    • 회의를 위한 회의를 하지 말자!
    • 효율적인 회의를 위해 회의를 주최한 사람들이 회의에 대한 목적성을 명확히 해야한다.
      • 예를 들어 회의에 참여자는 이 정도는 알고 참여했으면 좋겠다. 등..
    • 회의의 아웃풋이 명확해야 한다. 액션의 결과가 나와야만 한다.
      • 아이디어 결과물이나 어떤 문서가 나와야 한다.
  3.  일을 하다보면 남을 잘 설득해야한다. 그것을 위해서는 당연히 논리, 지식 등이 탄탄해야 한다. 하지만 설득을 잘 위해 어쩌면 가장 편한? 좋은? 방법은 그들과 친해지는 것이다.
    • 애자일 코치 - 김창준님의 의견이기도 하다.

 

회사 전체 차원의 노력

  1. 개발자의 마인드는 문제를 해결하는 사람들로서 회사에는 고객이 있고 고객이 필요로 하는 가치를 이해하고 그들이 원하는 가치를 전하기 위해 엔지니어링을 통해 가치를 설명하는 사람이며 이런 마인드를 지녀야 한다.
    • 개발을 하지 않고(덜 하고) 해결할 수 있는 솔루션이 있다면 좋다.
  2. 회사가 지키고자 하는 가치와 본인의 가치가 일치한다면 더 좋은 개발자가 될 수 있다.
    • 엔지니어로서는 더욱 좋고 완벽한 솔루션, 아키텍처를 만들고 싶을 수 있지만 회사가 요구하는 정도의 가치, 요구사항을 준수할 수 있을 정도로 타협할 수 있다면 회사로부터 인정받는 엔지니어, 개발자가 될 수 있을 것이다.
      • 어떤 트래픽이 오든 모두 받을 수 있는 안정적인 아키텍처를 만들 수 있다면 좋지만 회사의 요구사항이 10만 트래픽정도라면 그정도를 빠르게 효율적으로 잘 만들 수 있는 것도 능력일 것이다.

책 추천

함께 자라기 by 김창준