본문 바로가기

실무 경험담

[경험담] 프로그래머(개발자)가 하루 1시간 이상 산책을 해야하는 이유

신입때는 단순히 개발(코딩)이 좋았습니다. 뭔가 만들게 있으면 바로 코딩하고 싶어졌죠. 코딩하면서 화면으로 보면서 수정하면 된다고 생각했으니까요.

그래서 머리속에 그려지는 화면을 구현하기 위해 뭔가에 홀린 듯 정신없이 코딩을 했었죠. 점심 먹는 시간 제외하고 거의 10시간 넘게 앉아있는 경우도 있었습니다. 

그런데 다음 날 다시 기능을 구현하기 위해 코딩을 하는데 어제 작성한 코딩의 30% 정도를 다시 수정했습니다. 기능은 돌아가는데 뭔가 마음에 들지 않는 겁니다. 변수명이 이상하거나, 메서드 역할이 분리가 잘 안되어 있거나, 중복되는 로직이 있거나...화면 구조가 맘에 안드는 경우도 있었습니다. 

 

이런 식으로 개발 로직을 계속 변경하다 보니 개발 시간이 계속 길어지더군요. 뭔가 아니다 싶었습니다. 

그 다음부터는 개발을 하기 전에 머리 속으로 상상코딩을 합니다. 세부적인 코딩을 한다기 보다는 어떤식으로 개발을 할지 설계를 하는거죠. 머리속에서 필요한 메소드들이 어느정도 정리가 되지 않으면 코딩을 하지 않았습니다. 

 

컴퓨터 앞에 앉아 화면정의서를 보면서 머리속으로 상상코딩을 하거나 산책을 하면서 상상코딩을 하는거죠. 가끔 컴퓨터 앞에 팔짱을 끼고 모니터를 주시하고 있으면 사람들이 뭐하냐고 물어보기도 합니다. ㅎㅎ

 

제목에 산책이라고 했지만 꼭 산책이 아니어도 좋습니다. 

말하고자 하는 의도는 1시간 이상 컴퓨터에서 멀리 떨어져 있는게 좋다는 거니까요. 

좀 더 정확히는 '키보드 타이핑을 잠깐 멈추자', '코딩을 하지 말자' 입니다. 

아무튼 전 산책이 좋습니다. 눈 피로를 해소하는데도 좋고, 걷기 운동도 되고요.

 

우리가 무슨 일을 할 때 계획 이라는 걸 먼저 세우고 실제 일처리를 하듯이 개발도 계획(설계) 이라는 절차를 거치는게 좋습니다. 코딩을 하다가 막히는 경우에도 산책을 하면서 개발 로직을 다시 생각해보면 좋은 묘수가 떠오를 수 있습니다. 

 

예전에 대금(Money) 처리하는 프로젝트를 할 때 ERD를 검증(데이터 흐름에 막힘이 없는지, 필요한 속성은 잘 도출이 되었는지 등)을 해야하는데 컴퓨터에 앉아서 하려고 하니 잘 안되더군요. 그래서 ERD를 출력해서 커피숍에 가서 8시간 정도(4시간씩 두번 감) 검증하고 온 적이 있습니다. 데이터 시작부터 끝까지의 흐름을 계속 반복하면서 문제는 없는지, 요구사항이 빠진건 없는지 등을 최종 검증한거죠. 

회사를 다니면서 커피숍에 가서 일을 한건 처음이었는데 좋은 경험이었습니다. 답답한 사무실에서 벗어나니 머리가 팍팍 돌더군요. ㅎㅎ

 

여러분도 아래 항목들에 대해 자문자답 해보세요. 

뭔가 아니다 싶으면 일어나서 산책을 다녀오세요. 한발짝 물러나면 안보이던게 보일 수 있습니다.

 

  • 얼마나 컴퓨터 앞에 앉아있었지? 
  • 개발 할 때 백스페이스(지우기)는 얼마나 했더라? 
  • 이미 개발했던 로직을 얼마나 변경했더라? 

 

프로젝트를 하다보면 의외로 산책을 하지 않는 개발자가 많습니다.

산책도 개발 공수에 들어간다 생각하시고 지금 당장 신발 신고 밖으로 나가세요 ㅎㅎ