본문 바로가기

MY개발생각

[개발생각] 프로와 아마추어의 차이

초등학교 2학년 겨울방학, 옆짝꿍이 얇은 문제집을 쉬는시간에 풀고있는데, 영어가 쏼라쏼라 있어서 호기심에 들여다 봤다.

뭔지 도통 몰라서 짝꿍한테 물어보니,

컴퓨터 프로그래밍 gw-basic이라는거란다.

코드를 작성하면, 별표(*)가 사각형으로 출력하고, 삼각형으로 출력되고, 별모양도 출력된단다. 

그 모양을 출력하려면 코드를 작성해야하는데 그게 프로그래밍이라는거란다..

 

충격이였다.....

 

이상한 알수없는 문자를 입력하면, 저렇게 출력이 가능하다니, 멋있어보였다.

(초등학교때 A,B,C,D 알파벳 처음봄...ㅋㅋㅋ)

뭔가 존재하지 않는 존재를 창조하는 신이 된것같은, 창조자처럼 그당시에는 느껴졌다.

 

"엄청 멋있다.."

 

그날 바로 엄마에게, 컴퓨터학원에 보내달라고, 내 생애 처음이자 마지막으로 이야기를 했다.

(컴퓨터학원빼고는 학원이라고는 한군데도 가본적이 없는 1인이다 ㅋ)

 

다행히 허락을 해줬고, (그 당시 허락해준게 정말 다행이다 ㅋㅋ)

그날부터 컴퓨터학원을 다녔고, 

 

그렇게 내 꿈은 '컴퓨터 프로그래머'로.. 지금으로 보면 다소 이른시기인 초등학교 2학년때, 정해지게 되었다.

'컴퓨터 프로그래머'로 꿈이 정해진이후, 한번도 꿈이 바뀐적이 없다.

 

그래서인가?

 

내 직업 '프로그래머'에 대해서는 자부심이 좀 강하다. (솔직히 타인이 보면, 소름끼치는 말이겠지..ㅋㅋ 자부심이니 뭐니 말하는게...)

개발에 있어서는, 타협을 하지 않으려하고, 협의된 일정은 꼭 지키도록 노력한다.

이것이 개발자로써 자부심으로 생각한다.

그리고 내가 개발한 부분은 지속적으로 확인하고 개선하여 죽은 코드가 되지않게 한다.

(수정/리팩토링을 무서워하지않는다. 고칠부분/개선할 부분이 있다면, 그 양이 많던 적던, 지금이 가장 늦지않았다고 생각하고 바꾼다)

 

이런 타협하지 않는 생각이나 행동들이 때로는 동료들에게 불편함을 주는것도 알고있다.

(왜 그렇게 까지 해야해?, 너무 어려운길로 가는거 아니야?등)

(하지만, 이런 기준이 많는 동료와는 정말 폭발적인 시너지를 발휘한다.)

 

정석으로 맞서지않고, 차선택으로 대응하면,

결국은 문제가 발생하고, 그 문제를 해결하는게 더 어려웠던것 경험이 있어서,

되도록이면 정석으로 진행하려고 노력한다.

(물론 최선책이 어려운 환경에서는 최선책을 고집하지않고, 그다음의 차선책을 찾아본다.)

 

이런 내 기준에 있어서, 나를 가장 힘들게 하는 부분/동료는,

바로 일정을 지키지않는 동료/집단/사람들등등이다.

 

정책/기획을 토대로 일정을 협의하는 순간, 그 책임은 온전히 그 개발을 담당하는 개발자에게 있다.

(반대로 이야기하면, 정책/기획을 정해진 일정에 맞추어 개발자에게 건네야하는건 기획자의 책임이다.)

 

그렇기에 일정 협의 회의를 엄청나게 민감하고, 세밀하게 해나가야하는게 선제적이다.

