구글 애드센스가 영문에 맞는 광고는 잘 가져오는지 테스트 하기 위해 한글 단어들을 영문으로 수정....

IT블로그를 살펴보면 Struts, Spring, Hibernate등으로 대표되는 Open Source Java framework을 사용하여 web program을 개발하는것에 대해 부정적으로 생각하는 개발자들이 많은것 같다. 사실 단순한 CRUD web program을 개발하는데 이런 framework을 사용하는건 오버킬이 맞다.
시스템의 규모가 일정 수준 이상 커지면 framework이 개발, 유지/보수 생산성에 도움이 된다고 말들을 하는데, 체험들을 못해봐서 별로 공감을 하지 못하는듯한 느낌이 든다.

그럼 도대체 얼마나 큰 시스템을 다루는 경우에 프레임웍의 혜택이 느껴질것인가? 사실 나도 명확히 선을 그어 말하기가 어렵다. 내가 만지고 있는 시스템의 경우 프레임웍이 도움이 된다는 정도는 말해줄수 있을뿐이다.

현재 내가 만지고 있는 시스템은 98년에 첫 버전이 개발되었으니 거의 10년 묵은 시스템이다. 테이블의 갯수는 4자리수이고 전체 class file의 갯수는 여섯 자리수에 근접한다. 연관되어 있는 엔지니어는 한 50~100명 사이일것 같다. component 갯수가 50개 정도 될 것 같다. 이런걸 framework 없이 개발자에게 맡겨놓으면  구현이 중구난방이 된다. 이런 규모의 시스템을 일관성있게 구현하기 위해서 framework은 필수 불가결하다.

그럼 어떤 framework을 쓰는가? Struts, Spring, Hibernate 하나도 안쓴다. 모든 framework은 내부에서 개발된 것이다. Gavin King이 Hibernate 프로젝트 시작도 하기전에 개발 완료된 OR engine을 쓰고, JSP 1.0이 구현이 되기도 전에 JSF나 Tapestry스타일의 component based UI framework을 개발해서 썼다. 사실 component based UI framework은 90년대 중반에 벌써 Nextstep이 WebObject란걸 만들어 썼는데, 이거 만들었던 사람이 와서 만든것이다. Apple 에서 web program램 만드는 사람은 아마 알 것이다.

이 framework를 써서 productivity가 어떻게 높아지는가 알아보자.
상품 catalog를 관리하기 위해 상품의 이름과 가격등을 입,출력,검색하는 UI가 필요하다.
상품 검색 UI는 주문을 입력하는 화면에서도 필요하고, 송장이나 지불을 처리하는 화면에서도 필요하고, 웹 사용자 카탈로그 검색 화면에도 필요하다.
이제 이 상품 class에 새로운 필드가 하나 추가되어야 한다고 예를 들어보자.
이 framework를 사용하면 상품 metadata file에 새로운 field하나 넣는걸로 일이 끝난다.
Database table column을 추가할 필요도 없고, 위에 나열한 screen들을 다 수정할 필요도 없다.
Metadata는 XML text file이므로 일반 version control system을 통해 언제 뭐가 바뀌었는지 알 수 있고 다시 이전 version으로 돌아갈수도 있다.

System을 serious하게 개발 유지하는 회사는 Open source framework을 가져와서 productivity가 높아지게 자기들이 직접 개선을 하거나 아니면 돈 주고 사거나 알아서 할 일이다.

Java web framework이 너무 많이 나온다고 불평들이 많은데 그건 당연한 거다. 주로 개발자 한명이 자기가 web application 시스템 만들어 보니까 틀을 이렇게 가져가면 편리하고 생산성도 높아지겠더라고 생각해서 쉬는 시간에 열심히 만들어서 그거 가지고 project 들어가서 consulting도 하고 돈도 좀 벌어보겠다고 내놓는 것이다.
나오는 framework마다 배우느라고 정신없다고 불평할게 아니라, 본인이 web application을 만들어보니까 이런식으로 틀을 만들어야 겠다는 아이디어를 가져야되고, 다른 넘이 이미 나하고 비슷한 생각을 가지고 만든게 있으면 그거 가져다가 개선하면 되는것이다.

그런 역량이 안되면 유명한거 찍어서 source code 보고 열심히 배우는 수밖에 없다.

만약 framework이 필요하지 않는 수준의 시스템이어서 framework을 사용하는게 시간도 더 걸리고 유지보수도 더 어렵다고 가정하더라도, 그걸 왜 파견나간 개발자가 걱정하나? 어차피 돈 받고 일하는데, 그 기간동안 하나라도 더 배우는 기회로 활용하면 되는것이다.
크리에이티브 커먼즈 라이선스
Creative Commons License

'잡소리' 카테고리의 다른 글

구글 신택스 하이라이터 테스트  (0) 2007/12/20
2007년 업무 끝  (0) 2007/12/19
Java framework에 대해서  (2) 2007/12/18
한국 블로그스피어 유감  (0) 2007/12/17
새로 나온책: Implementation Patterns  (0) 2007/12/16
페이퍼 아키텍트  (0) 2007/12/16
Posted by nokarma

