경험에 기반해서 나눈 레벨이라 조금 주관적일수는 있긴 함.

  1. 단순 오타 정도만 수정하는 사람

    이건 프로그래밍 지식이 거의 없어도 가능.

  2. 다른 사람이 어떻게 구현/수정하면 될 것 같다고 한 거 그대로 하는 사람

    이 정도면 최소한의 프로그래밍 지식은 있다고 보면 됨.

  3. 간단한 기능을 구현하거나 사소한 버그를 찾아서 고치는 사람

    최소한 이 정도는 되어야 자기가 주도적으로 뭘 한다고 말할 수 있음. 이 정도 레벨에서 몇 년씩 있으면서 기여하는 케이스도 존재함

  4. 소프트웨어의 일부분 정도는 이해하고 이것저것 수정하는 사람

    좀 비중 있게 기여한다 싶으면 보통 이 정도 수준이나 그 이상은 옴. 다른 부분 코드는 잘 모르더라도 어느 한 부분만 이해하면 사용자 입장에서도 꽤나 유의미한 성과가 많이 나오는 것 같음.

  5. 소프트웨어 전체 구조를 대충 이해하고 이것저것 리뷰하거나 커밋하는 사람

    대규모 프로젝트가 아닌 이상 보통 이 정도면 핵심 멤버가 될 수 있음. 고수까지는 아니더라도 상당한 영향력을 행사하는 경우가 제법 많음.

  6. 소프트웨어 전반에 익숙하면서 프로그래밍 스킬도 뛰어난 사람

    이 정도 되면 기여량이 많지 않더라도 뛰어난 스킬 덕분에 잘 드러나지 않는 버그를 해결하거나 소프트웨어 구조 자체를 변경하는 식의 중요한 일을 맡게 됨.

  7. 그냥 어디서든 사소한 디테일까지 읽어내고 남들보다 훨씬 풍부한 지식과 기술을 가진 사람

    프로그래밍 스킬도 스킬이지만 대개 코드 리뷰 실력이 엄청나서 웬만한 경력자들도 놓칠 법한 사소한 문제까지 미리 잡아내곤 함. 흔하진 않지만 팀에 한 명만 있어도 진짜 도움이 됨.