2009년 7월 28일 화요일

마이크로소프트가 생각하는 구글과 애플

최근 HARD CODE라는 MS의 개발 혁신 부사장인 에릭 브레히너가 쓴 책을 읽었습니다. 재밌게 읽고 현재 제가 적용할 수 있는 요소들을 찾아서 잘 써먹고 있습니다.

그런데 오늘 트위터를 보다가 MS와 구글에 대한 이야기를 듣게 되었는데, 문득 책에서 읽었던 내용이 떠 올라서 공유해 봅니다.

제목에는 마이크로소프트라고 했지만 사실, HARD CODE 저자의 MS 사내 칼럼의 내용입니다. 하지만 부사장이라는 자리, 그리고 사내 칼럼이라는 매체로 봤을 때, 저자의 의견은 마이크로소프트의 생각이라 어느 정도 인정할 수 있겠습니다.


page 363 from HARD CODE

똑똑한 사람들, 똑똑한 고객들

하지만 만약 구글이 정신을 차리고 제품과 스스로를 지속적으로 개선하기 시작한다면? 구글은 우수한 인재를 유치하고 보유하는 능력이 뛰어나다. 만약 이런 능력을 고객 가치, 제품 품질, 서비스 통합, 출시 계획에 쏟는다면? 여기에 사실상 돈 찍는 기계인 환상적인 광고 플랫폼을 더하면 우리에게 위협이 되지 않을까?

그렇지 않다. 기껏해야 구글은 애플처럼 틈새 시장에서 성공하는 기업으로 남는다. 왜? 우리가 따르는 첫 번째 원칙 '우리는 소프트웨어로 개인과 장비에 능력을 부여한다' 때문이다. 구글과 애플은 이런 원칙을 따르지 않는다.

애플은 자신들이 선택한 사람과 장비에만 능력을 부여한다. 나름대로 장점은 있으나 구조적으로 시장을 제약하는 전략이다. 유감이다. 그렇지 않았더라면 애플은 우리에게 상당히 강력한 경쟁자가 되었을 테니까.

구글은 소프트웨어로 모든 사람에게 능력을 부여하려 애쓰지만 장비는 고려하지 않는다. 두뇌는 서버에 두고 클라이언트에는 지능만 약간 부여한다. 옛날옛적 '네트워크 컴퓨터와 더미 클라이언트'를 재탕한 개념이다. 실패가 뻔한 이 전략을 지능적인 클라이언트보다 낫다고 주장한 적이 얼마나 많았던가.

마이크로소프트는 소프트웨어가 발휘하는 위력을 사람들이 머무는 사무실에, 가정에, 손 안에 끌어다 놓는다. 위력을 가까이서 느낄수록 사람들은 더욱 귀중하고 놀라운 경험을 얻는다. 구글이 자신들의 영향력이 미치는 범위를 제한하는 한 그들의 패배는 자명하다. 어느 정도 철저하게 패배할지는 몇 안 되는 서버 기반 시나리오를 유지해 나가느냐 못하느냐에 달렸다.

요즘 추세를 보건데 구글은 저자인 에릭의 말처럼 쉽게 망할 것 같지 않네요. 더불어 애플마저 IPhone를 기반으로 한 앱스토어의 활약으로 전세계로 영향력을 확장하고 있으니 성장이 앞으로도 지속될 테구요.

과연 MS가 지금보다 더 독보적인 위치를 차지하게 될지는 모르겠으나 그 저력은 또한 무시하지 못할 정도라는건 확실한 것 같습니다. 누가 뭐라 해도 전세계에서 가장 큰 사용자를 대상으로 거대한 소프트웨어를 만들어서 팔아본 유일한 기업이니까요 .

거대 IT기업의 전쟁에서 관전 포인트는 향후 우리의 컴퓨팅 환경이 어떻게 변하느냐가 될 것 같습니다. 언듯 보기에는 공룡처럼 거대한 기업들이지만 세계의 흐름이라는 존재 앞에서는 작기만 하거든요.