트랙백 주소 :: http://nokarma.tistory.com/trackback/30

댓글을 달아 주세요

  1. BlogIcon 루인 2007/12/18 02:36  댓글주소  수정/삭제  댓글쓰기

    저도 얼마전에 관련글을 읽고 잠시 생각을 하게 되었던거 같습니다만, '겪어보지 못한 것에 대한 필요성을 느끼지 못한것이 아닌가..' 라고 결론을 짓고 말았던 기억이 있네요. :-)

    여담이지만, 저는 지금 모 금융기관의 차세대 시스템 개발을 하고 있는데, 소요기간이 2년정도 지난 시점이고 투입된 개발자 네자리수, 사용된 테이블 네자리수 입니다.
    이정도 시스템을 프레임워크의 도움 없이 전체적인 구조를 잡고 개발을 한다는것은 국내 개발 환경의 여건상 거의 자살행위가 아닐까요?

    마지막 문단의 말씀이 가장 와 닫는거 같네요. :-)

  2. nokarma 2007/12/18 05:31  댓글주소  수정/삭제  댓글쓰기

    그정도 규모 시스템이면 일개 웹 프레임웍을 넘어서서 어떤 형태든 플랫폼이 있어야하는게 당연합니다. 보통 UI, persistence, messaging, integration, workflow, rule engine, report engine, monitoring, log, alert, security, clustering, test harness등 비즈니스 어플리케이션코드가 필요로 하는 하부 소프트웨어를 통칭해서 플랫폼이라고 부릅니다.

    개발자 천명 이상 2년간 지속적으로 투입이라면 엄청난 물량입니다. 개발인력 투입양만으로 본다면 시벨, 피플소프트, 세일즈포스닷컴 같은 엔터프라이즈 어플리케이션 패키지 소프트웨어 몇개는 나올수 있는 투자수준 같습니다.

    대개 금융권 차세대 시스템이란 소리를 몇년마다 한번씩 듣는것 같은데 이런 주기적인 대규모 시스템 개발을 필요로 하는 요인이 무엇인지 궁금하더군요. 사업 환경이 정말 그렇게 몇년마다 변하는지, 아니면 단지 기술 변화때문에 그렇게 대공사를 하는지...

세상 대부분의 것들에는 장점과 단점이 있다는걸 우리는 알고 있습니다.
이 장점과 단점이란게 절대적인것이라기 보다는 확률적이고 상대적인 거라고 봅니다.
개인의 성향에 따라 모험을 해서 큰 성공을 하는 쪽을 선호하는 사람도 있고, 큰 성공은 아니지만 장기적으로 안정되고 평온한  삶을 선호하는 사람도 있겠습니다.

이전 글에서 제시한 시나리오에 따라 미국에서 "평범한" 소프트웨어 엔지니어로 커리어를 가져갈 경우 장점과 단점에 대해서 얘기해보도록 하겠습니다.

장점부터 시작하죠.

인컴이 높습니다. 실리컨밸리지역 요즘 시세로 석사 초봉이 대략 8만불, 평범한 분야의 소프트웨어 엔지니어 석사 경력 10년차면 대략 13만불 정도 되는것 같습니다. 좀 특수한 분야 하면 15만불까지도 가고. 보통 맞벌이하니까 평범한 10년차 엔지니어 가구 수입 20~25만불 정도로 보시면 되겠습니다.
이 정도 수입가지고 어느 정도로 살 수 있느냐는 어디다 돈을 소비하느냐에 따라 달라집니다. 한국처럼 집하고, 애들 사교육비에 퍼부으면 그렇게 많이 남는거 없구요. 그렇지 않으면 풍족하게 삽니다.

오버타임이 거의 없습니다. 저 같은 경우 여기서 9년 정도 되가는데 오버타임을 거의 안해서 기억이 안 날 정도군요. 다섯번 안 될것 같습니다.
평일날 집에서 애들하고 노는 시간 매일 평균 2시간은 넘는것 같고, 주말엔 더 놀고.

공휴일 제외하고 휴가가 짧은 회사는 10일부터 많이 주는 회사는 20일 정도되는데, 제 경우는 20일 하고 크리스마스 지나고 마지막주 1주 셧다운 하니까, 공휴일 제외하고 유급 휴가 5주군요.

소프트웨어 엔지니어링 프로세스 제대로 배웁니다. 한국에서는 보니까 책보고 스터디하는것 같은데, 여기는 mature한 소프트웨어 회사들이 많기 때문에 그냥 회사 프로세스 업무 따라가면 그게 책에 나오는거 플러스 알파입니다.

세부 전문화가 잘 되어있기 때문에 혼자서 북치고 장구치고 할 필요가 없습니다. 빌드 엔지니어는 형상관리하고, QA는 테스트 오토메이션 책임지고, 엔지니어는 개발만 하면 되죠.
작은 스타트업은 예외입니다. 그런 회사들은 보통 한국 회사 처럼 이것 저것 다 해야하는 경우가 많습니다. 전산실 쪽으로 가면 소프트웨어 엔지니어링 프로세스 수준이 좀 떨어지는 편이구요.

