본문 바로가기

4. 테크니컬&팁

모두가 원하는 개발자 되기 10단계

원문 링크는 요기


엔드류 올리버라는 외국인이 작성한 글을 변역한것이라 의미전달이 잘 되지 않는것 같아서..

개인적으로 정리해서 기록합니다.


개발자가 개발만 할수 있다고 좋은 개발자는 아니다. 자기자신이 셀프 마케팅을 해야 좋은 개발자로 높은 연봉에 오래살아남을수 있다.


팁1 블로그

블로그 개설후 한달에 한번 이상은 꼭 글을 쓰고, 썼던 글들도 정리하는 습관을 가지라..

이게 사실 쉬운것 같지만 어려운일이다. 특히 한번 썼던 글을 다시 보고 불필요한 부분을 정리해 내는게 보통일은 아니다.

그러나 블로그에 한번 작성한 글은 검색엔진을 통해 다른 사람들이 쉽게 접할수 있고, 많은 사람들에게 자신의 존재를 알릴수 있는 좋은 기회가 된다.

나도 티스토리를 시작하고 현재까지 몇년동안 이런저런 글을 많이도 썼는데,

내글을 보고 회사에 입사하는데 도움이 되었다는 사람도 봤고, 내가쓴글 때문에 윗분에게 불려가서 일부 내용을 수정해 줄것을 요구받은적도 있다.. 그냥 하나의 블로그일지도 모르지만 무수하게 많은 사람들이 보게 되고, 그로인해 영향을 받기도 한다.

개인적으로 개발관련된 내용들도 자주 적고 있는데, 대부분의 글들은 검색을 통해 쉽게 찾지 못한 내용을 쓰거나, 오랫동안 고생했던일들에 대해 정리하고 기록하는데 사용했다.

이게 나에게도 좋은일이 되고(생각의정리, 및 기록) 남들에게도 상당히 도움이 될것이다. 나도 검색을 통해 개발관련 문제들을 해결하듯, 그에 대한 보답으로라도 조금은 기여를 하게 되겠지?


팁2 오픈소스

위의 글을 쓴 사람은 오픈소스를 했던 사람들이 그러지 않은 사람들에 비해 더 일자리를 구하기 쉽다고 이야기 한다.

난 조금 다르게 생각하는데, 오픈소스에 참여할 정도의 사람이라면 그만큼 개발에 대한 열정이 있는 사람이라 생각한다. 돈이 다가 아닌 정말 남을 위해 내가 만든 코드를 공유할수 있다는것은.. 정말 대단한 열정이라 생각한다.

이런 열정을 가진 사람들이야 말로, 돈만 쫒는 사람에 비해 더 높은 대우를 받고, 일자리를 구하기도 쉽다고 생각한다.

돈이 다가 아니기에...


팁3 한 직장에 너무 오래 머물지도 너무 자주 이직하지도 마라.

적절하다. 너무 오래 한 직장에서 하나의 일만 하게 되면, 세상이 어찌 돌아가는지 모르게 될것이고, 쉽게 뒤쳐진다. 쉬운일 하던일만 접하다 보면 어느덧 해당 분야에 인력이 넘치거나 도퇴될지도 모른다..

그렇다고 너무 자주 이직을 한다면 당신은 조직에 적응하지 못하는 사람이란 인식을 줄지도..


팁4 눈으로는 새로운것을 쫓되, 실용적인 것에 손을 놓지 마라.

언어는 그냥 도구일 뿐이라 생각한다. 내가 오랫동안 자바를 했지만, 그렇다고 다른 언어를 못하는것은 아니다. 위의 글을 작성한 사람은 이런것을 이야기 하는게 아닌가 생각된다. 루비가 좋더라도 시장에서 루비개발자가 좋은 대우를 받는것은 아니다. 나도 자바가 현재 주력언어이지만, 언제든 다른 언어를 도입할 기회가 된다면 적당한지 한번 타진하게 된다. 그래서 유닉스 스크립트로도 만들어보고, 펄도 사용해 보고.. 그런거겠지..


팁5 읽는 사람을 배려해 문서를 작성하라.