2009년 7월 26일 일요일

공개SW공모대전 2009 기술캠프 초청강연

오늘, 성균관대 수원캠퍼스에서 공개소프트웨어 공모대전 2009 기술캠프가 열렸습니다. 작년에 수상을 했었는데, 지난주에 전화가 와서 기술캠프 과정중에 강연을 하나 맡아서 해줄 수 있냐고 문의가 왔었습니다.

강연를 하기로 하고 자료를 준비해서 오늘 오전에 다녀왔습니다.

주로 작년에 공모전에 제출했던 프로젝트에 대한 소개와 참가자들을 위한 조언을 정리해서 약 40분 정도의 발표를 했는데, 참가자들이 어제 맥주파티를 했던지라 약간씩 몇분들이 조는 것 빼고는 호흥이 좋았습니다. 서로 만족할 만한 정도의 시간이 되지 않았나 생각됩니다.

# 아래 PT를 다운 받으실려면 PT 왼쪽 하단의 메뉴를 클릭하시고 download presentation 을 클릭하시면 됩니다. 단, 회원 가입을 해야 하네요. slideshare는 괜찮은 사이트니까 이번에 가입해두는 것도 좋을 것 같습니다.

2009년 7월 21일 화요일

IT업계에서 일하는 모든 분들을 위한 실용적인 지침서










HARD CODEHARD CODE - 10점
에릭 브레히너 지음, 박재호.이해영 옮김/에이콘출판

최근 여러책들을 읽고 있습니다. 그렇지만 읽고나서 주변에 강력하게 추천하고 있는 책은 HARD CODE가 유일한 것 같습니다. 물론, 다른 책들도 좋은 책이지만, 이 책이 현재 제 상황에 필요한 내용들이 담겨 있었고, 주변에 공유할 만한 사람들이 많은게 이유일 것 같습니다.HARD CDOE는 코딩을 잘 하기 위한 책이 아닙니다. HARD CODE는 IT업계에서 살아가는데 필요한 조언들과 통찰로 가득한 책입니다. 일단 기술서가 아닙니다. 인간관계, 프로젝트를 잘 진행하는 법, 발표를 잘 하는 법, 설득의 방법, 커리어 패스를 잡아가는 방법 등 회사생활에 관련된 대부분의 내용들이 책에 기술되어 있습니다. 마이크로소프트의 사내 웹진에 연제되던 칼럼의 모음인 만큼 토막글들은 쉽게 읽히고 짧은 글들의 모음이지만 그 내용은 방대하다 할 수 있습니다.

만약, IT업계의 신입사원들에게 딱 두권의 책을 추천해달라고 한다면 전 실용주의 프로그래머HARD CODE를 추천하겠습니다. 여러분께서도 직접 읽어보신다면 제가 얻었던 것들보다 더 많은 것을 얻을 수 있을거라 생각합니다.

책 내용중 공유하고 싶은 내용을 올리며 글을 마무리 합니다.

-----

꿩도 먹고 알도 먹자 – 상사 다루기 (2005년 8월 1일)
……….
적을 알고 나를 알면 백전백승이라
올바로 준비하는 방법부터 살펴보자. 아래에서 많은 단계를 나열하지만, 모두 하루 정도면 충분하다(작은 항목은 몇 분도 안 걸린다).
먼저 지형을 정찰한다. 멍청이나 지도 없이 지뢰밭을 걸어간다. 대다수 사람들은 자신이 원하는 결과를 알지만, 그것은 어디까지나 종착지일 뿐 종착지로 가는 방법은 아니다.





  • 자신의 제안을 이해하라 : 내 아이디어는 어떤 위험이 있을까? 위험을 줄이는 방법은? 아이디어에서 바꾸어도 괜찮은 부분은? 절대로 양보하지 못할 기본 원리는? 현실적으로 자신에게 정직하자.

  • 역사를 이해하라 : 현재 방식과 조직이 등장하게 된 이유는 무엇일까? 변경했다가 오히려 퇴보할 가능성은 없는가?

  • 적을 이해하라 : 현재 상태를 선호하는 사람은 누구일까? 왜? 변경에 강력하고 열정적으로 거부할 사람은 있는가? 적을 달래거나 내 편으로 끌어들일 방법은 있을까?

  • 아군을 이해하라 : 현재 상태에 불만인 사람은 누구인가? 왜? 그들이 내 아이디어를 좋아할까? 내 아이디어를 어느 정도 강력하고 열정적으로 지원할까?

  • 관리층을 이해하라 : 관리층이 내 아이디어를 어떻게 판단하고 평가할까? 상사 관점에서 위험을 감수할 정도로 이익이 충분할까? 이익을 늘이거나 위험을 줄일 방법은 없을까?