기술직 커리어패스가 그런대로 확립되어 있어서 아키텍트까지는 갑니다. 그 정도되면 부장급 페이정도 되는것 같구요. 우리 회사에는 교수하시다가 오신 흰 머리 날리시는 엔지니어도 있습니다. 나이는 안 물어봤는데 50대 인것 같구요.


그럼 단점은 뭐냐?

고위 관리직으로 올라가거나 사업해서 성공할 확률이 본인의 잠재능력에 비해 한국보다 낮다는 점입니다.
엘리트 계층 네트웍이 있으면서, 성격이 사업에 소질이 있는 사람은 한국에서 성공할 확률이 상대적으로 높다고 보면 되구요. 쉽게 말해, 현재 NHN, 다음  오우너들 미국에서 사업했으면 성공했을 확률 지극히 낮았을거라고 봅니다.


2007/12/07 - [분류 전체보기] - 소프트웨어 개발자를 꿈꾸는 초보들을 위한 조언
2007/12/07 - [분류 전체보기] - 소프트웨어 개발자를 꿈꾸는 초보들을 위한 조언 (학교)
2007/12/07 - [분류 전체보기] - 소프트웨어 개발자를 꿈꾸는 초보들을 위한 조언 (영어)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by nokarma

트랙백 주소 :: http://nokarma.tistory.com/trackback/15

댓글을 달아 주세요

  1. BlogIcon DEVMAC 2007/12/09 21:56  댓글주소  수정/삭제  댓글쓰기

    좋은 글 감사합니다.
    평소 관심이 있는 쪽이라...
    연재(?) 된 모든 글들을 모두 읽고 있습니다.
    좀더 구체적이면 좋겠다 싶었습니다.
    한참 흥미진진하게 읽다보면 어느새 글이 끝나더라구요 ㅠㅠ
    책을 한권 내주시죠 ^^

    그럼 계속 좋은 글 부탁 드립니다.

  2. BlogIcon 색즉시공 2007/12/10 04:22  댓글주소  수정/삭제  댓글쓰기

    감사합니다.
    그 정도 열정은 없구요.
    궁금하신거 물어보시면 아는데까지 답해드리죠.

  3. BlogIcon 고감자 2007/12/10 10:35  댓글주소  수정/삭제  댓글쓰기

    저두 미국 출장갔을때 본사 엔지니어 분에게 어느정도 위의 부분은 들어서 알고 있었습니다.

    여유가 있다는 측면을 제외하고, 본사분이 강조하시는 부분이 한국은 룰베이스로 땜빵식 개발을 하지만 이쪽은 알고리즘 베이스가 중심이 된다고 하시더라구요. 참 많이 배울 수 있을거란 생각이 들었습니다.

  4. BlogIcon 색즉시공 2007/12/17 09:10  댓글주소  수정/삭제  댓글쓰기

    어느 분야 하느냐에 따라 달라질 수 있을거라고 봅니다.
    검색 코어쪽 하면 알고리즘 위주로 할 것 같구요.
    대략 10년 정도 진화해 온 시스템 플랫폼 부분을 담당하는 경우에는 자기가 마음만 먹으면 시스템 전체 아키텍쳐를 배울수 기회를 가질수 있을테구요.
    커머셜 비즈니스 어플리케이션 패키지 소프트웨어 하는 경우에는 고객이나 써드파티 프로페셔널 컨설팅 서비스 업체가 커스터마이즈 가능한 소프트웨어 패키지를 어떤식으로 만들어야 되는가에 대한 노하우를 배울수 있을겁니다.
    그 외에도 여러 케이스가 있을거라고 봅니다.

  5. BlogIcon 고감자 2007/12/10 18:03  댓글주소  수정/삭제  댓글쓰기

    댓글 감사드립니다.

    앞으로 거침없이 솔직하고 좋은글 부탁드립니다. ^^

보통 프로젝트 막판에 오버로드가 걸리는 경우는 미국 소프트웨어 회사에서도 있습니다.
크런치 타임이라고들하는데 일주일에 70~80시간 정도 로드가 걸릴때도 있습니다.
보통 1주 이내인데  1달 넘어가면 악명이 높은 회사가 됩니다. 주로 게임회사들이 박봉에 잦은 크런치 타임으로 악명이 높았더랬습니다.
2000년도 초반에 최근까지 세계적으로 가장 큰 게임 개발 회사의 계약직 개발자 부인이 유명 인터넷 사이트에 불만을 올리는 바람에 화제가 되었습니다. 아마 고소도 한 것 같습니다.
하여간 그 일로 인해 한 동안 실리컨 밸리 소프트웨어 엔지니어들의 기피 대상이 되었더랬습니다.

개발자들의 불만을 들어보면 한국 개발자들은 거의 1년 상시 크런치타임하에 있는것 같습니다. 원인이 뭘까요?

