일과 삶


연휴를 맞아 휴가로 후쿠오카를 다녀왔다. 여행을 다녀오면서 많은 생각을 하게 되었는데, 그 이야기를 해보려고 한다.

일을 잘하는 것과 일상생활을 잘 하는 것은 같은 이치다.

일과 삶


대부분 일이 적을 땐 모르지만 일이 많아지면 일이 잘못되고 있다는 걸 깨닫는다. 사실 그마저도 깨닫지 못하는 경우가 많다. 일이 잘못되고 있다는 걸 깨닫는 것만으로도 이미 큰 성과다. 세상의 수많은 문제중에 해결되지 않은 문제는 어떤게 문제인지 잘 모르는 경우가 상당수일 것이다.

문제가 무엇인지를 알게 된 후에는 문제를 해결하여야 한다. 일을 해결하는 데는 사실 논리만한게 없다. 많은 사람들이 일을 로지컬하게 해결하는게 머리에 떠오르는대로 하는 것보다, 신경쓸게 많다고 생각하지만 많은 경우 다르다.

이 쯤에서 설계에 대해 이야기를 할 수 있을것 같다.

설계


개발의 경우를 예를 들어보자.

잘 설계된 로직이 있고, 적절한 디자인패턴으로 뼈대가 구성되어 있다고 했을 때. 개발자의 작업은 이제 단순작업에 불과하다.

회원가입(){
    유효성검사();
    DB추가();
    로그인();
}

유효성검사(){
    ...
}

DB추가(){
    ...
}

로그인(){
    ...
}

필요한 곳에 필요한 로직만 짜면 되게 된다.

설계 없이 작업할 경우 바로 코딩에 들어가 더 빨라보이겠지만, 조금만 복잡한 문제를 해결하려하면 많은 경우 설계가 우선되는 게 낫다. 물론 베테랑이어서 머릿속에 로직과 패턴이 툭하고 튀어나온다면 뭐 크게 다르지 않을 수 있겠다.

하지만 그 경우에도 설계가 우선시된다면 작업이 단순작업이 된다는건 큰 메리트가 있다. 사실 코드로 구현하는 것만으로도 머리는 풀가동될텐데, 로직과 설계마저 같이 한다면 아마 많이 힘들 거라는건 당연스레 보여진다.

그 완성도가 높지 않을 거라는 것도.

일상 생활도 비슷하다. 설거지를 하는데에도 사실 로지컬한 방법이 있다. 설거지거리들을 물에 불리고 큰 것부터 세제를 묻히고, 작은것부터 물로 헹구는 일련의 과정이 있을 수 있다. 여행을 가는 데 짐을 싸고, 여행루트를 짜는 것도 사실 마찬가지다. 설계가 되어있지 않았다면 여행은 아주 복잡해 질 것이다. 원하는바를 이루지 못할 가능성이 높다.

문제


근데 여기서 아주 중요한 문제가 하나있다. 바로 문제가 뭔지 모르다는 것이 문제다. 내가 바쁜게 왜 바쁜지, 왜 해결을 못하는지에 대한 문제는 분명 존재한다.

그걸 몰라서 발전하기 어려운 상황에 직면하게 되는 것이다. 아는 게 능력이다. 모르는 게 약이라는 건 자기위로에나 쓰인다. 고민할 줄 알아야 한다. 문제가 생겼으면 분명 원인이 있다.

그 원인을 파고, 해결해 내야 한다.

‘나는 다른이들보다 똑똑한게 아니다. 나는 문제에 대해 고민하는데 그들보다 더 많은 시간을 사용한 것 뿐이다.’ -아인슈타인

아인슈타인의 말을 인용하면 사실 문제를 해결하는데에 필요한 자원은 남들보다 똑똑한 머리가 아닌 고민하는 시간이라는 것이라는 걸 유추할 수 있다.

개발자의 일과 삶


개발자는 그런의미에서 가장 일에서도, 삶에서도 성공할 가능성이 높은 직종이 아닐까.

문제는 버그고 해결은 디버깅이라고 봤을 때, 우리의 주업은 디버깅과도 같으니까.




© 2017. by isme2n

Powered by aiden