인간은 습관의 동물이다.

처음 프로그래밍을 배우면 다들 별찍기, 골뱅이, 구구단, 그러다 자신감이 붙으면 테트리스, 빙고 게임같은걸 만드는데 이 단계까지 못오는 애들은 1차로 필터링된다.

과를 옮기거나 학점 사냥해서 스펙 쌓는 방향으로 간다.

이 단계를 통과한 애들은 대부분 for while if else ... 로 떡칠이 된 코드를 짠다.

100명중 99명이 다 이렇다.

여기서 두번째 고비가 닥친다.

이건 좀 아닌것 같다는 문제의식을 갖는 쪽과 더 밀어붙이자는 쪽...

전자는 대안을 찾으려고 책도 보고 다른 사람들은 이 문제를 어떻게 해결했을까 궁금해한다. 후자는 for if else를 더욱 정교하고 현란하게 쓰는 방향으로 능력을 갈고 닦는다. 다양한 flag 를 동원하고 아무리 복잡한 반복문도 짜내는 방향으로 실력을 기른다.

어느쪽이 더 생산성이 좋을까?

당연히 후자쪽, 반복문과 조건문으로 로직을 발라대는 쪽이 더 짧은 시간에 많은 일을 한다.

그리고 여기서 세번째 고비가 닥친다.

코드를 발라대는 능력을 높이 사는 회사에 들어가서, 배운게 도둑질이라고 또 그런식으로 문제를 해결한다. 회사에서도 좋아한다. 결과가 빨리 나오니까.... 그리고 나중에 새로운 기능이 들어가거나 버그를 수정하거나 성능 문제를 해결하느라 코드를 뜯어고치고나면 코드는 아무도 손대고싶어하지 않는 모습으로 변해있다.

그러면 코드를 발라대서 누더기로 만들어놓은 범죄자들은 어떻게 이 문제를 해결할까?

이직을 한다.

개같은 코드를 발라놓고 지도 감당이 안되니까 다른 회사로 튀는 것이다.

물론 떠날때는 그럴듯한 이유를 대지만 옆에서 보아온 사람들은 다들 눈치를 깐다. 그사람 입장에서도 처자식 먹여살려야 하니 자신의 무능을 드러낼 수 없다. 그래서 다른데로 떠난다.

회사는 유능한 인재가 떠난다며 아쉬워하고, 남은 사람들은 그 똥을 치우느라 야근을 하지만 위에서는 일을 못한다고 평가절하한다. 말 그대로 똥을 뒤집어 쓰는 것이지...

이런 범죄를 저지르는 애들이 어디에서 흘러왔는지 보면 대개가 전자, 기계, 또는 수학과 물리학과 (2000년도 초반에는 철학과 국문과까지) 전공하다가 먹고살 방편으로, 또는 과에 적응을 못해서 온 애들이 많다.

그래도 공대중에는 난이도가 낮다는 생각으로 와서 운좋게 대가리도 멍청하지 않은 덕에 그럭저럭 학점 이수하고 졸작 내고 어디 회사 들어가서 코드를 엉망으로 짜놓고 컴공 별거 아니네! 이떤 소리나 늘어놓으면서 업계 전체를 개판으로 만들어 온 것...

그래서 나는 이런 애들을 사파라고 부른다. 정파가 아닌 사파.

어떤 코드를 짜더라도 항상 if else로 벌리고 들어가는 애들... 새로운 케이스가 등장하면 플래그 새로 만들고 ㄸ드 if elae 로 벌리는 애들...

잘 돌아가는지 확인을 하려면 항상 break point 찍고 지루하게 스텝을 밟아가는 애들...

그리고 그런 상황에 아무런 문제 의식이 없는 애들...

나중을 생각하지 않는 애들...

그 결과 맨날 야근을 하고 남도 야근하게 만드는 애들...

위에서 말했듯이 인간은 습관의 동물이다.

처음 프로그래밍을 배울때 어떤 계기로 조건문 반복문에 익숙해지면 평생을 그렇게 코딩을 한다. 그거밖에는 모르니까... 그러다 40정도 되면 이바닥 드럽네 어쩌네 하며 닭튀기러 가는 거고..