라이브 개발 팁

이직을 했다.

스타트업이다.(살짝 동아리 같기도 하다.)

개발팀에 들어갔다.

첫번째 과업으로 게시판에 추천기능을 변경하라고 한다.

조사해보니 생각보다 쉬울것 같다. 코드 10줄 정도면 충분히 고칠것 같다.

나름 개발에 자부심을 가지고 있는 나에게 겨우 이런걸주다니..

살짝 미소를 머금고 코드 작업을 한다.

추천 기능을 변경했다.

개발에 10분도 안걸렸다. 팀장이 벌써 했냐고 놀랜다.

잘 동작하는것 같다.

첫번째 배포를 진행했다.

그리고 몇시간뒤…

고객에게 게시판 댓글이 달리지 않는다고 연락이 왔다.

난 추천기능만 수정했다.

내코드로 인한건 아니라서 가만히 앉아있었다.

그리고 20분후 팀장이 갑자기 부른다.

내코드로 인해서 댓글이 달리지 않는다고 한다.

???????????????????

억울하다.

난 댓글과 관련된 코드인줄 몰랐다.

사이드이펙트

위와 같은 문제를 사이드 이펙트라고 불른다.

미안하지만, 저건 절대 억울한 이야기가 아니다.

라이브 개발이라는 특성을 고려하지 않은 개발자의 전적인 잘못이다.

(아주 초보적이고 아마추어적인 잘못이다. 혼나야 한다. 이런 프로세스도 없는 팀장도 혼나자.)

그럼 어떻게?

  1. 일단 어깨에 힘빼라. 일하는 동안에는 멋있는 개발자는 잠시 내려놓고, 일단 동료와 회사에게 도움되는 팀원이 되어야 한다.
  2. 문제가 무었인지 확인한다.
  3. 해결할 코드를 정리한다. (수정범위 파악 )
  4. 그 코드를 참고하고 있는 모든 연결점을 찾는다. ( 종속성 찾기 )
  5. 주변에 해당 코드를 수정하려 하는데, 어디서 어떻게 사용중인지 알려달라고 요청한다. (테스트 케이스 정리 )
  6. 코드 작업을 한다.
  7. 수정한 기능 테스트와 5번에서 정리한 케이스를 (테스트 )한다.
  8. (배포)한다.
  9. (모니터링)한다.
  10. 안심하고 오버워치 하러 간다.
라이브 개발 프로세스
문제정의 -> 수정범위 파악 -> 종속성 찾기 -> 테스트 케이스 작성 -> 
코드 작업 -> 테스트 -> 배포 -> 모니터링

라이브개발의 핵심

실질적으로 위 과정에서 코드작업은 매우 간단할것이다. 
그에 반해 각종 조사, 정리, 커뮤니케이션하는데 시간을 많이 쏟게된다.

이과정에서 프로그래머로서 자괴감에 빠질수도 있다. 
왜냐면 안멋있기 때문이다.

이 과정을 인정안하고 있는 회사에 다니기 때문일수도 있고..
(그럼 이직 고고!)

코드작성하는것만이 개발이 아니다.

결과물을 문제없게 만드는 모든 노력과 과정이 개발이다.

위 과정이 길어진다고 삽질로 치부하지 말자.

추가 기능및 개선을 사이드이펙트 없이 완수하고 있다면, 
당신은 A급 개발자 인거다.

모든 라이브 개발자 화이팅!

흠… 라이브 개발을 안하는 개발자가 과연 있긴 한건가? 흠.. 입개발자???..선생님???…

(다음은 라이브개발자가 더 빨리 개발하고 편하게 집을 가는 방법을 소개합니다.)

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.