아주 중요한 부분이라 생각한다. 나도 남들과 대화할때 그 사람의 위치와 지식정도를 어느정도 인지하고 그에 따라 단어를 선택한다. 개발자라면 충분히 알만한 단어들도 초보자들에게는 생소한 단어일수 있고, 기획자에게 상속이든 자카르타 프로젝트라든지 이런거 설명해봐야 시간낭비일것이다. 정말 무엇인지 알고 싶어한다면 알기쉽게 설명해 주는 편이지만, 몰라도 된다면 그냥 흔히들 알고있는 오픈소스(자카르타프로젝트) 뭐.. 이런 단어를 선택하는게 더 상대방을 배려한 단어라 생각한다. 당신이 알고 있는 단어를 다른사람이 알고 있다고 절대로 생각하면 안된다고 생각한다.

개발을 하다보면 문서를 작성할일도 많은데, 해당 문서를 누가 보느냐에 따라 단어를 달리 선택하든 좀더 상세히 기록하든... 


팁6 간결성이 생명이다.

옳은말이다.. 코드도 최대한 간결하게 작성하고, 필요없는 부분은 과감히 삭제하고...

그리고 다른사람에게 설명할때도 간결하게,,, 회의때도 간결하게 요점만 간단히 말하는 습관을 가지는것이 좋다고 생각한다.


팁7 관중을 놀라게 하라.

정말 정말 어려운일중에 하나다.

다른사람을 놀라게 한다는것은 정말 다른사람들과 갭이 커야만 가능한것이 아닌가..

그리고 남들에게 무엇인가 발표해야 하는 상황도 자주 있지도 않고, 어떤 경우에는 거의 없을지도 모른다.

그러나 남들에게 설명할 기회가 있다면 주저하지 말고 경험을 만들고, 발표하고, 그리고 발표할땐 해당 부분에 대해 정말 전문가가 되어야 한다고 생각한다.

근데 정말 이런 기회가 흔하지 않다.


팁8 현실적인 개발자가 되라.

외국과는 좀 다를지 모르겠다. 국내의 이야기를 하자면, 현실적인 개발자라는 것은 분위기 파악을 잘하는 개발자가 아닐까 라는 생각을 해본다. 한가지 기술에 목을 매지도 않고, 주변을 봐가며 야근이든 칼퇴든 해야하고, 상황이 내가 총대 매고 가야하는 상황이면 그렇게 하는것이 옳다고 생각하는데... 이런게 그리 쉽거나 한건 아니라...



팁9 툴을 이용해 어려운 문제를 해결하라.

툴은 도구일 뿐이다. 만약 땅을 파야한다면 크기와 규모에 맞는 도구가 필요하다고 생각한다. 화단을 파야하면 삽으로 충분하고, 건물을 올려야 하는데 땅을 파야 한다면 중장비가 필요하듯.

단순하게 10줄짜리 코드를 작성해야 하는데, 이클립스를 설치할 필요는 없다는 것이고,

파일비교를 하는데, Differ 툴이 필요한 경우도 있지만, 프로그램을 작성해서 해결해야 할 경우도 생긴다.

글쓴이는 메모리릭을 찾기 위해 AspectJ기술을 이용했다고 예를 들지만, 나 같았으면 이클립스에서 Search기술을 이용했을지도 모르고 (흔히 실수하는 부분을 찾는방법), 아니면 정말 간단하게 글쓴이처럼 프로그램을 이용해 처리해야 할수 도 있고, 안된다면, 모니터링툴을 도입해야 할지도..

툴은 도구가 아닌가.. 도구 하나두개 정도는 사용법을 알아야 하고, 얼마나 잘 사용하느냐에 따라 얼마나 일을 빨리 처리하는지가 결정나는것이라 생각된다.



팁10 겸손을 잃지 마라.

내가 최고인줄 알고 지냈던적이 있다, 그러나 난 별거 아니고 세상엔 정말 괘물같은 실력을 가진 개발자가 널리고 널렸다는 생각을 하게 된적이 있다.. 지금 잘 나간다고 그게 계속 잘 나갈 꺼라는 장담은 금물이고, 언제는 내 머리가 20대 같지 않을것이고, 경험에 너무 의존하거나 10년전 코드를 들이대면서 이게 최고라고 우길지도 모른다...

난 그게 두렵고, 내가 최고가 아니란것을 잘 안다. 그래서 자랑을 하지 않고, 우쭐되는것을 즐기지도 않는다.

겸손해라.. 남들이 못하는것을 해냈을때, 별거 아니었다고 말하는 습관을 가지는것도 좋은 방법이다.

앞으로도 쭈욱 겸손하게 지내고 싶다. 그 겸손함이 다른사람들이 보기엔 당신을 당신이 지금 서있는 위치보다 더 높고 위대한 사람으로 평가할것이다.