세번의 심호흡

꽉 막힌 도로에서
화가 치밀어 오른 적이 누구나 있을 것이다.
이럴 때 ‘세 번의 심호흡’을 통해 도움을 받을 수 있다.
화가 치밀고 당황하는 바로 그 순간에도
첫 번째 호흡은 우리의 몸과 마음을 차분하게 진정시킨다.
두 번째 호흡은 자신감을 심어주고 마음의 평안을 되찾아준다.
세 번째 호흡은 삶에 감사하는 마음을 갖게 하고
우리 자신과 영혼을 결합시켜 준다.

“세번의 심호흡
중심 잡기 호흡(Centering Breath)
지금 이 순간을 마음껏 호흡하라.
균형을 잡고 역동적으로.

가능성의 호흡(Possibility Breath)
‘내가 원하는 나’를 들이마시라.
힘과 목적을 가지고.

발견의 호흡(Discovery Breath)
삶의 신비를 들이마시라.
판단하려는 마음은 놓아둔 채.”

선물 – 스펜서 존슨

책장을 보다가 “선물”이란 책을 집어들고 다시 읽어보았다. 스펜서 존슨의 책은 읽다보면 그래 뭐 맞는 얘기이지 하고 수긍을 하게 되지만 막상 머리속으로만 이해를 하게 되고 실천에 옮기지는 못하는 것 같다. 오늘 따라 “선물” 에 나오는 여러 글귀가 가슴에 와 닿았다. 요즘 내 얘기를 하는 것 같은 느낌도 들고 해서 다시 한번 정리 겸 옮겨 본다.

세상에서 가장 소중한 선물
귀중한 시간을 사용하는 세가지 방법

현재 속에 살기
행복과 성공을 원한다면
바로 지금 일어나는 것에 집중하라
소명을 갖고 살면서
바로 지금 중요한 것에 관심을 쏟아라.

과거에서 배우기
과거보다 더 나은 현재를 원한다면
과거에 일어났던 일을 돌아보라.
그것에서 소중한 교훈을 배워라.
지금부터는 다르게 행동하라.

미래를 계획하기
현재보다 더 나은 미래를 원한다면
멋진 미래의 모습을 마음속으로 그려라.
그것이 실현되도록 계획을 세워라.
지금 계획을 행동으로 옮겨라.

더 나은 프로그래밍을 위한 제언

요즘 “대한민국 개발자 희망보고서”를 읽고 있다. 현장의 얘기가 체계적으로 정리된 느낌과 함께  평소에 알고 있으면서도 실천하지 못하는 부분에 대해 내 자신을 다시 한번 일깨워 주고 있다. 그 중 코딩에 관한 가장 기본적인 얘기가 있어서 인용한다.


더 나은 프로그래밍을 위한 제언


제발 줄 좀 맞추자
프로그래밍을 잘 하는 사람과 그렇지 못한 사람의 차이는 바로 줄 간격을 맞춰서 프로그램을 짜느냐에 달려 있다고 나는 과감히 주장한다. 왜냐하면 그 동안 수많은 개발자를 보아왔지만 줄을 제대로 맞추지 않고 프로그램을 제대로 짜는 사람은 본 적이 없기 때문이다. 보기 좋은 코드가 디버깅하기 좋다. 제발 기본에 먼저 충실하자. 알고리즘과 자료구조에 대한 이해는 기본이다. 그런 다음에 기교를 발휘해도 늦지 않는다.

백문이 불여일타
“프로그래머가 되는 가장 좋은 방법은 프로그램을 작성해보고, 다른 사람이 작성한 훌륭한 프로그램을 공부하는 것이다.”
훌륭한 작가 중에서 책을 많이 읽지 않은 사람을 보았는가? 마찬가지로 좋은 프로그램을 만들기 위해서는 좋은 프로그램을 많이 보아야 한다. 무에서 만들어지는 것은 아무것도 없다. 책에 있는 소스나 공개 소스를 스스로 분석해보자. 그러나 이보다 더 좋은 방법은 직접 짜보는 것이다. 직접 짜보는 것만큼 훌륭하게 배우는 방법은 없다.

선설계 후코딩
항상 프로그래밍을 하기 전에 선설계 후코딩하는 습관을 들여야 한다. 생각하고 계획하는 프로그래밍을 하라는 말이다. 프로그래밍을 하다가 막히는 부분에 가서야 생각하는 것은 좋지 않은 습관이다. 프로그래밍 시간이 배로들뿐더러 수정에 의해 또 다른 문제가 야기될 개연성이 크다. 계획을 하되 머리속으로만 하지 말고 문서로 작성하여 기억이 유실되지 않도록 해야 한다.

친절한 주석씨
주석은 습관이다. 주석은 타인에 대한 배려다. 친절한 프로그래머가 되는 지름길은 주석을 잘 다는 것이다. 시간이 날 때 주석을 다는 것이 아니다. 주석은 프로그래밍의 일부분이라는 인식을 갖고 실천해야 한다. 주석을 달지 않으면 본인도 시간이 지나면 잘 기억이 나지 않는다.

3종 언어 세트
나의 경험으로 볼 때 프로그래밍 언어는 최소한 3가지는 익혀야 한다. 가급적이면 소프트웨어 프레임워크에 맞는 언어를 각각 익히는 것이 좋다. Client/Server, .NET, J2EE 프레임워크에 맞는 Powerbuilder, Java, C#을 예로 들 수 있다. 그렇지만 이 세가지 중에서 반드시 자신의 전공부야는 있어야 한다. 하나의 언어를 배우더라도 다른 언어에서 금세 응용할 수 있도록 충분히 이해해야 한다.

나만의 테크노트
자신만의 노하우를 반드시 정리하라. 가장 큰 재산이 된다. 일전에 프로젝트를 하면서 나만의 테크노트를 한 권씩 만들어 정리한 적이 있었는데 매우 유용했다. 그렇게 습득한 지식은 책에도 잘 나와 있지 않는다. 기록을 하지 않고 다시 복기하려면 엄청한 시간과 노력이 또 다시 요구된다. 테크 노트를 정리하는 일은 시행착오를 줄일 수 있도록 해 줄 뿐만 아니라 전문가로 가는 노하우를 하나씩 쌓아가는 기쁨도 느끼게 된다. Taeyo ASP & .NET 웹사이트가 성장한 배경을 살펴보라. 내일 당장 그대만의  테크노트를 한 권 장만하라.

코딩이 뭐길래
프로그래머는 절대 코딩만 하는 사람이 아니라고 누차 강조했다. 코딩 지상주의를 절대 경계하라. 어느 정도 코딩 실력이 올라가면 데이터베이스, 아키텍쳐 등의 유사분야의 영역에 대한 지식을 넓혀라. 때론 일반적인 지식도 필요하다. 큰 그림을 그릴 수 있어야 한다. 설상 프로그래머로 자신의 경력개발경로를 설계한다 하더라도 다른 분야에 대한 학습은 꼭 필요하다.