본문 바로가기

개발조직

SW회사, 이런 사장이 문제 모든 회사가 마찬가지이지만, SW회사에서 경영자의 중요성에 대해서는 여러 번 얘기를 했습니다. 여러 경영자 중에서 어설프게 아는 경영자가 아예 잘 모르는 경영자보다 더 무섭습니다. 많은 SW회사 경영자들을 만나보면, 소시적에 코딩도 좀 해보고 밤새우면 개발도 해봤다고 SW 개발을 아주 잘 이해하고 있다고 착각하는 경우를 자주 접하게 됩니다. 또 본인이 상당한 수준의 전문가라고 착각하기도 합니다. 이런 경영자일수록 자신이 잘 알고 있다고 생각하므로 진짜 전문가인 내부 개발자들이나 외부의 목소리에 귀를 기울이지 않게 됩니다. 이는 마치 바둑 7,8급 정도 두는 실력으로 1,2단 실력을 가진 개발자들 머리 위해서 마음대로 휘두르는 것과 같습니다. 비록 자신이 모르더라도 전문가를 채용하고 전문가의 의견을 존중하.. 더보기
내가 오래 일하면 일 처리 속도가 느린 것이고, Boss가 오래 걸리면 ... 재미 있는 유머입니다. My Boss & I 직장 상사와 나 When I take a long time, I am slow. When my boss taking a long time, he is thorough. 내가 일을 오래 끌면 일 처리 속도가 느린 것이고, 나의 상사가 일을 오래 끌면 일을 철저히 하는 것이다. When I don't do it, I am lazy. When my boss doesn't do it, he is too busy. 내가 그 일을 하지 않으면 게으른 것이고, 나의 상사가 그 일을 하지 않으면 너무 바쁜 것이다. When I do something without being told, I am trying to be smart. When my boss does the sam.. 더보기
SW가내수공업 우리나라 SW회사들의 개발 상황을 보면 크나 작으나 가내수공업 형태를 벗어나지 못한 경우가 많습니다. 회사가 작을 경우에는 이런 가내수공업 형태의 개발이 큰 문제를 일으키지 않기도 하지만, 회사 규모가 가파르게 커 나가는데도 계속 그런 형태를 유지한다면 회사의 효율성은 급격하게 떨어지게 됩니다. 마치 원생동물이 군집생활을 하는 것 같은 이런 조직은 서로 같이 일함으로써 상승효과를 얻기는커녕 점점 비효율적으로 바뀌게 됩니다. SW개발조직은 정교하게 진화된 생체조직과 같이 서로 분업이 잘 이루어져 있고 각 역할은 전문적으로 발전을 해야 하고 시스템적으로 커뮤니케이션이 원활하게 진행이 되어야 합니다. 이러한 조직을 회사가 커진 이후에 준비를 하려고 하면 이미 늦습니다. 회사가 아주 작거나 심지어는 혼자서 회사.. 더보기
항상 보스가 먼저 말하게 하라. 오늘 재미있는 글을 봤습니다. 그래서 공유를 할까 합니다. A junior manager, a senior manager and their boss are on their way to a meeting. 신참 부장과 고참 부장, 그리고 사장이 회의장으로 가는 길이었다. On their way through a park, they come across a wonder lamp. 이들은 공원을 지나다가 신기한 램프를 발견했다. They rub the lamp and a ghost appears. 램프를 문지르자 한 유령이 나타났다. The ghost says, 유령이 말했다. "Normally, one is granted three wishes but as you are three, I will allow .. 더보기
우리는 개발자가 테스트도 다 해요. 별도의 테스트팀이 없는 회사는 정말 많습니다. 별도의 테스트팀이 없이 개발자가 또는 팀장이 테스트에 참여하는 이유는 개발자가 아니면 제품의 기능을 속속들이 알 수 없어서 테스트를 하기가 어렵기 때문입니다. 이렇게 되는 이유는 제품의 스펙이 따로 문서화되어 있지 않기 때문에 개발자가 아니면 스펙을 알지 못하기 때문입니다. 하지만, 개발자는 인건비도 비쌀 뿐더러 테스트를 잘 하지도 못합니다. 그리고 아무리 테스트 능력이 있는 개발자라고 할지라도 자신이 작성한 기능을 테스트 하는 것은 좋은 방법이 아닙니다. 본인은 내부 동작방식을 잘 알기 때문에 기능이 정상적으로 동작하는 방식 위주로 테스트를 하기 마련입니다. 테스트는 반복적이고 전문적인 작업이기 때문에 개발자가 담당하고 있는 이상 정상적으로 이루어지고 있다.. 더보기
사업부가 소프트웨어 조직에 미치는 영향 주변 소프트웨어 회사에서 사업부 형태의 조직을 접하는 것은 어려운 일이 아닙니다. 사업부라는 조직 구조가 꽤 인기를 끈 것은 사실입니다. 사업부란 특정 시장에 집중하고 시장의 요구에 빠르게 대응하기 위해서 만든 특수한 형태의 조직입니다. 보통 사업부는 상당히 많은 독립권을 가지고 있고 대부분의 결정을 사업부 내부에서 독립적으로 할 수 있습니다. 하지만 작은 회사를 사업부로 나눠서 각 사업부에 독립적인 책임과 권한을 주게 되면 득보다 실이 더 많아집니다. 하지만 사업부가 가지고 있는 단기적인 성과에 대한 욕심 때문에 사업부 조직 형태에 현혹이 되곤 합니다. 하지만 장기적으로는 잃는 것이 더 많을 수 있습니다. 사업부는 장점도 가지고 있는 조직 구조이지만 다음과 같은 단점들을 가지고 있습니다. 사업부 간에 .. 더보기
우리나라에는 전지전능한 슈퍼 개발자가 있다. 여러 소프트웨어 회사를 컨설팅하다보면 아주 많은 개발자들을 만나게 됩니다. 그 중에는 전지전능한 슈퍼 개발자를 만나게 됩니다. 코딩, 설계, 분석, 테스트, 기획, 고객 전화응대, 고객 지원, 프로젝트 관리, 일반 관리, 아키텍처 등등 엄청나게 많은 일을 하는 개발자들을 보게 됩니다. 이들은 대부분 팀장 쯤 됩니다. 어떻게 생각하시나요? 바람직해 보입니까? "나도 그런 전지전능한 개발자야 돼야지"라는 생각이 드십니까? 혹시 지금 이렇게 모든 분야의 일을 다 하고 계시나요? 이것은 One man company 얘기가 아닙니다. 개발자가 100명이 넘는 회사도 이러한 경우를 여럿 봤습니다. 대부분은 회사가 성장과정에서 적당한 때에 조직을 변화시키지 못하고 그냥 달려온 경우입니다. 이런 경우 전지전능한 개발자.. 더보기
우리나라 소프트웨어 회사에는 Technical career path가 없다. 우리나라에서는 소프트웨어 개발자로 일을 하면서 부딪히는 큰 걸림돌이 있습니다. "Technical career path가 없다"는 겁니다. 이 말에 바로 무슨 뜻인지 팍 와 닺지 않는 사람은 우리나라의 소프트웨어 환경에 이미 익숙해지신 겁니다. 소프트웨어 개발자들은 일을 열심해도 위로 올라갈 데가 없는 경우가 대부분입니다. 그래서 팀장도 되고, 관리자도 되고 다른 직종으로 점점 옮겨가게 됩니다. 그러다 보면 기술과는 점점 멀어지게 됩니다. 뛰어난 기술자들의 보석과 같은 실력을 썩히는 거지요. 대부분의 소프트웨어 회사에서는 Technical Track과 Management Track를 구분해야 한다는 사실을 인식하지 못하고 있습니다. 두 Track은 완전히 다른 것이고 서로 잘 호환 되지도 않습니다. 지금.. 더보기