목표를 향해 쏴라
둘째 슬라이드나 셋째 슬라이드에서는 미래에 대한 비전을 보여준다. 비전은 명확하고, 간결하고, 실용적이어야 한다. 주요 결정권자가 이해하는 용어로 목표와 이익을 명확히 표현한다. 간단히 말하자면, 목적지를 모르면 목적지에 도달하지 못한다.
비전과 제안을 뒷받침하는 자료와 정보가 담긴 슬라이드가 더 많을지도 모른다. 심지어 30페이지짜리 백서를 썼을지도 모른다. 이런 자료는 변화가 필요한 이유를 뒷받침하므로 중요하지만, 부록 슬라이드나 참고 자료 링크 정도로만 표기한다. 성공하려면 간단명료해야 한다. 나머지는 모두 참고용일 뿐이다.
마지막 슬라이드는 현재에서 미래로 나아가는 방법, 즉 목적지에 도달하는 방법을 제시한다. 이 슬라이드에는 두 가지 정보만 넣는다.





  • 고려사항 : 위험과 우려/문제를 줄이는 방법을 설명한다. 여기에 백업 계획, 추긴/중단 결정 요인, 중복성, 우선순위를 넣는다.

  • 다음단계 : 누가 언제까지 무엇을 할지 설명한다. 흔히 사람들은 ‘무엇’에만 신경 쓰고 ‘누가’와 ‘언제’를 간과한다. 구체적인 책임자와 구체적인 목표일이 없다면 변화를 이루지 못한다.



이상이다. 제목 슬라이드, 문제 제시 슬라이드, 미래 상태 슬라이드, 변화 방법 슬라이드, 이것으로 충분하다. 이제 아이디어를 추진할 준비가 됐다. 간단한 아이디어라면 모든 단계를 이메일로 처리해도 좋지만, 준비하는 과정은 동일하다




저자 한 마디
많은 사람들이 모든 정보를 슬라이드 석 장에 넣기는 무리가 아니냐며 예제를 요청했다. 내가 아는 최고의 예제는 마이크로소프트 사 기밀 제안서로, 모든 정보를 슬라이드 한 장에 담았다. 슬라이드는 수직선과 수평선으로 공간을 사분한 후 문제(1사분면 항목 네 개), 해결책(2사분면 항목 네개), 고려사항(3사분면 항목 여섯 개), 다음 단계(4사분면 항목 네 개)를 제시한다




http://tasy.jaram.org/blog/2009-07-20T07:41:400.31010

2009년 5월 1일 금요일

세상을 보는 색다른 시선 "쾌도난마 한국경제"










쾌도난마 한국경제쾌도난마 한국경제 - 10점
장하준 외 지음, 이종태 엮음/부키

장하준은 이야기 한다.
"도대체 정체가 뭐냐?"는 소리를 많이 들었다고.

이종태는 이야기 한다.
문제는 양심이 아니라 인식이라고