프로젝트 계획시 개발 기간을 말도 안되게 짧게 잡기 때문일까요?
그렇다면 누가 무슨 이유로 그런 식의 계획을 잡는걸까요?
갑이 아니면 을이?
고객이 아니면 프로젝트 관리자가?
몰라서 아니면 알고도?
알고도 그렇게 한다면 왜 그렇게 할까요?

프로젝트 말기에 요구사항을 변경하고 비용과 일정에 반영하지 않아서 그럴까요?
그렇다면 누가, 왜 그럴까요?
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by nokarma

트랙백 주소 :: http://nokarma.tistory.com/trackback/10

  1. Subject: 그렇다면... 알맞은 일정이란?

    Tracked from 재원, 민경이네 2008/01/31 20:15  삭제

    트랙백걸은 글을 읽다 보니... 먼저... 일정을 어떻게 산출하는지 궁금하다. 늘 그렇지만, target date부터 산출해서 짜는 것이 일반적인 것 같다. 왜? time to market이니까... 그럼... 여기까지는 가장 중요한 time to market을 위한다고 넘어갈 수 있을 것 같다. time to market을 달성하면서도 이상한 일정이 나오지 않게 하려면? time to market에 맞는 기획이 필...

댓글을 달아 주세요

  1. dd 2008/03/03 16:32  댓글주소  수정/삭제  댓글쓰기

    http://swbae.egloos.com/1718002
    '똑똑하게 일한 대가가 상이 아니라 벌'
    ...조낸 몸으로 구르는게 자랑인 문화가 한축이겠져

    갑이 정치적 이유로 말도 안되는 일정을 잡고 밀어붙이는 일도 있고
    요구사항 변경돼도 비용,일정 그대로 인건 '당연시'되고 있져
    계약관계가 아닌 주종관계의 '갑-을'문화라 갑이 명령하면 을은 걍 기어야지 안그랬다간 찍혀서 두고두고 괴롭힘 당한다능...

    일례로, 명박 이 서울시장 시절 버스 시스템 갈아엎을때
    오픈 한달 전쯤 감리단이 오픈 미뤄야 된다고 감리결과 내놨을때
    무조건 서울시장 취임식에 맞춰서 오픈해야 된다고 감리결과 뒤엎고
    무작정 오픈....결과는 카오스....꾸준히 지속되는 버그....

    대한민국이 원래 이따위임

한국 소프트웨어 업계에 많은 문제가 있는건 확실합니다.
이 글과 차후에 올릴 글들을 통해 구체적인 문제점들을 꺼내어 공론화하고 왜 그런 문제점이 있는지 토론하고, 가능하면 좋은 해결 방안을 찾을수 있었으면 합니다.

첫번째로 거론하고 싶은 문제점은 소프트웨어 개발자와 발주자의 시각 차이입니다.
개발자들은 업무량에 비해 매우 낮은 보상을 받고 있다고 생각하고, 발주자들은 개발자들의 기량에 비해 높은 보상을 하고 있다고 생각합니다.

왜 이런 차이가 존재할까요?

1) 원 발주자측에서 나가는 액수는, 즉 갑이 을에게 지불하는 금액은, 프로젝트의 규모에 비해 대체로 적절한 수준일까요? 아니면 낮은 수준일까요?

2) 한국 개발 프로젝트에 다단계 계약이 성행한다는건 모두 알고 있는것 같습니다. 원 발주자가 지불하는 금액은 대체로 어떤 정도의 비율로 배분이 될까요?

예를 들면, 갑이 순수인건비로 100을 지불했을때, 을, 병, 정 각각의 투입 비용과 보상은 대략 어느 정도일까요?

예) 을: 투입공수: 5man/week, 비용: 10, 청구: 20
     병: 투입공수: 5man/month, 비용: 25, 청구: 30
     정: 투입공수: 10man/month, 비용: 45, 청구: 50

3) 한국의 대부분의 소프트웨어 프로젝트 사업에서는 미국의 같은 형태의 사업과 비교할 때 상상하기 어려울 정도로 높은 비정상적인 접대비가 소모되는 경향이 있는걸로 알고 있습니다.
까놓고 말하자면 (아 .. 이런말 하면 안되는데...), 정기적으로 룸싸롱에 데려가 술 쳐먹이고 52ㅂ시키고, 데려가서 골프쳐주고, 돈 잃어주고, 뒷돈 요구하는 넘 돈 찔러줘야 되고..뭐 이런겁니다.

과연 이런 비용이 전체 비용중 어느 정도 될까요?
요즘 이런거 다 없어졌나요?

예) 을: 20%
     병: 30%
     정: 40%


의견을 듣고 싶습니다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by nokarma

트랙백 주소 :: http://nokarma.tistory.com/trackback/9

댓글을 달아 주세요

  1. kalp 2008/03/01 23:28  댓글주소  수정/삭제  댓글쓰기

    지당하신 말씀~

영어 얘기를 좀 해보겠습니다.
미국 유학을 통해 막장 탈출을 계획하는 사람들은 영어를 공부해야 되는건 당연합니다.
그런데 구체적으로 어떻게 접근해야 될것인가?
이것이 이 글의 주제가 되겠습니다.

