-
프리랜서에게 요구되는 실력카테고리 없음 2019. 4. 28. 07:04
- 우선 개발자 ( + 디자이너, 퍼블리셔, 기획자)의 실력이 뭔지 정의합시다.
- 개발자 ( + 디자이너, 퍼블리셔, 기획자) 의 실력에는 여러가지 의미가 있어요.
- 빨리 만드는 것
- 단단한 코드를 만들어서 오류 상황에 대비하기
- 읽기 쉬운 코드를 만드는 것
- 요구사항 변경에 대응하기 쉬운 코드를 만들기
- 위의 실력들은 어떤 의미에서는 배타적이고, 어떤 의미에서는 공존할 수 있는 것들이에요.
- 어떤 것을 중시하느냐는 사실 개발자의 성향에 가깝기 때문에, 정답이라고 할 수 있는 건 없습니다.
- 나쁜 코드를 만드는 정석 은 있습니다만 좋은 코드의 정석은 없는거죠.
- 개발자 ( + 디자이너, 퍼블리셔, 기획자) 의 실력에는 여러가지 의미가 있어요.
- 자 그렇다면 이제 프리랜서에게 실력이란 뭔지 알아볼께요.
- "갑" 회사는 프리랜서에게 정해진 시간 내에, 본인에게 주어진 일을 끝내는 것 을 기대합니다.
- 우리는 "갑"의 돈을 받는 입장이기 때문에 "돈주는 사람"의 요구사항을 합리적인 선에서 들어야 합니다.
- 이제 실력의 요건을 다시 봅시다.
- 빨리 만드는 것
- "갑" 회사가 필수 로 요구합니다.
단단한 코드를 만들어서 오류 상황에 대비하기- 중요하지만 신경쓰지는 않습니다.
읽기 쉬운 코드를 만드는 것- "갑" 회사는 신경도 안씁니다.
- "만든 사람"도 신경 안씁니다. 본인이 만들었지만 직접 유지보수를 하는 건 아니거든요.
요구사항 변경에 대응하기 쉬운 코드를 만들기- 하나도 중요하지 않습니다.
- 어차피 단단한 코드 체계 위에 잘 쌓아진 블럭같은 개발은 이미 불가능합니다.
- 따라서 요구사항이 변경되면 그냥 통채로 뜯어고치는 게 더 빠릅니다.
- 따라서 코드의 재사용성 등은 전혀 염두해 두지 않습니다.
- 빨리 만드는 것
- 이제 프리랜서에게 필요한 실력은 딱 하나 남았습니다.
- 빨리 만드는 것
- 따라서 우리의 프로젝트는 그냥 빨리 만들고, 오류투성이이고, 예외 상황에 대처되어 있지 않으며, 요구사항의 변경에는 코드베이스를 들어내야 하는 일이 비일비재하게 일어나게 됩니다.
- 이제 프리랜서들은 만사 다 젖혀두고 빨리 만드는 것 에 집중하게 됩니다.
- 이러한 상황속에서 문제가 생겼다고 가정할께요. 프리랜서들은 어떻게 행동할까요?
- 문제를 가장 빨리 해결하는 방법은 "정석대로 코드의 레이어를 다시 쌓는 것" 이 아니라, `if` 문을 하나 더 넣어서 문제 상황을 회피하는 선택을 합니다.
- 이런 분위기 속에서 개발자에게 요구되는 실력은 뻔해집니다.
- 코드는 if`, `else', `for` 만으로 이루어지며, 이는 "업무 도메인에만 익숙해진다면 10년차든 학원을 갓 졸업한 1년차든 산출물에는 차이가 없어지는 결과를 초래합니다.
- 프리랜서로의 진입장벽이 낮다는 것은, 여러분이 언젠가 나이를 들었을 때 여러분보다 더 젊고, 쌩쌩하고, 머리가 잘 돌아가며, 체력이 좋아서 밤샘도 가능한 사람으로 언제든지 대체 가능하다는 말과 똑같습니다.
- 물론 여러분의 노력으로 이런 구조를 바꿀 수는 없습니다.
- 따라서 프리랜서 여러분은, 일터의 일과 무관하게 좋은 코드를 쓰는 연습을 반드시 하셔야 합니다.
- 최상의 시나리오는 일터의 일과 유관한 일에 좋은 코드를 쓰는 것을 연습하는 겁니다.
- 다만 여건이 안될 경우 억지로 "일터의 일"에 "좋은 코드"를 맞추지 말고, "개인의 프로젝트"에다가라도 "좋은 코드"를 맞추세요.
댓글
- 우선 개발자 ( + 디자이너, 퍼블리셔, 기획자)의 실력이 뭔지 정의합시다.