본문 바로가기

개발자

거만한 속빈 강정 소프트웨어 개발 경험도 개발자가 미국 실리콘밸리의 소프트웨어 회사에 입사해서 5년이면 배울 수 있는 것(소프트웨어를 개발하는 방법)을 우리나라에서는 10년, 20년 아니 30년을 소프트웨어만 개발해도 배우지 못합니다. 오히려 이런 경험 많은 고참 개발자들은 배울 수 있는 기회가 눈앞에 와도 배울 수가 없게 됩니다. 책을 하나 봐도 대부분 아는 내용이라고 저자를 평가 절하하지만 아는 수준이라는 것이 용어 한번 들어보고 샘플 좀 사용해 본 정도인 경우가 대부분입니다. 예를 들어 소스코드관리시스템에 대한 내용을 봐도 내가 대형SI회사에서 10년 넘게 개발을 했는데, 이런 것을 모를까봐?라고 생각하지만 고작 소스코드 백업 받듯이 저장하고 태깅 좀 한 정도 가지고 소스코드 관리를 제대로 하고 있다고 착각합니다. .. 더보기
Peer Review의 방해꾼들 Peer Review가 정말 중요하다고들 다들 생각할 것 같지만, 실상은 그렇지 않습니다. Peer Review의 중요성을 알고 있는 사람은 정말 많은 경험과 깨달음을 얻은 사람이고 대부분은 Peer Review의 중요성을 모르거나 심지어는 노골적으로 또는 은연 중에 방해를 합니다. Peer Review는 (이미 언급했지만), 소프트웨어의 결함을 줄이고 개발 비용과 시간을 절약하며, 개발자들 간의 정보와 지식을 공유하고, 개발자들을 성장시키며, 개발자들의 사기를 높여줍니다. 그런데, 결함을 줄이고, 비용과 시간을 절약하며, 지식을 공유하는 것을 싫어하는 개발자들이 의외로 꽤 많습니다. 공유를 통해서 자신만 알고 있는 지식이 빠져나가면 자신의 가치가 줄어들 것으로 생각하며 심각한 버그를 만들어서 자신만이 .. 더보기
밥그릇을 지키려는 처절한 몸부림(기생충 개발자) 자신이 작성한 소스코드를 숨김으로써 자신의 밥그릇을 지키려고 애쓰는 개발자들이 상당히 많습니다. 이런 개발자들의 특징은 자신이 작성할 소스코드는 정말 어렵고 복잡하다고 광고를 하고, 소스코드관리시스템에 등록하는 것을 거부하거나 코드리뷰를 기피합니다. 그리고 철저히 문서와 주석 없이 코딩을 하며 심지어는 소스코드를 비비 꼬아서 분석하기 어렵게 만들어 놓기도 합니다. 개발자들의 이러한 행동은 단기적으로는 자리보존에 도움이 될지 모르지만, 스스로의 발전을 저해하고 결코 오래가지 못할 것입니다. 또한, 이러한 개발자들이 한두 명만 있어도 회사는 큰 시한폭탄을 안고 있는 것과 마찬가지입니다. 저는 직업상 수많은 개발자들을 만나기 때문에 이런 개발자가 정말로 많고 웬만한 소프트웨어 회사에는 꼭 몇 명씩 있다는 것을.. 더보기
소프트웨어 개발자의 권리 지난번 글에서 소프트웨어 개발자윤리(의무)에 대해서 얘기를 한 적이 있습니다. 그때 많은 분들이 개발자의 권리도 좀 생각해보자고 하였습니다. 이에 개발자의 권리와 개발자에 대한 경영자와 고객의 의무를 정리해 봤습니다. 의견이 있는 분들은 댓글 남겨주세요. 개발자의 권리 ○ 우리도 남들 잘 때 잘 수 있다. ○ 우리도 희망적인 미래를 꿈꿀 수 있다. ○ 우리도 가족과 저녁식사를 할 수 있다. ○ 나이가 먹어도 계속 개발을 할 수 있다. ○ 전문가로 성장할 수 있는 기회를 제공 받아야 한다. ○ 우리에게는 자기계발을 할 수 있는 시간과 기회가 제공되어야 한다. 개발자에 대한 경영자의 의무 ○ 개발자를 부품이 아닌 전문가로 생각해야 한다. ○ 개발자에게 최상의 개발 환경을 제공해야 한다. ○ 개발자에게 적절.. 더보기
자기 중심적인 사고에 갇힌 개발자 개발자들은 모든 생각의 중심을 본인으로 생각하는 경우가 흔합니다. 소프트웨어를 개발하면 모든 판단의 기준을 본인으로 하는 것이지요. 우주가 자신을 중심으로 돌고 있다고 생각하는 개발자들입니다. 적용하는 기술도 본인이 잘 알고 익숙한 것으로, 또 사업적인 관점으로 고려를 하기보다는 본인의 취향에 따라서 섯부른 판단을 하는 경우가 많습니다. 특히나 이렇게 자기 중심적인 사고방식에 꽉 막혀 있는 개발자들과는 대화조차 어려운 경우가 많습니다. 보통 고집도 센 것이 아니어서 같이 일하기 피곤합니다. 이런 개발자들이 실력이 뛰어난 것처럼 보여서 어쩔 수 없이 붙들어 두고 있는 경우가 많은데 일찌감치 팀에서 제외를 하던가 해고를 하는 것이 더 나을 겁니다. 소프트웨어를 개발하면서 벌어지는 수많은 판단과 결정은 이렇게.. 더보기
우리나라에는 전지전능한 슈퍼 개발자가 있다. 여러 소프트웨어 회사를 컨설팅하다보면 아주 많은 개발자들을 만나게 됩니다. 그 중에는 전지전능한 슈퍼 개발자를 만나게 됩니다. 코딩, 설계, 분석, 테스트, 기획, 고객 전화응대, 고객 지원, 프로젝트 관리, 일반 관리, 아키텍처 등등 엄청나게 많은 일을 하는 개발자들을 보게 됩니다. 이들은 대부분 팀장 쯤 됩니다. 어떻게 생각하시나요? 바람직해 보입니까? "나도 그런 전지전능한 개발자야 돼야지"라는 생각이 드십니까? 혹시 지금 이렇게 모든 분야의 일을 다 하고 계시나요? 이것은 One man company 얘기가 아닙니다. 개발자가 100명이 넘는 회사도 이러한 경우를 여럿 봤습니다. 대부분은 회사가 성장과정에서 적당한 때에 조직을 변화시키지 못하고 그냥 달려온 경우입니다. 이런 경우 전지전능한 개발자.. 더보기