첫번째 우선 순위는 토플 영어입니다.
토플 안보는 학교 찾지 못하는한.
시험 점수 올리기 준비 학원으로 따지면 한국이 세계 최강대국이니 이건 별 어려움 없습니다.
공부는 더도 말고 목표 학교 입학 패스할 토플 점수 나올 정도만 합니다.

둘째, 첫번째 글에도 말했듯이 프로그래밍 책 절대로 한글 번역판 읽지 마십시요.
왜냐하면 한글로 번역된 단어로 개념을 가지고 있으면 영어 커뮤니케이션에 전혀 도움이 안됩니다.
그 책값으로 http://safari.informit.com 등록하십시요.
한달에 만원 돈이면 원서 다섯 권씩 볼 수 있습니다.

셋째, 유투브가서 소프트웨어 대가들 프레젠테이션하는 비디오를 찾아서 들으십시요.
하나 찾으면 비슷한 것들끼리 링크가 되어있기 때문에 찾는데 별 어려움은 없습니다.
세상 정말 좋아졌어요.

넷째, 공부 안할때는 미드 보십시요. 당연히 영어로 나오는거.
한글 자막 없는거. 영문자막은 괜찮습니다.
유투브가서 찾아보시고.
없으면 아이튠즈 가면 편당 2천원 정도합니다.

그럼 어떤 미드 보느냐...24 이런거 별 도움 안되고...

첫번째 글에서 시민권자 배우자감 찾아보라고 했습니다. 시민권자라고 다 파란눈에 금발일 필요없습니다. 한국계도 있고, 다른 동양계도 있습니다. 하지만 영어하고 미국 스타일이죠.
미국 스타일로 유머있고 세련되고 이성이 보기에 귀여운 캐릭터가 나오는 드라마를 보면서 배울 필요가 있습니다.

누구냐...바로 이 사나이..

 

The Office에 나오는 Jim입니다.
시즌 4까지 나와있으니 보고 연구하십시요.






2007/12/07 - [분류 전체보기] - 소프트웨어 개발자를 꿈꾸는 초보들을 위한 조언
2007/12/07 - [분류 전체보기] - 소프트웨어 개발자를 꿈꾸는 초보들을 위한 조언 (학교)
2007/12/09 - [분류 전체보기] - 미국 소프트웨어 개발자 생활의 장단점


크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by nokarma

트랙백 주소 :: http://nokarma.tistory.com/trackback/5

  1. Subject: kabbala의 미투데이 - 2008년 2월 3일

    Tracked from 노는 사람 Play In 2008/02/06 22:44  삭제

    요즘 한창 Flickr에 재미 붙였는데, Microsoft로 넘어가면 어떻게 바뀔려나 걱정된다. 오후 11시 33분 Empire State Building Effect: 멀더가 출동해야... 오후 10시 22분 “거액을 투자해 로스쿨 건물을 신축하며 로스쿨 유치를 노렸던 국민대는 로스쿨 인가 불허 판정을 받은뒤 신축 건물을 학생식당으로 사용할 것이라고 밝혔다. 400억 규모로 동양최대의 학생식당을 보유한 샘이다. 400억 규모로 동양최대의 학생식당을..

댓글을 달아 주세요

소프트웨어 업계에서도 프로그램 잘 짜는 사람보다 말 잘하는 사람이 성공합니다.

애플...스티브 워즈니악이 다 만들고 스티브 잡스는 팔러 다닌 사람입니다.
물론 워즈니악도 돈 좀 벌었지만 잡스와 비교할 바 못 됩니다.

오라클 사장 래리 엘리슨은 창업자 5인중 제일 프로그래밍을 못하지만 그나마 말은 잘하니까 영업이나 하라고 맡겨진 덕분에 오늘날 세계에서 두번째로 큰 전문 소프트웨어 회사의 주인이 됐습니다.

따라서...내가 말 재주가 좀 있다고 생각하는 사람은 일찌감치 썰로 먹고 사는 쪽으로 방향을 전환하십시요.

썰 푸는 재주가 없는 불쌍한 개발지망생들은 별 뾰족한 수 없으니 개발자 길로 가야죠?

그래도 미국에서 아직은 소프트웨어 엔지니어들 수입이 건축, 토목같은 다른 분야의 엔지니어 보다 높습니다.
이상한 회사 들어가지 않는 이상 위험물질 근처에 갈 필요도 없고 업무환경 쾌적한 편입니다.

오늘은 유학갈 학교 고르기에 대해서 알아봅시다.

다시 한번 강조하지만 이 글은  B급 소프트웨어 개발 지망생들의 막장 탈출을 위한 조언입니다.
따라서 스탠포드, MIT, 버클리, 일리노이 어바나 샴페인, 카네기 멜론 같은 탑 레벨 컴퓨터 사이언스 학교들은 일단 제낍니다.
이런데 들어갈 학생은 이 글의 타겟 오디언스가 아닙니다.
아이비 리그 사립 다 제낍니다.
스트레스 받고 시름시름하다가 포기할 확률이 높고, 투자 회수 가능성 별로 없습니다.

