Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

3년차 개발자로써 신입 개발자들에게 권하고 싶은 것들

아무리 해도 모르는 것 투성이고 신입같은 기분인데 어느새 개발자라는 직업을 가진지 3년이라는 세월이 지났습니다. 취업전에 회사에서 시켜준 교육을 4개월 받고 시작했으니 개발이란것을 본격적으로 한 것은 3년 4개월 정도가 된 것 같습니다. 거의 비슷한 시기에 이 블로그를 시작했으니 블로그를 시작한지도 어느덧 비슷한 시간이 흘렀습니다. 그냥 그동안 제가 했던 일들중에 하길 잘했다고 생각되는 일들을 공유하려고 합니다. 대단한 내용은 아니지만 개발을 시작하시는 분들에게 조금이나마 도움이 되었으면 하는 마음에 적습니다.




블로그를 시작하세요.
제가 이 블로그를 시작 한 것은 삽질의 DRY(Don't Repeat Yourself)를 줄이기 위해서입니다. 코딩이란 것은 항상 삽질의 연속인데다가 정말 무한한 관련 지식을 요구한다고 생각합니다. 아주 똑똑하신 분이라면 모르겠지만 어떤 것을 배우거나 익히더라도 그 당시에는 이해가 될지라도 안쓰기 시작하면 곧 잊어버리고 후에 다시하게 될때는 다시 찾아보아야 하게 될 것입니다. 블로그는 그런 문제를 줄이기 위해서 시작했습니다. 새로 깨닫거나 배운 것들, 엄청난 삽질을 통해서 해결한 것들.... 그런 것들을 기록하기 시작했습니다.

도큐멘테이션을 할 수 있을 도구들은 상당히 많이 있습니다. 각종의 온라인 노트들, 위키, 블로그, 홈페이지, 게시판 등 취향대로 원하는 도구를 사용할 수 있습니다. 그럼에도 그중에서 제가 블로그라는 툴을 권하는 이유는 블로그는 다른 도구들과는 다르게 퍼블리싱에 상당히 초첨이 맞춰져 있는 도구 이기 때문입니다. 개인의 공간이고 자신을 위해서 기록하는 개인공간이지만 그 목적의 퍼블리싱이라는 작업에 초점이 맞춰어져 개발된 도구라는 것입니다. 이걸 왜 강조하냐 하면 남에게 보여주기 위한 것은 많은 다른 효과를 주기 때문입니다.

저도 초반에는 스프링 노트에 기록을 하였었습니다. 스프링 노트를 쓸때도 당연히 공개모드로 사용하기는 했지만 위키형식의 이런 도구의 특성상 커뮤니케이션 방법도 그리 효율적이지 않고 누가 그 페이지를 보는지 별로 신경을 쓰지 않고 혼자 볼 용도로 작성을 하게 됩니다. 문제는 이렇게 혼자 보게될 문서이다 보니 문제는 나혼자 보기 편하게만 적으면 된다는 것입니다.

개발할때도 그렇지만 도큐멘테이션은 굉장히 시간이 많이 들고 귀찮은 작업입니다. 그러면 당연히 혼자 볼 문서에 많은 시간을 투자할 이유는 별로 없게 됩니다. 그렇게 혼자만 알아볼 수 있게 적게 되면 적을때는 알지만 나중에 보면 생략한 내용이 많아서 스스로도 모르는 경우도 많고(저만 그런가요?) 웹서핑을 하다가 좋은 강좌를 찾거나 하면 그대로 복사해다가 붙혀놓는 것입니다. 나중에 참고한다는 이유로요. 저도 처음엔 이런식으로 했지만 시간이 지나서 보면 기억에 잘 남지도 않는데다가 적는 과정이 쉬워지기 때문에 양이 너무 많아져서 다시 찾아서 보기위한다는 목적에 맞아떨어지지 않게 되는것 같습니다. 이렇게 복사해서 붙힐 내용은 DeliciousDiigo같은 소셜 북마킹 서비스를 쓰는 것이 더 나은 것 같습니다.




얻은 정보를 공유하세요.
그렇게 저는 개인적으로 잊지 말아야 할 것을 기록하기 위해서 블로그를 시작했습니다.(처음부터 퍼블리싱이란 부분을 고려한 것은 아니었습니다.)  어떤 정보를 정리하지만 자기 혼자만 보는 것이 아니라 남들도 본다는 생각에 좀 더 시간을 들여서 자세히 적게 되고 저는 보통 포스팅 하나 하는데 2시간 정도 걸리는것 같습니다만(예제 코드많이 들어간 포스팅은 훨씬 많이 들어가죠.) 자신이 아는 것과 설명하는 것은 전혀 다른 얘기입니다. 정말 제대로 이해했다면 설명을 할 수 있어야 하고 설명을 하려다 보면 제대로 이해하고 있지 못한 부분을 발견하게 됩니다. 이렇게 적은 글은 잘 잊혀지지도 않기 때문에 나중에 찾아볼때도 어떤 글들이 있는지 쉽게 기억해서 찾아볼 수 있는데다가 이렇게 설명하기 위한 준비를 하다보면 결국 제가 얻는 것이 더 많았던 것 같습니다.

사실 저희는 개발하면서 다른 사람이 공유해 준 정보를 많이 이용하고 있습니다. 사람마다 다르겠지만 개발을 하면서 인터넷 검색없이 개발한다는 것은 상상도 할 수 없습니다. API나 각종 강좌뿐만 아니라 각종 오류메시지에 대한 해결법 등 다른 사람들이 먼저 경험하고 공유해준 정보 덕분에 우리는 많은 시간을 절약하고 공짜로 혜택을 입고 있습니다. 그러면 공짜로 얻은 만큼 좀 베풀기도 해야죠. 많이들 좋아하시는 TED에 가면 로고 옆에 "Ideas worth spreading"라는 문구가 있습니다. 공유라는 것은 마치 남을 위해서 하는 것 같지만 사실은 자신이 얻는 것이 더 많은 행위입니다.




자기계발에 투자하세요.
비록 현실은 아름답지 못하다고 할지라도 개발자는 전문기술을 다루는 직업이고 이 프로그래밍이라는 것은 정말이지 심오합니다. 다른 분야와 다르게 IT는 빠르게 발전하고 새로운 개념과 기술들이 쏟아지고 있습니다. 그렇기 때문에 스스로 계속 자기계발에 투자를 해야 더 나은 개발자가 될 수 있습니다. 여기서 투자는 시간과 노력과 돈 모두입니다.

이렇게 말하니 개발자들은 모두 엄청 노력할 듯하지만 실제로는 1년에 기술서적 한권도 안보고 회사에서 지원안해주면 세미나나 교육한번 듣지 않는 개발자들도 많이 보게 됩니다.(물론 이왕하는거 회사의 지원시스템을 이용하는 것은 좋은 방법입니다.) 그렇게 투자한 노력은 모두 자신의 캐리어가 되고 실력이 됩니다. 지원받을 수 있다면 받는 것이 좋지만 상황이 안되면 자신의 돈이나 시간도 투자할 수 있어야 된다고 생각합니다.(개인적으로 여기에 아끼는 사람들 보면 너무 답답합니다.) 무료세미나라고 일단 신청해놓고 그날 상황봐서 피곤하면 안가고 하는 무책임한 행동은 장기적으로 이런 무료의 좋은 기회들이 줄어들게 만들 것이고 세미나에서 얻을 정보를 생각하면 1,2만원은 아까운 돈이 아니라고 생각합니다.(물론 막상 갔더니 가격만큼의 퀄리티가 안된다면 이런건 비판해야죠.)




트랜드를 파악하세요.
저는 성향상 기술스펙트럼을 상당히 넓게 가지고 있는 편이긴 하지만 그게 꼭 좋은 것은 아니고 사람마다 자신의 스타일에 맞게 원하는 혹은 필요한 기술을 익히면 된다고 생각합니다. 하지만 개발자라고 해서 항상 코드만 보고 있어서는 안되고 트랜드를 파악하여야 한다고 생각합니다. 기술에는 흐름이 있습니다. 어떤 기술이 유행하다가 새로운 기술에 밀리고 또 다른 기술이 나오고 하는데에는 어떤 식으로든 이유가 있고 흐름이 있습니다. 이 흐름을 파악하고 있으면 기술을 이해하고 익히는데 많은 도움이 된다고 생각합니다.

이런 부분은 단기간에 파악할 수 있는 부분은 아니라고 생각합니다.(물론 개발도 마찬가지지요.) 인터넷이 발달한 요즘은 이러한 기술 흐름을 파악할 수 있는 많은 서비스들이 있습니다. RSS리더를 통해서 많은 블로그나 웹사이트의 좋은 글들을 지속적으로 읽고 Twitter를 통해서 빠르게 많은 정보들을 얻을 수 있습니다. 여유시간이 있을때마다 틈틈이 이런 서비스등을 통해서 IT의 흐름들을 보고 있으면 시간이 지나면서 트랜드를 파악할 수 있게 될 것입니다.

이젠 개발자가 기술만 알아서는 안되는 시대가 되었습니다. 서비스도 이해를 해야하고 사용자의 사용패턴등도 파악하고 소위 전문가로써 이런 부분에 대해서 의견을 제시할 수 있어야 되는 시대가 되었다고 생각합니다.
2010/08/03 02:47 2010/08/03 02:47