"쾌도난마 한국경제"는 우리의 과거와 현재의 경제를 보는 색다른 시각의 묶음이다. 아니, 생각해보지 않았던 시각의 모임이다. 좌는 좌측의 프레임에 같혀, 우는 우측의 프레임에 같혀 각각 바라보았던 것들을 좌니 우니 하는것을 던지고 우리의 경제를 바라본 결과이다.

그러다 보니, 영 불편한 것들이 많이 눈에 보인다. 좌파든 우파든 누가봐도 조금씩은 불편할 내용이 있을 것이다. 재벌에 대한 이야기, 박정희의 경제정책에 대한 이야기 등 논란의 여지가 많은 이야기를 경제적 관점에서 일관되게 풀어내고 있다.

이 책은 재미있다. 무엇보다 내가 볼 수 없었던, 보지 않았던 방식의 생각을 내게 제안하기 때문에 재미있다. 그리고 그 의견이 설득력이 있기 때문에 더욱 재미있다.

한국경제의 과거와 현재에 대한 모범답안인지 아닌지는 모르지만, 이 책은 분명 한국경제를 설명하는 설득력 있는 표현이라는데 확신한다.


http://tasy.jaram.org/blog/2009-04-30T14:23:000.31010

2009년 4월 29일 수요일

The ThoughtWorks Anthology를 읽고








소트웍스 앤솔러지 : 소프트웨어 기술과 혁신에 관한 에세이 - 10점
마틴 파울러 외 지음, 강규영 외 옮김/위키북스


요즘 이런 저런 일로 시간이 별로 없어서 책을 통 읽지 못했습니다. 그러다 우연히 이 책이 눈에 띄여 구입해서 읽었습니다.


사실 ThoughtWorks라는 단어와 Martin Flower라는 저자가 제 눈길을 잡았다고 하는게 이 책을 선택한 이유일 겁니다. Refactoring을 쓴 마틴 파울러가 만든 회사인 ThoughtWorks는 예전부터 관심을 가지고 있던 회사입니다. 애자일 개발방법들을 잘 활용하고 있는 회사로 유명하고 세계적으로 높은 소프트웨어 개발 역량을 가지고 있는 회사로도 유명합니다.


이 책은 바로 그들이 어떤식으로 소프트웨어를 개발하는지 각 부분의 사람들이 글을 써 그 글들을 한권의 책으로 묶은 것입니다.


제가 예전에 언급했던 CI(Continuous Integration 지속적인 통합)를 위한 도구중 하나인 Cruise Control을 어떻게 프로젝트에 활용하는지 알수 있고,  개발상의 다양한 단계를 최대한 자동화하는 것의 이점은 무엇인지 확인할 수 있습니다. 그리고 지구상에서 얼마 안되는 애자일 개발방법들을 잘 활용하여 성장하고 있는 회사라는 점을 감안할 때, 그들의 통찰은 많은 가치가 있다고 생각합니다.


그리고 이 책을 읽으면서 또 한번 느낄 수 있었습니다.


프로젝트 자동화 도입이 시급합니다.

"Top 100 Best Software Engineering Books, Ever를 읽고 책 정리"를 읽고 책정리

B급 프로그래머님의 블로그 포스트 를 보고 추천할 만한 책들이 많이 보이기도 하고 더 읽을 책을을 찾을 수 있어서 좋았습니다.

저도 표를 복사하여 책을 간단히 정리해봤습니다. 제 평가와 B급 프로그래머님의 평가를 같이 볼 수 있겠금 표에 제 평가만 추가하였는데 꼭 문의를 드리겠습니다. (변명은 아니고 시간이 없어서 선허락을.. 허락받았습니다.)

정리를 해보면서 느낀건, 의외로 목록에 있는 책들을 많이 가지고 있구나. 그리고 많이 읽었구나 정도였습니다. 그리고 목록에서 읽어볼 책들을 찾기도 하였습니다.

몇권을 주문했는데 오면 더 읽어보고 표를 업데이트 하겠습니다.