타겟으로 하는 학교는 주변에 유명 IT 소프트웨어 기업 연구 개발 센터가 있는 만만한 주립대학 입니다.
예를 들면 실리컨 밸리 지역에서 스탠포드 제끼고(너무 비싸고 어렵다), 버클리 제끼고(어렵다) 산호세 캘리포니아 주립 대학 같은 곳입니다.

둘째 교수진을 봐야됩니다.
특정 분야에서 유명한 대가 교수...이런 분들은 논문 쓰고, 박사 학위하는 사람에게나 도움이 되지, 학부, 석사하고 취직을 목표로 하는 B급들에게는 별 도움 안됩니다.

그럼 어떤 교수를 찾아야 되느냐...
위에 말한 주변 연구소에서 테크니컬 리더나 초짜 매니저 정도 하면서 학교에 나와서 강의하는 교수..
이런 사람들이 근무하는 부서 근처에 B급들이 일할 수준의 인턴포지션이 종종 오픈됩니다.

이런 종류의 교수들이 강의하는 클래스를 꼬박꼬박 수강하면서 그 과목 학점 및 그 클래스에서의 나의 이미지를 집중 관리하는데서 인턴의 기회가 생깁니다.

실제 케이스 스터디입니다.

이 분은 한국에서 국문과 졸업했습니다. 스카이 아니구요.
당연히 취직이 잘 안되겠죠?

국내 모기업에서 하는 수개월 IT교육과정 받으십니다.
그 회사 계약직으로 SI프로젝트 뛰시다가.
그래도 정직원이 낫다고 조그만 기업에가서 또 프로젝트 뛰시다가.
당연히 박봉에 뺑이치셨죠.

어찌어찌해서 미국에 오십니다.
커뮤니티 칼리지에서 칼큐러스등 컴퓨터 사이언스 선수 과목 수강하시고.
듣보잡 주립대학 컴퓨터 사이언스 학부 3학년 편입하십니다.
나름대로 학점관리 잘 하셔서 근처 꽤 유명한 글로벌 IT기업 연구원하면서 그 학교에서 강의하는 분 눈에 띕니다. 그 클래스에서 1, 2등 하셨습니다.
4학년 2학기때 3학점짜리 인턴수업 그 회사에서 하시고.
석사 진학 하십니다.
1년차는 그냥 학교 다니시고...
2년차에 또 그 회사에서 인턴하십니다.
인터뷰에 미끌어지는데도 그 강사님 다른 인터뷰 또 주선해 주십니다.
결국 그 강사님 부서에 인턴 자리나서 연봉 5만불 정도 박봉받고 일하십니다.
인턴 거의 2년 정도 하십니다.
어떻게??
학교는 학적 유지를 위한 최소 학점 들으면서..
정직원 자리날때마다 어플라이해서 몇 번 떨어지시다가 결국 붙습니다.
석사 졸업후 소프트웨어 엔지니어 정직원 연봉 8만불 오퍼받으십니다.
애 둘 낳고 키우면서, 인턴하고, 학교다니고, 그런 와중에도 학점 관리 그런대로 잘 했습니다.
원래 한국사람들이 수업시간에는 약해도 시험보는 요령이 좋기때문에...
듣보잡 학교라 똑똑한 애들 많이 없는것도 유리하게 작용합니다.

이 분 20대 후반에 칼큐러스부터 시작해서 갓난 애기 키우면서 학교다녔습니다.
20대 초반이나 그 이전에 와서 공부만 풀타임으로 하면 적어도 이 분보다는 잘해야겠죠?

개발자의 길을 가겠다고 결심한 분들은, 고만고만한 프로그래머들하고 아직 막장을 벗어나지 못한 선배들 모이는 커뮤니티가서 진정한 프로그래머는 어째야 된다느니, 뭐 정도는 할 줄 알아야 된다느니 이런 강아지 풀 뜯어잡수시는 소리하면서 시간 보내지 마시고 하루라도 빨리 미국 진출해서 막장에서 벗어나시기 바랍니다.


2007/12/07 - [분류 전체보기] - 소프트웨어 개발자를 꿈꾸는 초보들을 위한 조언
2007/12/07 - [분류 전체보기] - 소프트웨어 개발자를 꿈꾸는 초보들을 위한 조언 (영어)
2007/12/09 - [분류 전체보기] - 미국 소프트웨어 개발자 생활의 장단점


크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by nokarma

트랙백 주소 :: http://nokarma.tistory.com/trackback/2

