본문 바로가기

소프트웨어이야기

내인생 최고의 멘토를 만나다. 소프트웨어를 개발하면서 또, 컨설팅을 하면서 하고 싶었던 얘기를 해보자고 블로그를 시작한지가 벌써 4년이 되었다. 3천명이 넘는 구독자와 많은 분들이 글을 읽어 주셨다. 최근에는 Tech it에 칼럼을 기고하기 시작해서 좀더 많은 분들이 글을 읽게 되었다. 내 글을 읽는 분들의 반응은 무척 다양하다. 꾸준히 읽고 호응하는 댓글을 계속 남기시는 분들 중에는 기억에 남는 분도 많다. 댓글은 없어도 꾸준히 읽고 계신 분들도 있고 물론 호응하지 않는 분들도 있을 것이다. 가끔은 반대의견을 제시하는 분들도 있다. 그런 모든 분들이 소중하지만 가끔은 제 글에 대해 "컨설턴트의 말빨이다.", "현실을 모른다", "실제 개발 경험은 있는 것일까?"라는 종류의 의구심을 가진 분들이 있다. 내 글들이 워낙 직설적이라서 가.. 더보기
7명이 할 수 있는 일을 70명이 하고 있는 이유 최근에 한 글로벌 소프트웨어 회사(Y사, 가칭)의 한국 지사 관계자에게 들은 이야기이다.비단 Y사 얘기만은 아니다. 세계적인 소프트웨어 회사의 한국지사에서 종종 벌이지는 일이다. Y사의 본사에서는 처음에 한국지사를 만들었을 때 한국에서도 미국의 개발 프로세스를 따를 것을 종용했다고 한다. 하지만 한국에서 채용된 개발자들은 미국의 개발 프로세스는 너무 무겁다고 한국 방식으로 개발했다고 주장을 했다. 그리고는 미국의 개발 주문에 대해서 믿을 수 없는 속도로 해결을 해나가기 시작했고, 미국 본사는 이런 경이로운 결과를 보고는 한국식 개발을 묵인할 수 밖에 없었다. 그뒤 몇 년이 지난 지금은 어떻게 되었을까? 미국 본사의 개발 프로세스를 착실히 따른 호주 지사와 엄청난 차이를 보이고 있다고 한다. 똑같은 일을 .. 더보기
소프트웨어 개발자의 나아갈 길 소프트웨어 개발자의 경력이 제대로 보장 받지 못하는 가장 큰 이유는 회사, 사회, 문화의 문제 때문이다. 그렇다고 개발자 된 입장에서 회사가 바뀌고 사회가 바뀌기만을 기다릴 수는 없다. 이는 마치 닭과 달걀의 관계처럼 누가 먼저인지 알기 어렵다. 어느 한쪽이 먼저 깨끗하게 해결되면 자연스럽게 전체가 해결되지만 그걸 기대하기는 현실적으로 어렵다. 경영자도 회사가 살아남고 경쟁력을 키우기 위해서는 바뀌어야 하지만 개발자도 뭔가 대책을 수립해야 한다. 주변에 좋은 롤모델이 없는 개발자들은 자신의 개발자로서의 경력을 보장 받고 더 뛰어난 개발자가 되기 위해서 어떻게 해야 하는지 알아내기가 정말 어렵다. 그냥 상황이 주어진 대로 열심히 할 뿐이다. 그러다 보면 정치적으로 밀리고 실력에서도 뒤쳐져서 최악의 상황이 .. 더보기
옛날에는 개발을 더 잘했는데 우리나라 많은 회사들은 소규모일 때 상당히 개발을 잘 하는 것처럼 보인다. 짧은 기간에 꽤 멋진 Software를 뚝딱 뚝딱 잘 만들어 낸다. 이러한 제품이 시장에서 통해서 회사가 성장을 하게 되면 그 이후로 이상하게 개발이 점점 더 어려워지게 된다. 옛날에는 고참 두 명이 이정도의 Software를 6개월만에 이렇게 잘 만들어 냈는데, 지금은 팀원이 10명이나 되고 프로젝트 기간도 과거보다 더 줬는데, 제품의 버그는 더 많고, 제품도 옛날보다 형편 없어 보인다고 한다. 점점 개발이 더 어려워지는 이유는 무엇일까? 두번째 시스템을 만드는 것은 첫번째 시스템을 만드는 것보다 훨씬 힘들다. 두번째 시스템은 첫번째 시스템을 유지보수 하면서 만들어야 한다. 첫번째 시스템에 버그가 많거나 커스티마이징 요구가 많아.. 더보기
SW업계의 잘못된 통념 5가지 소프트웨어 업계에는 정말 깨기 어려운 잘못된 통념이 몇가지 있다.많은 이들이 이러한 잘못된 고정관념과 오해에 사로 잡혀서 쉽게 변화하지 못하고 계속 잘못된 길을 걸어가고 있다.어떠한 잘못된 통념이 있는지 알아보자. 잘못된 통념 1 : 문서(스펙)를 작성하느라고 일정을 못 맞추는 것이 아닌가? (경영자) 많은 경영자들은 문서 작성 때문에 프로젝트가 더 오래 걸리는 것으로 생각하고 있다. 그래서 개발자들이 문서를 쓰고 개발하겠다고 하면 오히려 문서를 쓰지 말고 빨리 개발해 달라고 은근히 요구하는 경영자가 의외로 많다. 이러한 경우 경험에 의해서 문서란 개발과는 상관없이 추가적으로 시간을 잡아먹는 작업이라는 것을 학습했기 때문이다. 스펙을 써보지도 않고 일정이 모자르다는 것을 아는 것이 모순이다. 스펙이 부정.. 더보기
문서를 작성하면 더 오래 걸린다는 고정관념 최근에 국내 유수 대학의 컴퓨터 공학 교수를 만난 적이 있다. 그 교수님도 문서를 작성하면서 Software를 개발하면 더 오래 걸린다고 굳게 믿고 있었다. 어느 정도 이해가 되는 상황이다. 원래 소프트웨어 공학은 실전에서 발전해 온 것이기 때문에 교수가 실전적으로 잘 아는 분야는 아니다. 교수는 이론적으로는 잘 알고 있지만 실전은 상대적으로 약하기 때문이다. 특히 우리나라에서 쌓은 실전은 더욱 약할 수 있다. 또한 국내 개발자들을 데리고 일한다는 가정을 하고 얘기를 하는 것이라면 더욱도 그렇다. 물론 문서를 작성하면서 개발을 해야 한다고 생각한다. 그래야 제대로 개발을 할 수 있다. 하지만 문서를 작성하면서 개발을 하면 개발 기간이 거의 2배로 들어간다고 한다. 우리는 시간이 촉박하므로 문서를 작성하지.. 더보기
소프트웨어 회사의 자산은? 소프트웨어 회사의 자산은 무엇일까? 흔히 개발자가 소프트웨어 회사의 재산이라고 한다. 이런 회사일 수록 회사가 가지고 있는 것은 정말 개발자밖에 없다. 또한 파악하기 어려운 한 무더기의 소스코드가 있다. 개발자들이 나가면 이 소스코드들의 가치는 현저하게 떨어진다. 소프트웨어 회사의 진짜 자산은 문서다. 정확하게 말하면 문서화 된 지식과 자료들이다. 문서화 되지 않는 정보들은 휘발성으로서 개발자들이 나가면 같이 사라지는 정보들이면 회사의 자산도 아니다. 이런 휘발성 정보와 개발자에 의존하는 회사는 수명이 얼마 남지 않았다. 문서화 된 지식과 자료는 문서 파일 형태로 저장되어 있을 수도 있고 시스템에 남아 있을 수 있다. 버그관리시스템, Wiki, KMS 등에 남아 있는 정보들을 말한다. 이런 정보들은 개발.. 더보기
과거의 성공이 발목을 잡을 때 수많은 소프트웨어 회사들이 첫번째 성공을 거두고 나서 두번째 도약에 실패하고 사라져간다. 물론 첫번째 성공도 어렵지만 이미 성공의 경험이 있고 방법을 알고 있는 회사들이 두번째 또는 세번째에는 많이 실패하는 이유가 무엇일까? 두번째에는 첫번째와 환경이 많이 바뀐 것이 한 원인이다. 그래서 첫번째에는 주먹구구와 열정만으로도 성공을 할 수 있었지만 두번째에는 안통하는 것이다. 그럼 무엇이 그렇게 바뀌었을까? 수재 vs. 일반인 대부분의 첫번째 성공을 거둔 회사는 아주 똑똑한 소수의 수재급의 개발자들이 주도를 해서 성공을 이루었다. 하지만 회사가 커진 상황에서는 대부부분의 개발자들은 평범한 개발자들로 구성이 되어 있고 과거처럼 척척 알아서 일이 진행되지 않는다. 선두 주자 vs. 치열한 경쟁 과거에 제품을 처.. 더보기
내가 개발에 집중할 수 없는 이유 우리나라에서는 개발자들이 개발에 집중할 수 없는 환경인 곳이 참 많다. 정도의 차이가 있지만 거의 대부분이라고 봐도 무방하다. 그 결정적인 이유는 개발자 혼자서 북치고 장구치고 다해야 하는 상황이기 때문이다. 원래는 이렇게 개발자가 다해야 하는 상황은 One Man Company에서나 벌어지는 상황이어야 한다. 하지만 작은 벤처 기업이나 거대한 대기업이나 개발자가 수십명이나 또는 수백명 있어도 One Man Company에서 벌어지는 상황과 별반 다르지 않다. 그럼 왜 개발자는 개발에만 집중해야 하는가? 소프트웨어 개발이라는 것이 다른 일도 해가면서 적당히 해 나간다고 해서 잘할 수 있는 분야가 아니다. 개발만 10년, 20년을 집중해야 잘할 수 있는 분야다. 개발 외에 다른 일도 다 하면서 개발도 잘한.. 더보기
우리에게 지금 필요한 것은? 바로 이것 우리나라 대부분의 소프트웨어 회사들에게 가장 시급하게 필요한 것은 "기초 체력"이다. 히딩크가 우리나라 국가대표 축구팀을 처음 맞았을 때 강조한 것이 기초 체력이었다. 그전까지 우리는 국가대표 축구팀이 체력은 세계 어디를 내놔도 뒤지지 않을만큼 뛰어나지만 골결정력 등 섬세한 고급 기술들이 부족하다고 생각했었다. 하지만 히딩크는 이를 전면 부정하고 고등학교 축구팀처럼 기초 체력 훈련에 집중했다. 주변의 반대가 심했지만 강행했다. 그리고 월드컵에서 그 결과를 보았다. 경기 후반 다른 나라 선수들이 지쳤을 때 우리 선수들은 한발 더 뛸 수 있었고 승리로 이어졌다. 우리나라 개발자들은 개인기들은 뛰어나다. 즉, 코딩을 잘하는 개발자도 많고 온갖 지식도 많이 안다. 솔직히 이 정도로 많이 아는 개발자들은 전세계적.. 더보기