저자제목보유B급 프로그래머님
평가
평가
Steve McConnellCode Complete: A Practical Handbook of Software Construction원서,
한국어판
강추강추
Elisabeth Freeman, etc.Head First Design Patterns한국어판N/A강추
Steve McConnellRapid Development한국어판강추(참고: B급 프로그래머 = 역자 )추천
Erich Gamma, etc.Design Patterns: Elements of Reusable Object-Oriented Software원서,
한국어판
추천추천
Bruce SchneierApplied Cryptography: Protocols, Algorithms, and Source Code (2nd Edition)미보유N/AN/A
Robert C. MartinAgile Software Development: Principles, Patterns and Practices미보유N/A추천
Joel SpolskyJoel on Software한국어판강추(참고: B급 프로그래머 = 역자 )강추
Tom DeMarco, Timothy ListerPeopleware: Productive Projects and Teams (2nd Edition)한국어판강추강추
Frederick P. BrooksThe Mythical Man-Month, Anniversary Edition (2nd Edition)미보유강추강추
Martin FowlerRefactoring: Improving the Design of Existing Code원서,
한국어판
N/A강추
Mike CohnAgile Estimating and Planning한국어판강추읽는중
Alistair CockburnWriting Effective Use Cases미보유N/AN/A
Bertrand MeyerObject-Oriented Software Construction (2nd Edition)미보유N/AN/A
Steve McConnellSoftware Estimation: Demystifying the Black Art미보유추천N/A
Mike CohnUser Stories Applied: For Agile Software Development한국어판N/A추천
Donald E. KnuthThe Art of Computer Programming, The, Volumes 1-3 Boxed Set (2nd Edition)1번 한국어판 보유추천N/A
Martin FowlerPatterns of Enterprise Application Architecture미보유N/AN/A
Jeffrey FriedlMastering Regular Expressions미보유보통추천
Andrew Hunt, David ThomasThe Pragmatic Programmer: From Journeyman to Master한국어판강추강추
Karl E. WiegersSoftware Requirements (2nd Edition)미보유읽는 중N/A
Craig LarmanApplying UML and Patterns (3rd Edition)미보유N/A보통
Alistair CockburnAgile Software Development: The Cooperative Game (2nd Edition)미보유N/A보통
Gary McGrawSoftware Security: Building Security In미보유N/AN/A
Gregor Hohpe, Bobby WoolfEnterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions미보유N/AN/A
Tom DeMarco, Timothy ListerThe Deadline: A Novel About Project Management미보유강추추천
Craig LarmanAgile and Iterative Development: A Manager's Guide미보유N/AN/A
Eric A. Marks, Michael BellService-Oriented Architecture: A Planning and Implementation Guide for Business and Technology미보유N/AN/A
Thomas H. Cormen, etc.Introduction to Algorithms, Second Edition원서,
한국어판
N/A강추
Thomas ErlService-Oriented Architecture: A Field Guide to Integrating XML and Web Services미보유N/AN/A
Martin FowlerUML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition)미보유N/A추천
Kent BeckExtreme Programming Explained: Embrace Change (2nd Edition)원서,
한국어판
N/A강추
Alan Shalloway, James TrottDesign Patterns Explained: A New Perspective on Object-Oriented Design (2nd Edition)미보유N/AN/A
Grady Booch, etc.Object-Oriented Analysis and Design with Applications (3rd Edition)원서추천추천
Jim HighsmithAgile Project Management: Creating Innovative Products미보유N/AN/A
Scott BerkunMaking Things Happen: Mastering Project Management (1판은 The art of project management)미보유강추(참고: B급 프로그래머 = 역자 )N/A
Jon BentleyProgramming Pearls (2nd Edition)원서,
한국어판
읽는 중강추
Paul Duvall, etc.Continuous Integration: Improving Software Quality and Reducing Risk미보유추천N/A
Andrew Stellman, Jennifer GreeneApplied Software Project Management미보유N/AN/A
Clemens SzyperskiComponent Software: Beyond Object-Oriented Programming미보유N/AN/A
Arthur J. RielObject-Oriented Design Heuristics원서N/A추천
Thomas ErlSOA Principles of Service Design미보유N/AN/A
Mary Poppendieck, Tom PoppendieckLean Software Development: An Agile Toolkit한국어판추천읽는중
Ken SchwaberAgile Project Management with Scrum미보유N/AN/A
Ken Schwaber, Mike BeedleAgile Software Development with Scrum미보유N/AN/A
Joshua KerievskyRefactoring to Patterns미보유N/AN/A
Alistair CockburnCrystal Clear: A Human-Powered Methodology for Small Teams미보유N/AN/A
Steve McConnellSoftware Project Survival Guide한국어판강추보통
Tom DeMarco, Timothy ListerWaltzing With Bears: Managing Risk on Software Projects한국어판추천추천
Venkat Subramaniam, Andy HuntPractices of an Agile Developer: Working in the Real World미보유N/AN/A
Kathy SchwalbeInformation Technology Project Management미보유N/AN/A
Randall HydeWrite Great Code: Volume 1: Understanding the Machine한국어판추천추천
Scott RosenbergDreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software미보유추천N/A
Cem Kaner, etc.Lessons Learned in Software Testing미보유N/AN/A
Andy Oram, Greg WilsonBeautiful Code: Leading Programmers Explain How They Think원서,
한국어판
읽는 중강추
Luke HohmannBeyond Software Architecture: Creating and Sustaining Winning Solutions미보유N/AN/A
Grady BoochUnified Modeling Language User Guide, The (2nd Edition)미보유보통N/A
Karl FogelProducing Open Source Software: How to Run a Successful Free Software Project미보유N/AN/A
Michael FeathersWorking Effectively with Legacy Code미보유N/AN/A
Kent BeckTest Driven Development: By Example원서,
한국어판
추천강추
Per Kroll, Philippe KruchtenThe Rational Unified Process Made Easy: A Practitioner's Guide to the RUP미보유N/AN/A
Thomas ErlService-Oriented Architecture: Concepts, Technology, and Design미보유N/AN/A
Cem Kaner, etc.Testing Computer Software (2nd Edition)미보유N/AN/A
Frank Buschmann, etc.Pattern-Oriented Software Architecture Volume 1: A System of Patterns미보유N/AN/A
Harold Abelson, Gerald Jay SussmanStructure and Interpretation of Computer Programs - 2nd Edition원서,
한국어판
N/A강추
Dan PiloneUML 2.0 in a Nutshell미보유N/AN/A
Brett D. McLaughlin, etc.Head First Object-Oriented Analysis and Design미보유N/AN/A
Johanna RothmanManage It!: Your Guide to Modern, Pragmatic Project Management미보유읽는 중N/A
James Shore, Shane WardenThe Art of Agile Development미보유읽는 중N/A
Brian W. Kernighan, Rob PikeThe Practice of Programming한국어판강추추천
Ron Jeffries, etc.Extreme Programming Installed한국어판N/A추천
Scott W. Ambler, Pramodkumar J. SadalageRefactoring Databases: Evolutionary Database Design미보유N/AN/A
Jared Richardson, William GwaltneyShip it! A Practical Guide to Successful Software Projects미보유추천N/A
Greg Hoglund, Gary McGrawExploiting Software: How to Break Code미보유N/AN/A
Michael NygardRelease It!: Design and Deploy Production-Ready Software미보유추천N/A
Edward YourdonDeath March (2nd Edition)미보유강추N/A


Man of Month를 마치며

벌써 2020년 1월 14일이다. 19년의 마지막 달에 Man of Month라는 팀의 제도를 시작한다고 했었는데, 12월이 지나고 그 다음 달도 거의 절반이 흐른 것이다. MoM을 시작하면서 하겠다고 계획했던 것들도 실제 한 것들과 비교해보니...