이렇게 디테일하고, 민감하게 조율되어진 일정을 지키는 책임은 담당하는 개발자에게 있다는 말이다.

 

정책/기획이 일정을 산출하기에 역부족이라면, 회의때 이슈를 이야기하는것 또한 개발자의 책임이다.

의견을 내지않고, 후에 불만을 쏟아내는 태도는 없어야하며, 그것이 일정 지연의 변명이 되어서는 안된다.

 

물론 위에는 개발자의 입장에서 이야기한것이지만,

프로젝트에서는 개발자만이 아닌 각각의 파트의 멤버들 (기획/디자인/앱개발/서버개발/사업/QA/마케팅등등)이

프로젝트내에서 위와 같이 행동해야하는것은 동일하고 당연한 것이다.

 

그 일정을 지킴에 있어서, 어떠한 변명이 있어서도 안되고, 해서도 안된다.

그래서, 일정을 산출하는게 치열하고, 민감하고, 세밀해야한다는것이기도 하다.

 

각자의 일정을 지키지 않게되면, 도미노 현상이 발생한다.

프로젝트는 각파트들이 유기적으로 엮여있기에, 한파트에서 일정이 지켜지지않으면, 연쇄적으로 일정이 지연되기 때문이다.

 

이렇게 되면, 

개인적인 이유/사적인 이유로 일정이 지연된 멤버들/ 실력이 부족하여, 개발일정을 맞추지 못한 멤버들등에게는

좋은 변명감을 마련하는 경우가 될수있다.

나의 문제를 다른이의 일정지연을 원인으로 둔갑시켜 커뮤니케이션을 할수있기 때문이다.

 

안타깝다.

일정을 지키지 않는것도 안타깝고,

타인의 일정 지연을 방패삼아 나의 실력을 감추는것도 안타깝고,

관리/리더로써, 이 상황에서, 일정산출이 정확해지지않는것을 알지만, 일정을 매번 산출해야하는 상황이 더 안타깝다.

 

회사는 동아리가 아니고, 학교가 아니다.

친분을 중시하고, 동료간의 인기투표에 목메어도 결국은, 실력으로 증명해야하는 곳이다.

아무리 친해도, 매번 일정을 못맞추고, 실력도 낮은 동료와 프로젝트를 할 사람이 있을까?

아마 앞에서는 웃으며, 뒤로는 NO 라고 거절하겠지...

 

일정을 지키지않는 집단이나 멤버는 가혹하리만큼 페널티를 주어야한다.

페널티를 주기위해, 일정이 늦어진 원인을 집요하리만큼, 파악해야한다.

누군가의 말에 의해서나 주장에 의해서, 페널티를 주면 오히려 역효과가 나타나기에,

합리적이고, 합당한 일정지연 원인을 레포팅하여,  그것으로 판단하고, 그것으로 페널티의 기준을 삼아야한다.

(합당한 이유가 있다면, 페널티를 당연히주면 안되지!!)

 

학교와 직장을 꼭 구분하자..

요즘은 특히 구분을 못하는 사람들이 많은것 같다.

직장은 경험하고 배우는곳이 아닌, 내 실력을 증명하는 자리가 되어야한다.

실력이 부족하다면, 자기개발을 통해, 실력을 빠르게 높이도록 내가 온전히 노력해야하고, 고민해야한다.

그 고민을 도와줄 선배/동료를 찾는것은 또 다른 이야기다.

 

증명을 위해 치열해야하고, 자기개발에 철저해야한다.

(물론, 비열하고, 야비한 경쟁을 해서는 안되고, 정당한 경쟁을 해야겠지)

 

정리하면,

프로와 아마추어의 차이를 한마디로 이야기하면,

'협의된 일정을 지키는것'이지 않을까?

 

어떠한 이유에서든, 내 일정을 지키지 못했으면 나는 '아마추어'라는것을 인정해야한다.

그리고 당연히, 아마추어 대접에 불만을 가지면 안되겠지..