댓글을 달아 주세요

  1. 어리버리개발자 2007/12/10 00:23  댓글주소  수정/삭제  댓글쓰기

    쩝 팍팍 와닿는군요.
    아 나이가 몇살만 어릴때 이글을 봤더라도... 흑흑 T.T

  2. BlogIcon 색즉시공 2007/12/10 04:32  댓글주소  수정/삭제  댓글쓰기

    늦은 경우에도 또 그 나름대로 방법이 있긴하죠.

  3. BlogIcon object 2007/12/12 15:00  댓글주소  수정/삭제  댓글쓰기

    정말 감동적인 글이네요...

  4. BlogIcon 색즉시공 2007/12/12 15:44  댓글주소  수정/삭제  댓글쓰기

    님 같은 A급을 위한 조언은 아닙니다.
    열심히 하셔서 구글이나 더 좋은데로 가십시요.
    어도비가 컴퓨터 사이언티스트 페이가 무지 좋은 편이더군요.
    아이X엠은 직원 복지 수준이 완전히 꽝이 돼서...거의 한물 간것같고...

  5. dd 2008/03/11 12:10  댓글주소  수정/삭제  댓글쓰기

    서른 넘은 B급 막장인데 미국가면 한번 더 기회를 잡을 수 있을까요..?

    • BlogIcon nokarma 2008/03/11 12:19  댓글주소  수정/삭제

      기회란게 뭘 의미하는지는 모르겠지만, 소프트웨어 개발 또는 유사 IT직종으로 편안하고, 가늘고, 길게 살 수 있을 확률은 한국보다 매우 높다고 볼 수 있지요.

  6. dd 2008/03/11 17:01  댓글주소  수정/삭제  댓글쓰기

    서른 넘은 B급이다 보니 슬슬 퇴출위기의 막장이라 혹시 건너가면 새로 시작할 기회를 잡을 수 있을까 해서요...

    나이가 좀 마음에 걸리지만 예를 드신분 보니 커뮤니티 칼리지부터 시작하는 방식으로 도전하면 한번 해볼만할것 같기도 하고...
    ( 그분의 경우 학비랑 생활비를 어떻게 해결하셨는지 알수있을까요..? )

    My Job Went to India같은 책 보면 미국도 그리 만만한 상황같지는 않기도 하고 이래저래 고민입니다 ㅠㅠ

    • BlogIcon nokarma 2008/03/12 10:30  댓글주소  수정/삭제

      독신이시면 해볼만하구요.
      컴퓨터사이언스 학위 있으면 커뮤니티 칼리지부터 할 이유 없습니다. 석사 과정부터 하면되구요.

      부양 가족이 딸려있는 경우는 당연히 부담이 되는데, 어차피 결혼하고 유학가서 공부하는 사람들 거의 다 마찬가지 입장입니다.

      위의 케이스는 배우자가 수입이 있는 경우였습니다.

      아웃소싱이 많긴 한데 그래도 한국보다는 훨씬 사정이 좋습니다.

  7. 2008/03/15 15:51  댓글주소  수정/삭제  댓글쓰기

    비밀댓글 입니다

    • BlogIcon nokarma 2008/03/15 17:11  댓글주소  수정/삭제

      주립대 수도 많고, 수준이 천차만별이고, 쉽게 들어갈수 있는곳도 있습니다. 대부분 학교 웹사이트들만 봐도 다 나올텐데, 없는 경우는 학교 Admission담당부서에 직접 문의를 하십시요. 커뮤니케이션할때 한국 스타일로 지나치게 겸손떨 필요없습니다.

프로그램 개발직이 3D업종으로 널리 알려진 지금도 아직 정신 못차리고 소프트웨어 개발을 장래 직업으로 생각하고 있는 어린 후배들에게 먼저 이 바닥을 거친 경험을 기반으로 프랙티컬한 면에서 도움이 될수도 있는 조언을 해볼까 합니다.

이 조언의 타겟 오디언스는 지극히 평범한 정도의 지능 및 재능을 가지고 있는, 쉽게 예를 들면 스카이나와서 네이버에서 오퍼받을 확률보다는 중소기업에 갈 확률, 또는 특별히 스톡받지도 못하고 스타트업에서 일할 가능성이 높은 청춘들로 하겠습니다. 왜냐? 똑똑한 친구들은 이런 조언 안 들어도 다들 알아서 잘 할 테니까...

이 조언이 목표로 하는 위치는 최소한 박봉에 뺑이치고 건강잃고 퇴출되는 개발자 인생은 면해보자 정도로 하겠습니다.

현재 상황에 따라 최적 시나리오가 좀 달라질 수가 있는데, 이 글에서는 아직 대학교 입학 안 한 남자의 경우 최적 시나리오를 생각해보기로 합시다.

군대 끌려가기 전에 미국 유학간다가 첫번째 스텝 되겠습니다.
목표는 고등학교 거쳐 또는 바로 내가 들어갈 수 있는 만만한 주립대학 레벨 컴퓨터 사이언스 학부입니다.

입학에 필요한 준비는 유학원 사이트 통해 알아보시고, 프로그래밍 관련해서...

한글 번역판 프로그래밍 책 읽지마십시요. 프로그래밍 책은 반드시 원서로 보십시요.
혼자서 프로그램 짜보겠다고 시간낭비하지 마십시요. 잘 짜 놓은 프로그램 읽는데 주력하세요.  짜는건 나중에 일할때 하기싫어도 하게됩니다.
JDK 소스코드 읽기를 추천합니다. 왜냐...자바 코드가 읽기가 쉽습니다. Collection framework부터 시작할 것을 권장합니다.
한글판 개발자 커뮤니티 드나들지 말고, 영문 오픈소스 커뮤니티같은데만 다니세요.

