풀스텍에 대한 환상 – 비교우위

사람이 하루에 일할 수 있는 시간 8시간.. 주당 40시간
진짜 미친듯이 한다고 하면 주 100시간까지 할 수 있다.

슈퍼천재개발자 김모씨가 할 수 있는 스킬 목록과 스킬수준

  • Backdend(Spring,Django,Flask,Nest.ts,GoRing…) 10점
  • Frontend(React,Vue,Angular) 3점
  • DevOps(Docker,K8s,AWS,Linux…) 4점
  • AI(???) 1점
  • Data 5점
  • ….등등등 3점

이런 풀스텍 개발자 3명이 모여서 협업을 하는 경우

10점짜리 Backend, 3점짜리 Frontend, 4점짜리 DevOps의 협업이 된다

어중간한 게으른 원툴 개발자 3명의 모임

Backend(Spring) 8점, Frontend(React)7점, DevOps(k8s,AWS) 6점

이렇게 원툴인 개발자 3명이 있으면 훨씬 더 좋은 결과물이 나온다.

비교우위를 가져야한다

소프트웨어의 완성도는 가장 낮은 스킬수준을 가진 사람의 수준에 따라 결정된다.
잘 하는 사람보다 못 하는 사람이 없는게 중요하다.

협업하는 동료들을 이해하기 위해서 이것저것 할 줄 아는건 좋은데

직장에서 이것저것 다 잘 하는 사람이 꼭 필요하지 않다.
어차피 하루에 일은 8시간밖에 못한다.
혼자 일 하는게 아니면 가잘 잘 하는것만 하기에도 시간은 부족하다

나 혼자서 창업!

을 하는 경우는 예외

[개발자가]회사에서 절대 맡으면 안 되는 업무

일반 행정사무직에서 예시

이걸 개발자에 적용 해 보면?

1 쉽지만 중요한거 개발하기

FocusBoard
중요도
긴급도
1사분면을 떼서

파급력 X축
난이도 Y
1사분면 파급력 +, 난이도 + 필수업무
2사분면 파급력 -, 난이도 + 하지마!!!
3사분면 파급력 – , 난이도 – 시간낭비
4사분면 파급력 +, 난이도 – 거저먹기.. 일도 못하는데 인정받는 사람

상호평가가 없는 회사에서는 4번만 주서먹기가 될 것같기는한데… 실력이 안 늘어서 장기적으로는 안되겠지?
1번과 4번의 조화가 좋아보인다
가끔은 3번도.
2번은 회사에서 아예 필요없는 일일 가능성이 높다

2 핵심기능 개발하기

위랑 좀 겹치는 것 같은데

떨거지 모듈 개발하지 말것
예를들어
배달의민족의 개발자라면
(이런게 있는지 없는지 모르지만)
레거시로 남은 php 어드민기능이라던가 이런거 하지 말라는 것
도메인 분야로 보면
로봇배송, 배송관리, 결제, 정산 다 중요하니까 괜찮음

보통 개발자는 PHP는 할 줄 모른다고 하는게 이롭다
PHP전문개발자는 특화분야로 높은 연봉을 받기도 하지만.. 곁다리 PHP개발 경력은 정말 쓸모없고 성가시기만 하다.

3 남들 다 실패해서 퇴사하는 어려운거 하지말기

담당자가 왜 나갈까

남들은 다 병신이라 못했을까

업무가 쉬운데 처리가 안된다면 다 사정이 있다.
연동해야 할 대상이 좆같거나

4 내가 완성할 수 없는거 떠맡지 말기

원래 업무는 조금 어려운 도전적인 정도가 딱 좋은데
신입이나 2~3년차로 들어갔는데 팀장이라고 주고 프로젝트를 떠맡긴다??
바로 퇴사각~
밤새고 같이 고생해서 완성을 할 수도 있긴한건데
대학생도 아니고 ㅋ 잘 하는 사람 하나만 있어도 업무진행이 다르다.

원래 아무것도 모를 때 남한테 배우기가 제일 쉽다. 일정이상 경력이 쌓이면 나보다 잘하는 사람 찾기도 힘들게 되는 경우가 많으니
(부분적으로 서로 가르쳐주고 하지만 다 뛰어난 사람은 없다)

하지만 신입때는 그냥 거의 모든게 나보다 뛰어난 사람이 넘쳐난다
그래서 신입 때 잘 배울 수 있는데루 가라는것…지름길

5 반복 노가다 업무

개발자도 반복업무가 상당히 많은데

무슨 쿼리 뽑아달라던가
이메일 추출해달라던가 하는거

이런건 업무협의를 잘 하거나
시간을 따로 잡아서 개발을 하면
대부분 업무 자체를 없애버릴 수 있다