2009년 1월 31일 토요일

최고가 되지 마라

소프트웨어를 개발하는 개발자입니까?
주변을 한번 둘러보세요.
개발자 중에서 자신이 최고로 뛰어난 실력을 가지고 있습니까?
그렇다면 심각한 상황입니다
 이상 배울게 없다면 도태될 것입니다. 시행착오를 통해서 배우게 될 가능성이 더 높아졌습니다.
뭔가  배울  있는 사람들이 있는 곳으로 옮기거나 주위에 자신보다 더 뛰어난 사람을 두십시오.
모든 분야가 아니더라도 특정 부분이 배울 수 있는 사람이 있어도 좋겠죠. 

주변에 항상 자신보다 뛰어난 사람들을 둬야 합니다.
뛰어난 사람의 행동 양식 익히게 됩니다.

자신이 최고인 줄 알면서 살아온 10년보다 자신이 뭐가 부족한지 알고 뛰어난 사람에게서 배운 1년이 더 배울 것이 많다는 것을 알게 될 것입니다.

어차피 우리가 지금 배우고 있는 대부분도 뛰어났던 앞서간 사람들에게서 배우는 것이나까요. 

그리고 "자신이 최고인줄 착각하지 말자"라고 말하고 싶습니다. 설령 자신의 실력이 대단히 뛰어나다고 하더라도 배울 수 있는 대상을 찾을 수 있는 자세가 부족하다면 성장에 저해 요소가 되겠죠.

소프트웨어를 개발하는 끝내주게 좋은 방법

블로깅을 시작한지는 그리 오래 되지 않았지만 블로그 운영을 시작하면서 자연스럽게 인터넷에서 소프트웨어를개발에 대한 다양한 글들을 보게 되었습니다

대부분의 글들은 자신의 ,간접적인 경험에 의해서 작성되지만 모든 글들을 쓰면  백그라운드에 대해서는자세히 설명할 수가 없으므로글을 읽는 독자들은 오해를 하는 일들이 잦을 것으로 생각합니다  경험들과 지식들이 나에게 똑같이 적용이 되거나 도움이  것이라고 단순히 생각하는 오류가 벌어질 수도 있을  같습니다

그래서 제가 쓰는 글들은 자연스럽게 소프트웨어를 개발하는 기본 원리나 원칙에 포커스를 하고 있습니다수많은 소프트웨어 개발사와 개발자들을 만나면서 단순한 기법이나 툴의 사용보다 기본 원리를 익히는 것이 중요하다는 것을 알게  것도  이유입니다. 그리고 그런 글들을 계속 읽다보면 자연스럽게 친숙해지면서 몸에 익는다면 소프트웨어를 개발하는데 도움이 좀 되지 않을까 생각합니다.

결국 끝내주게 좋은 방법은 없고 원리를 알고 나서 응용을 하는 것이 제대로 소프트웨어를 개발하는 방법이라고 생각합니다.

소프트웨어를 개발하는 기본 원리는 소프트웨어의 종류나 규모에 따라서 다르지 않습니다다르다면 원리라고  없겠죠팩키지 소프트웨어나 펌웨어나 SI 게임이나 기본 원칙은 다르지 않습니다단지현실에 응용이  때는 각각의 특성에 따라서 다양한 방법의 변화가 있을  있죠.

최대 30MM이나 50MM짜리 프로젝트만을 수행해  개발자는  테두리에서의 경험에 대해서만 얘기를  있는데 방법이 수백MM 규모의 프로젝트와는 맞지 않을  있을 것입니다. 수백MM짜리 규모의 프로젝트는 차원이 다르죠. 어설픈 방법으로도 소규모 프로젝트는 그럭저럭 수행이 될 수 있어도 규모가 그정도 커지만 요행을 바라기는 어렵습니다.



또, 주로 SI프로젝트나 외주 용역 프로젝트만 수행을   경험이라면 소프트웨어를 개발하는 기본 원리보다는 예를 들어 고객을 다루는 계속 변하는 요구사항에 대응하는 적당한 품질로 타협하는  등에 대해서 많이 고민해 봤을 수도 있습니다.

 또한 SI 경험보다는 팩키지라던가 대규모 프로젝트의 경험이  많기 때문에 모든 분야를  경험해보고하는 얘기는 아닌 것이죠

결국 글을 일고 판단하는 것은 읽는 사람의 몫일 수도 있는데저의 괜한 기우일 수도 있겠네요.

판단은 스스로하고 너무 끝내주게 좋은 것을 찾으려고 하지는 맙시다