고등학교나 학부 입학 시험에 아마도 프로그래밍 문제 안 나올겁니다. 우선 순위는 입학 시험 공부, 다음이 프로그래밍입니다.

학부 시절 중점 관리 항목은 세가지 입니다.
학점, 인턴 (고학년 학부생 인턴 기회 있습니다.), 그리고 시민권자 배우자감 물색...(네,군대 안가기가 목표입니다).

학부를 마치면서 목표는 시민권자와 결혼해서 영주권 취득하기, 또는 H1 취업을 통해 영주권 취득하기 입니다.
첫번째 경로를 통하는 경우는 석사 과정을 마칠것을 권장합니다.

석사 과정중 주요 관리항목은 학점이 아니라 기회가 닿는대로 인턴쉽을 하고 거기서 잘 보이는 일입니다. 네...빨리 취업해서 돈 벌어야됩니다. 하다보니 공부가 너무 좋아서 어쩔줄을 모르겠는데, 어쩌다보니 배우자마저 능력도 있고 그렇게 이해심많은 천사일수가 없더라는 경우에는 박사해 볼 수도 있겠습니다.

욕심을 내려면 한도 끝도 없고, 일단 최소한 뺑이치고..XXXX..신세는 면해보자는 목표에 치중토록 하겠습니다.
컴퓨터 사이언스석사 졸업하고 엔트리 포지션으로 들어가면 요즘 시세로 한 8만불 받는것 같습니다.
한 1, 2년 일하시다 보면 시민권 신청할 수 있는 시기가 될 겁니다.
신청하시고 미국 방위산업 관련 회사로 옮기는 걸 고려해보십시요.
일주일에 36시간 근무, 회사 연금되고 (네 개인 연금 아닙니다.), 고용 비교적 안정되고, 널널합니다.
록히드 마틴, 레이티온, 노드롭 그루먼 따위가 되겠습니다.
이때쯤 되면 뭐가 있는지, 어디가 좋은지 구별할 수 있는 지식을 갖추게 될 겁니다.


2007/12/07 - [분류 전체보기] - 소프트웨어 개발자를 꿈꾸는 초보들을 위한 조언 (학교)
2007/12/07 - [분류 전체보기] - 소프트웨어 개발자를 꿈꾸는 초보들을 위한 조언 (영어)
2007/12/09 - [분류 전체보기] - 미국 소프트웨어 개발자 생활의 장단점

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by nokarma

트랙백 주소 :: http://nokarma.tistory.com/trackback/1

댓글을 달아 주세요

  1. BlogIcon nob 2007/12/07 17:18  댓글주소  수정/삭제  댓글쓰기

    잘봣습니다 ㅎㅎ; 물론 소프트웨어 개발자가 되려는건 아니구요 ㅋㅋ

  2. BlogIcon 색즉시공 2007/12/08 09:21  댓글주소  수정/삭제  댓글쓰기

    소프트웨어 개발자 되고 싶은 사람 보라고 썼는데, 될 생각없다는 사람만 댓글 달아주는군요. 이거 장사 안되네.

  3. BlogIcon 날퍼 2007/12/08 21:20  댓글주소  수정/삭제  댓글쓰기

    이쪽 계통으로 일을 하고픈 학생이지만, 유학이라는 것에 대해 조언을 해주셔서,, 조금 아쉽기도 하네요.

  4. BlogIcon 색즉시공 2007/12/09 03:58  댓글주소  수정/삭제  댓글쓰기

    아쉬운 생각이 드는것이 당연할 수 있지만 현실을 무시할 수 없습니다.

    첫째 이쪽 계통의 모든 새로운 지식은 거의 100% 영어로 만들어지고 유통됩니다.

    둘째 한국에는 극소수의 인터넷 온라인 소프트웨어쪽을 제외하면 제대로 된 소프트웨어 회사가 없는거나 마찬가지인것 같습니다.

    셋째 소수의 상위권을 제외하고 대부분의 업계 종사자들의 처우가 열악합니다.

    마지막으로 이건 특별히 이쪽 업계만 그런건 아니지만 사업 관행이 아주 지저분합니다.

    이 업계로 발을 들여놓고싶은 평범한 초보자들이 위의 문제를 해결하기 위해 개인적으로 할 수 있는일은 거의 없는거나 마찬가지고 유일한 방법은 탈출밖에 없습니다.

  5. BlogIcon kenu 2007/12/19 01:53  댓글주소  수정/삭제  댓글쓰기

    한글판 개발자 커뮤니티 닫는 게 도와주는 걸까? 라고 잠깐 생각해봤습니다.

  6. BlogIcon nokarma 2007/12/19 14:05  댓글주소  수정/삭제  댓글쓰기

    탈출하고 싶다고 다 탈출할수 있는것도 아니고, 나름대로 그게 도움이 되는 사람들도 있겠죠.