프로그래머가 되려면...?

넋두리에서 뉴 정현아빠 님에 의해 2009-04-01 개설되었습니다.

  1. Offline

    뉴 정현아빠 돈없는 회원

    글 수:
    1,872
    받은 Like 수:
    867
    트로피 포인트:
    113


    저희 아이가 컴퓨터 프로그램 만드는 엔지니어가 되고 싶다고 합니다..
    저는 컴퓨터 구입하는데만 신경을 쓰는 사람이라서..... 뭐라고 답변을 못해주겠네요..
    어떻게 하면 구글이나 애플 같은 데서 컴퓨터 엔지니어가 될 수 있나요?
    어려서부터 컴퓨터나 그와 관련된 공부를 해야 하나요? 아니면 대학에 가서 하면 되나요?

    혹시 조언을 주실 수 있으면 감사하겠슴다.:-!
  2. Offline

    humdrum 회원

    글 수:
    223
    받은 Like 수:
    11
    트로피 포인트:
    18
    어려서부터 관심을 가지고 IT분야에 비상한 재능을 보인다면 모를까 일반적으로는 대학에서 컴퓨터 관련 학과를 졸업하고 취업하는 것이겠지요. 애플이나 구글은 전세계 프로그래머가 관심을 가지는 회사다 보니 학위나 경력을 많이 보는 편으로 알고 있습니다. 대기업 아닙니까? ^^;

    애플의 job opportunity 의 일부를 보시는 것도 도움이 되실 것 같네요.

    Cocoa engineer를 구하는 경우 입니다.

    Education and experience:

    - BS in computer science or equivalent.
    - Strong object oriented programming and design skills.
    - In-depth development experience with Cocoa or Cocoa Touch, or at least one of Win32, .NET, Java, Macintosh Toolbox/Carbon, or NextStep/OpenStep.
    - Excellent problem solving and critical thinking skills.
    - Excellent verbal and written communication skills.
    - Ability to work in a group.
    - Familiarity with Unix.

    Additional success factors:

    - Knowledge of Objective-C.
    - Master's degree.
    - Industry experience developing and shipping products.

    아래는 구글 코리아에서 인턴을 구하는데 내용입니다

    구글은 대규모 분산 파일시스템 구축, 수십억개 이상의 웹페이지들을 대상으로 하는 크롤/인덱싱 소프트웨어 디자인 및 개선, 기계학습 기법들을 적용한 데이터의 상호 연 관성 학습 등의 컴퓨터과학 분야의 흥미로운 문제들을 해결할 수 있는 기회를 제공합니다.

    Requirements:
    컴퓨터과학 관련 전공자 (석사 또는 박사 학위 우대)
    시스템 소프트웨어 또는 알고리즘 개발 경험자
    뛰어난 구현 기술 (C/ C++, Java 또는 Python) 보유자
    UNIX/Linux환경에 대한 충분한 지식 보유자
    분산시스템 또는 머신 러닝 관련 업무 경험자 우대
    하나아빠 님과 정현아빠 님이 이 글을 호평하셨습니다.
  3. Offline

    고드름 유령회원

    글 수:
    447
    받은 Like 수:
    362
    트로피 포인트:
    63
    직업:
    프로그래머
    거주:
    서울
    홈페이지:
    저도 프로그래머 라는 직업을 가진 사람으로써 답글을 달아봅니다.

    어릴적부터라는 게 정확하게 어느 시점인지 정답은 없는 것 같습니다만
    제 경우는 초등학교5학년부터 프로그래밍을 공부하기 시작했습니다.
    물론 고등학교때는 학교 수업 때문에 학원을 다니지는 못했습니다만,
    그래도 집에 있는 XT(8086)으로 BASIC 언어 코딩을 했었습니다.

    프로그래밍이라는 것도 조기학습(?)이 도움이 된다고 생각합니다.
    어차피 컴퓨터 언어도 사람이 만든 거고, 어느 정도 논리적인 사고와 그 패턴이 있기 때문에
    대학에서 프로그래밍 과목을 들을 때 훨씬 도움이 많이 됐습니다.

    제 경우는 Computer Science (전산학) 전공이 아니라,
    Electronic Engineering (전자공학) 전공으로 들어가서 약간 차이가 있습니다만,
    컴퓨터 엔지니어의 기본적인 소양은 논리적인 사고와 수학(Math.) 정도 일겁니다.

    하지만 아이가 정말 좋아서 공부를 즐기면서 할 수 있으면 좋겠지만,
    그렇지 않다면 이쪽 공부나 일(직업)이 좀 힘들수도 있습니다. :-/

    ... 그리고 애플이나 구글이 목표라시면 말씀하신 학벌(?)이 어느정도 되야 할겁니다
    그럴려면 고교과정에서도 힘들꺼고 좋은 대학도 가야하고... (교육현실이 좀 답답하지만...)
    특히 애플은 개발자로 들어가려면 (국내 개발자가 없기때문에) 미국에서 학교를 다녀야 할겁니다.
    그리고 구글의 경우는 국내 연구소에 요즘에는 신입을 뽑는지는 모르겠지만,
    국내 대기업 연구소나 비슷할 것 같습니다. 석.박사 정도는 되어야 쉽게 들어갈 겁니다 :)

    오히려 국내 대기업들은 실력보다 학벌을 좀 더 인정하는 분위기입니다.
    그래서 대부분 실력자(?)들은 게임회사나, 벤처에 다니고 있을 겁니다 ㅎㅎ
    뭐 할 얘기는 많지만 정리가 잘 안되네요... ㅋ 죄송합니다

    언제 기회가 된다면 오프모임에서 한 번 뵙는 것도 좋을 듯...
    예전에 중학생 컴퓨터 과외도 해봤지만, 아이들에게 길을 보여주는 게 쉬운 일이 아니더군요!!
    참고하세요~
    하나아빠 님과 정현아빠 님이 이 글을 호평하셨습니다.
  4. Offline

    뉴 정현아빠 돈없는 회원

    글 수:
    1,872
    받은 Like 수:
    867
    트로피 포인트:
    113
    좋은 말씀들.. 참 감사합니다. 많은 참고가 됐답니다.
    다음에 오프모임에서 뵈면 또 좋은 이야기 들을 수 있을 것 같네요. 감사합니다.
    저희 아이는 이제 1학년인데.. 자기는 크면 게임 디자이너가 된다고 종종 말합니다...
    자기는 게임이 너무 좋다고 하네요 ㅋㅋㅋ
    저는 자기가 좋아하는거 있으면 아무거나 하도록 도와주려고 합니다.
    물론 인성교육이나 체력관리가 우선이고요..
  5. Offline

    골빈해커 Lounge Affiliated

    글 수:
    737
    받은 Like 수:
    299
    트로피 포인트:
    63
    홈페이지:
    딱히 훌륭한 프로그래머도 아니고 지금은 많이 하지도 않지만,

    저도 국민학교때부터 해서 지금까지 20년 넘게 프로그래밍에 관심을 가지고 살았던 경험을 말씀드려보자면..


    1. 영어공부

    2. 수학공부

    3. 무엇이든 분해/분석해보고자 하는 습관

    4. 집중력과 끈기

    5. 잡다한 취미

    6. 좋은 대학 (MIT, 스탠포드.. 국내 대학 제외)


    정도 순으로 중요한 것 같고요..

    프로그래밍 스킬을 배우는 것 자체는 그리 중요한 것은 아닌 것 같습니다.

    프로그래밍 스킬은 그냥 망치질 배우는거랑 똑같다고 생각하거든요.

    물론, 어릴 때 부터 프로그래밍 스킬을 조금씩 배우는 것도 필요하긴 한데요.

    그것과 함께 전자 기기들에 대한 기본적인 지식부터 쌓아나가게 하시는 것이 좋을 것 같습니다.

    그래야 나중에 제대로 된 프로그래머가 될 수 있을겁니다.

    그리고 잡다한 취미를 5번째정도에 넣었는데, 위에 있는 순서는 머 하나 중요하지 않은게 없다고 개인적으로는 생각하거든요.

    잡다한 지식을 많이 쌓는 것도 프로그래밍에 도움이 됩니다. 다양한 방식으로 알고리즘을 생각할 수 있게 해 주거든요.



    ...잘 알지도 못하면서 너무 주저리주저리 길었네요..^^;
    하나아빠 님과 정현아빠 님이 이 글을 호평하셨습니다.
  6. Offline

    littlehj 적극회원

    글 수:
    102
    받은 Like 수:
    87
    트로피 포인트:
    28
    직업:
    Programming, iLife
    거주:
    Seoul
    개발자가 되는 길은 일반 직업을 가질려고 노력하는 것과 다르지 않다고 생각됩니다.
    지금부터 개발자가 될려면 이렇게 저렇게 하라고 이야기 해주는 것보다는 좋아하는 것과 잘하기 위한 노력을 구분해주고 자신이 꿈꾸는 내용들이 정말 자기와 잘 맞는건지를 스스로 느끼게끔 해주는 게 더 좋을 듯 합니다.
    사실 개발자라고 해서 특별한 직업은 아니지만 개발자 입장에서 구글이나 애플같은 곳에서 일 하는 것은 멋지게 보입니다. 좀 더 말하면 멋지게 보일 뿐이지요.
    부모 입장에서 애들에게 개발자가 되는 길을 알려주는 방법이라면 비교적 간단한 곳에 답이 있다고 생각됩니다.
    예를 들자면 학교 다닐 때 배우는 수학같은 경우 집합, 행렬, 수열같은 것들이 어디서 쓰이는지를 부모가 알려주면 애들의 상상력은 무한대로 커질 것입니다.
    벌써부터 랭귀지에 대한 생각부터 하는 것 보다는 소위 말하는 기본 지식들인 것들을 통해서 배운 내용들이 실제 생활에서 어떻게 사용되는지를 알려주는 게 애들에게는 더 잘 어울릴 것이고 상상못한 일이 벌어질 수 있으리라 생각됩니다.
    끈기, 취미 모두 좋은 말이지만 생각자체가 다르게 되면 이러한 것들은 그냥 따라오는 부산물이 아닐까 생각됩니다.
    하나아빠 님, seyo 님, tiens 님 그리고 2명의 다른 분들이 이 글을 호평하셨습니다.
  7. Offline

    성욱아빠 Lounge Affiliated

    글 수:
    8,525
    받은 Like 수:
    1,080
    트로피 포인트:
    113
    직업:
    Stupid Mac-Addict
    거주:
    Planet Earth
    홈페이지:
    소프트웨어 개발자들께 진심으로 경의를 표하는 바입니다. ICT가 무차별적인 발전을 거듭하면서 어느새 20년 전의 계산능력의 100만배가 늘어나면서 세상에 엄청난 변화를 가져왔고 이젠 컴퓨터가 단순히 계산능력뿐만아니라 통신능력이 더욱더 강조되는 세상에서는 더더욱 그렇죠...^^

    세상을 바꾸는 분들이죠... 몇년전 읽었던 J.M. Roberts의 말이 생각이 납니다...^^ Man, the change maker...

    진심으로 경의를 표합니다...^^)bbbb
  8. Offline

    flama Consultant

    글 수:
    319
    받은 Like 수:
    47
    트로피 포인트:
    28
    직업:
    Consultant
    거주:
    Seoul, Korea
    안녕하세요? 불꽃지환君입니다.

    저도 물론 그닥 절세고수는 아닙니다만... 업계에 몸담고 있다보니 한말씀 드려보렵니다.
    소프트웨어 업계 바깥에 있는 분들, 혹은 그 안에 있어도 그리 경력이 오래되지 않은 분들은 컴퓨터 프로그램 관련하여 일을 한다고 하면 거의 대부분 "개발자"라는 보통명사를 떠올리기 마련입니다.

    그러나, 소프트웨어 업계에서 몸을 담고 있으면서 하는 일의 종류는 세상에 나와 있는 소프트웨어의 종류만큼이나 다양합니다. 실제로 소프트웨어 업계의 내부를 살펴보면 - 지원팀이나 회사/프로젝트 관리인력을 제외하고서도 - 아주 많은 종류의 "역할"이 존재합니다.

    예를 들어, 대규모의 엔터프라이즈급 시스템에 대해서는 회사에 따라 다르기는 해도,
    • 비즈니스시스템 분석
    • 아키텍처 정의
    • 정보시스템 설계
    • 개발
    • 테스트
    • 이행
    • 운영 및 유지보수
    등이 가장 러프하게 구분한 것일테고,

    단품성 솔루션 또는 패키지를 개발할 경우에도
    • 솔루션 기획
    • 솔루션 기능/비기능 요구사항 분석
    • 솔루션 설계
    • 솔루션 개발 및 유지보수
    • 솔루션 패키징
    처럼 다양하게 구분할 수 있습니다.

    또한, 위에서 말씀드린 것들도 그 내부를 살펴보면 좀더 다양하게 세분화시킬 수 있습니다.
    예를 들어, "아키텍처 정의"라는 것도 비즈니스아키텍트, 소프트웨어아키텍트, 데이터아키텍트, 테크니컬아키텍트처럼 다양하게 구분할 수 있습니다.
    지금 "개발자"가 되고 싶다고 생각을 하고, 그것이 딱 적성에 맞는다고하여도 실제 일을 하다가 보면 다른 것들이 보다 체질에 맞고, 그쪽으로 옮겨가기도 합니다.


    더불어서, 소프트웨어업계의 생활은 물론 그 업종이 주는 매력과 재미도 상당하지만, 반대로 정신적 고달픔과 육체적 피로가 의외로 상당한 것이 현실입니다. "납기는 생명이요, 품질은 자존심이다"라는 오랜 어구에서도 알 수 있듯이, 일단 납기는 반드시 지켜야 하는 것이기에 전체 공정기간 중 납기에 가까워지는 대략 25% 이상은 거의 매일 하얀 밤을 보내며 월화수목금금금의 생활이 다반사입니다.
    더군다나 (적어도, 그리고 불행히도) 우리나라에서는 개발자들의 소위 "최대 활동나이"가 다른 나라에 비해 그리 많지 않은 편입니다. 오죽하면, "개발하다가 좀 지나면 프로젝트 관리"하는 것이 당연하게 여겨지는 분위기까지 생기겠습니까... :-[

    너무 비관적으로 말씀드리긴 했지만, 그나마 최근에 다행인 것은 우리도 언젠가는 다른 선진국처럼 갈 것으로 믿(고 싶을 뿐이)고, 그렇다면 "고급인력"으로 대접 받으면서 보다 "사람답게" 살 수 있는 날이 오리라는 기대치가 조금씩이나마 높아지고 있다는 것입니다. 게다가 실제로도 제가 처음 이 업계에 들어왔을 때에 비하면, 지금은 정말 많은 것이 "긍정적인 방향"으로 변하고 있는 느낌입니다.


    소프트웨어업계에서 일을 하고 싶다고, 그리고 일단 "개발" 일을 하고 싶다고 해서, (위에서 몇몇 분이 조언 주신 것과 마찬가지로) 아주 어릴 때 부터 "프로그래밍 언어"를 공부할 필요는 없다는 것에는 저도 동의합니다.
    Java니, Cocoa니, C#이니 하는 것들은 10년 전에는 존재하지 않았거나 그 비중이 미미하던 것이고, 그 때에 주류를 이루었던 것들 또한 더 오래전 십수년 전에는 별다른 대중성을 확보하지 못했던 것들이 많습니다. 지금 어떤 언어를 공부한다는 것은 "프로그래밍에 대한 컨셉"을 잡는 데에는 도움이 되겠지만, 실제로 특정 기술에 대한 스킬을 얻고, 그에 바탕을 둔 직업을 얻는 데에는 그리 큰 장점이 없을 듯 합니다.
    더군다나, 해당 기술들은 말 그대로 기술이고, 스킬이기때문에, 그런 것들을 꿰뚫고 있는 원리를 이해하고 있다면 그 다음 것들을 배우고 익혀서 활용하는 데에는 큰 어려움이 없습니다.

    그 보다는 위에서 다른분들께서 언급하신 것처럼, 보다 근본적이고 기초적인 것에 충실할 필요가 있습니다.
    제가 생각하는 중요한 것들은 다음과 같습니다.
    1. 논리적인 사고
    2. 분석적인 사고
    3. 창의적인 사고
    4. 영어 의사소통 능력 (적어도 영어 독해 능력은 필수적임)
    5. 수학적 알고리즘 이해 및 적용 능력
    6. 한번 잡으면 끝까지 물고 늘어지며 끝장을 보겠다는 자세와 실행력
    7. 집중력과 끈기

    개인프리랜서가 아닌 기업체에서 일하는 인력이라할지라도, (설령 그 기업체가 대기업이고 설상가상 보수적인 곳이라도) 논리적, 분석적, 창의적인 사고는 반드시 필요한 사항입니다. 위에서 지시받는 것을 수행하는 업무형태라 하더라도 이러한 논리력/분석력/창의력이 있는 사람과 없는 사람의 결과물은 상당한 차이가 나고, 그것이 결국 그 사람의 향후 진로에 큰 영향을 주게 됩니다.


    마지막으로, 학교에 대해서 말씀드리면...
    제 경험으로 말씀드리면, 저는 전산 전공을 하지 않았고, 해외에서 학교를 나오지도 않았습니다.
    비록 하는 일이 프로젝트 리더 겸 소프트웨어 아키텍트로서 담당하고 있는 어플리케이션에 대한 개발 리딩 및 아키텍처 정의를 하고는 있지만, 학부는 국내 대학에서 경영학과를 나왔고, 지금은 (요즈음 말이 많은) 금융공학쪽으로 석사 졸업학기입니다. 앞서 "골빈해커"님께서 말씀해 주신 "잡다한 지식" 정도가 되겠군요. :->
    (다행인지 불행인지) 최근의 국내 소프트웨어 업계 채용 경향이 전산 및 관련 전공자를 많이 우대하는 경향이 있는데, 그게 실제로 일을 할 때에는 (거꾸로 불행인지 다행인지) 엄청난 차이를 가져다 주고 있지는 않은 듯 합니다. 개인적인 노력이 따르기만 한다면요.
    어릴적 동네 컴퓨터 학원에서 매주 토요일 오락시켜주는 게 좋아서 저또한 잠시 베이직을 배우러 다니긴 했지만, "컴퓨터 자체"를 "대학에 진학한 후"에야 가질 수 있었습니다. 어릴 때부터 컴퓨터 신동이 되어서 완전히 그것만 하겠다는 것이 아니라면 굳이 대학에서 전공하기도 전에 시작할 필요는 없다고 생각합니다. 그보다는 위에서 언급한 "기본 - fundamental"에 충실하는 것이 좋다고 생각합니다.

    그리고... 해외 출신들이 다소 우대받는 경향이 있는 것은 100% 부인할 수는 없습니다. 하지만, 그 역시 (결정적인 순간에 벽에 부딪힐지라도) 어느정도 수준까지는 개인적인 노력으로 만회할 수 있다고 생각합니다. 당장 제가 최근에 같은 팀에서 근무했던 사람들만 해도 Stanford Ph.D라던가 Brown MS, UPenn MS 등이었고, (그분들을 폄하하는 것은 아니지만) 그분들 "모두"가 반드시 월등한 실력을 보이지는 않더라고 말할 수 있습니다.


    정말이지 글이 길어졌습니다만...
    제가 드리고 싶은 말씀은 요약하면 다음과 같습니다.
    - 기본에 충실하고 원리를 파악하는 자세와 사고방식이 중요합니다.
    - 일순간의 느낌이 아니라 절실한 것이라면, 그리고 노력한다면 반드시 됩니다.
    - 미래의 훌륭한 "개발자"를 키워내신 자랑스러운 부모님이 되시길 바랍니다.


    긴 글 읽어 주셔서 감사합니다.
    Yongwoon Kim 님, 하나아빠 님, 몽치미 님 그리고 4명의 다른 분들이 이 글을 호평하셨습니다.
  9. Offline

    joonhwan 적극회원

    글 수:
    527
    받은 Like 수:
    39
    트로피 포인트:
    28
    직업:
    Professor, Seoul National University
    거주:
    Seoul, Korea
    홈페이지:
    다른 분들이 좋은 얘기 많이 해주셨는데요,
    저는 애를 키우는 입장에서 좀 현실적인 이야기를 하도록 하겠습니다.
    일단, 프로그래밍을 하려고 하면 논리력을 키워야 한다고 생각합니다.
    예전에 아이들을 위한 프로그래밍 툴 연구프로젝트에 참여한 적이 있었는데요,
    논리적으로 사건의 flow 를 짤 수 있는 능력이 젤 중요하더군요.
    글을 쓸 때도 인과관계를 잘 나열해야 이해가 쉽듯이 프로그래밍도 마찬가지입니다.
    그렇게 짜임새가 만들어졌으면 그걸 새로운 언어로 옮기는 것일 뿐이죠.

    저의 아이는 미국에서 2학년인데, 제가 얼마 전 부터 프로그래밍을 가르치기 시작했습니다.
    프로그래밍 랭귀지를 가르치는 건 아니고, 바로 이야기의 인과관계를 로직으로 옮기는 걸 가르쳐 보고 있습니다.

    이 단계의 아이들은 간단한 덧셈, 뺄셈, 곱셈 정도는 하고,
    글을 쓸 때도 원인, 결과 등에 대한 이해가 있으니 이런 부분을 로직으로 옮기는 건 약간의 도움만 받으면 충분히 이해가 가능합니다.

    이런 목적을 위해서 정말 좋은 툴이 하나 있습니다.
    Scratch 라는 프로그램인데, 언어로써 생각하는 것을 로직으로 보여주며 프로그래밍의 기본 개념을 이해시킬 수 있습니다.
    http://scratch.mit.edu/projects/pandua/422141
    위의 링크는 저희 아이가 처음으로 한번 만들어 본건데요, 이걸 만들기 전에 다음과 같은 이야기를 나누었습니다.
    (물론 이 이야기를 처음부터 다 한건 아니고 차근 차근 하나씩 해보면서 이야기를 추가했습니다)

    먼저 고양이가 있고, 고양이가 오른쪽으로 한번에 10 스텝씩 움직일거야. (move 10 steps)
    그런데 이 고양이가 계속 움직이려면 10 스텝을 계속 반복해야 겠지. (forever)
    그러다가 벽을 만나면 (if touching edge) 방향을 바꿀거야 (change direction)

    마찬가지로 벌레도 왼쪽으로 한번에 10 스텝씩 움직일거야. (move 10 steps)
    그리고 계속 움직이려면 역시 반복해야지 (forever)
    역시 벽을 만나면 (if touching edge) 방향을 바꾸고 (change direction)
    고양이를 만나면 (if touching kitty) 아프다는 소리를 내도록 하자 (play sound ouch)

    (스크린 샵 참조)

    이런 식으로 이야기를 하면서 로직을 짜고, 그걸 프로그래밍 툴로 옮기니까 금새 이해를 하더군요.
    연구에 의하면 아이들이 가장 프로그래밍을 하는데 어려워 하는 부분은 if - else 와 같은 조건문이라고 하더군요.
    하지만 이런 조건문도 이야기를 나누면서 논리적으로 구조를 만들면 아이들도 금새 이해할 거라고 생각합니다.
    이 툴이 좋은 점은 이런 조건문을 비주얼로 보여주기 때문에 어떠한 부분이 반복이 되는 건지, 어떠한 부분이 조건문에 포함되고 포함되지 않는지를 금새 알 수 있습니다.

    제 개인적인 생각에 아이들이 프로그래밍을 할 때 두번째로 어려움을 느끼는 부분은 변수를 만들고 값을 집어넣고 하는 부분일 것 같은데, 그 단계 까지 가지 않더라도 충분히 프로그래밍의 기본 로직은 이해할 수 있다고 생각합니다.
    학교에서 수학을 좀더 배우면 변수에 값을 집어 넣는 것도 배우게 될텐데 그렇게 학교에서 배운 수학을 프로그래밍과 자연스럽게 연결시킨다면 아이들의 이해도 더 빨라질 것 같습니다.

    그리고, 지속적으로 프로그래밍으로 뭘 할 수 있을지를 알려주는 것도 중요할 것 같습니다. 저희 아이가 학교에서 계산기 사용법을 배웠는데, 제가 이 툴로 간단한 계산기를 만들어서 덧셈, 뺄셈을 하는 계산기가 프로그래밍으로 어떻게 만들어지는지를 보여주니 무척 흥미있어 하더군요.

    모든 부모가 프로그래머가 아니니까 이런 부분을 알려주기 위해서 직접 프로그램을 만들어 보여줄 수는 없지요. 하지만, 소프트웨어가 일상생활에서 어떤 곳에 사용되고 뭘 할 수 있는지를, 아이들이 관심있어하는 범주 내에서 소개해 준다면 프로그래밍에 대한 흥미도 늘어날 것으로 생각합니다.

    이미 컴퓨터 없이 일상생활을 한다는 것은 불가능한 시기가 도래했기 때문에, 프로그래밍을 한다는 것은 어떠한 전공, 직업을 택하더라도 꼭 필요한 부분인 것 같습니다. 실제로 최근에는 computer science 전공이 아니더라도 프로그래밍은 기본으로 해야 하는 경우가 많습니다. 프로그래머가 되는 꿈을 유지시켜주시는 것도 중요하겠지만, 꼭 그렇지 않더라도 프로그래밍이 일상생활에 많이 필요할거라는 이야기를 해주시는 것도 좋을 것 같습니다.

    첨부 파일:

    하나아빠 님, seyo 님, 몽치미 님 그리고 8명의 다른 분들이 이 글을 호평하셨습니다.
  10. Offline

    artifact 중진회원

    글 수:
    1,526
    받은 Like 수:
    90
    트로피 포인트:
    48
    홈페이지:
    1학년이고, 게임 디자이너가 희망이라고 하시네요.

    음...
    다른 분들께서 좋은 말씀을 너무 많이 해주셔서 사족을 다는 기분이지만, 저도 나름대로 이렇게 했으면 좋겠다고 하는 것들이 있긴 합니다. 미래의 제 아이한테 "교육"하는 방향도 정립해 나가는 중이구요.

    joonhwan님께서 말씀하신대로, 앞으로는 어느 정도의 개발 능력은 필요하리라고 예상합니다. 사파리나 아이튠즈 같이 멋진 앱은 아니더라도, 본인이 원하는 간단한 도구 정도는, 그것이 웹이건 데스크탑이건 대충 마련해서 써야 될 겁니다. 물론 지금과 같이 "프로그래밍"으로 구현하는 것 말고 더 쉬운 도구가 나올테구요.

    저 역시, 다른 분들이 언급하신대로, 논리력이 가장 중요하다고 생각합니다. 그런 입장에서 보자면, (세간의 분류에 따랐을 때) 이과는 수학과, 문과는 철학과 입니다. "개발실력"이 어느 정도 보편화 되는 시대에서는 단지 개발할 수 있다는 능력만으로는 좀 부족할 듯 하고, 반면 어차피 개발자가 될 것이라면, 이른바 남들이 "배고픈 학문"이라고 하는 수학과 철학을 제대로 공부할 수 있는 "기회"가 될 수 있을 겁니다. (저는 수학자와 철학자는 국가에서 관리하며 생활을 책임져 줘야 한다고 생각하는 입장입니다.) 두 학문이야말로 인간의 "머리통"을 극한으로 굴릴 수 있는 기회가 되지 않을까요? 그런 바탕을 깔면, if-else 구문은 정말 "껌"이고, 알고리즘의 이해나 창안에도 큰 도움이 됩니다. 어차피 논리적인 규칙을 마련해서 반복적인 잡일을 컴퓨터에게 시키는 것이 프로그래밍이니까요.

    아직 1학년이니 좀 무리겠지만, Scratch 같은 툴을 이용하다가 처음 언어로는 Scheme이나 Lisp를 권해드리고 싶습니다. C야말로 기본 중의 기본이지만, 처음부터 그런 "딱딱함"이나 "망치질" 보다는, 좀더 느슨하면서도 "생각대로 하면 되는" 언어를 접하는 것이 나을 겁니다.

    그리고, 전자제품을 취미 삼아 만지작거리면서, 전자공학의 기초도 공부할 수 있는 기회를 마련해주셨으면 합니다. 이 부분은 파인만이 쓴 "파인만의 엉뚱 발랄한 컴퓨터 강의"를 보시면 대충 감이 잡히실 겁니다.

    마지막으로, 게임이니까... 물리에 대한 관심을 갖도록 유도하시는 것도 중요할 겁니다. 게임이야말로 실생활을 최대한 비슷하게 흉내내는 것인데, "실생활이 돌아가는 이치"를 안다면 큰 도움이 될 것입니다. 개인적으로는, 수학에 비추어 봤을때 물리야말로 극도로 응용적인 학문이라고 생각하거든요. "응용프로그램"을 만든다면 아무래도 물리가... :'(

    대충 쓰고 보니, 어째, 학부 때 전자공학을 (하면서 영화, 철학, 미학에 "관심"을), 석사 때 (수학에 가까운) 컴퓨터 사이언스를 (그래서 개발은 못합니다. ㅠ.ㅠ), 앞으로 연구하고픈 것은 물리인... 제 자신이...

    간단하게 말씀드리면, 제 키워드는
    • 수학 혹은 철학
    • 첫 언어로는 Scheme, Lisp
    • 전자공학의 기초
    • 물리
    입니다.

    제가 못한 걸 자식에게 강요하고 싶지는 않지만, 그래도 만일 제 자식이 관심을 보인다면, 저 경로를 좀더 효과적으로 압축해서 인도해주고픈 마음입니다. :-)
    하나아빠 님과 정현아빠 님이 이 글을 호평하셨습니다.
  11. Offline

    styler 주희아빠

    글 수:
    12
    받은 Like 수:
    5
    트로피 포인트:
    0
    직업:
    Voice Over IP, Cisco TelePresence
    거주:
    미국
    미국내 모 기업에서 senior software engineer로 있으며 팀원을 뽑는데 인터뷰를 해보면서 관련된 한말씀 드리겠습니다. 우선 수학에 관심을 가지도록 해주새요. 최소한 대학이나 대학원이전까지 수학적 기초를 잘 다져놓으세요. 그러고 대학이나 대학원에서 수학이나 컴퓨터나 전자쪽을 전공하면 우선 첫단추를 잘 꿔는 시작이 되는것이고요. 그 다음은 오픈소스등으로 코딩공부도 많이 하고 알고리듬등도 잘 공부해 놓도록 해주세요.

    큰회사와 작은회사의 인터뷰 접근방식이 또한 조금 다른 경우가 많습니다. 또한 팀마다 다르고요. 하지만 첫 비경력을 뽑을 때는 저희 같은 경운 우선 그 사람의 가능성을 많이 보게 됩니다. 해박한 지식보단 문제해결능력이나 얼마나 빨리 새로운것을 익힐수 있는 사람인지등을 또한 중요시하게 생각하고 더불어 컴퓨터 지식이나 수학적이고 논리적인 것을 보게 됩니다.

    참고로 본인 적성에 맞는다면 미국에서 대기업에서 소프트웨어 엔지니어 생활 나름대로 보람있고 재미있는 잡인것 같습니다. :-)
    하나아빠 님, rachung 님 그리고 정현아빠 님이 이 글을 호평하셨습니다.
  12. Offline

    뉴 정현아빠 돈없는 회원

    글 수:
    1,872
    받은 Like 수:
    867
    트로피 포인트:
    113
    아이의 책상 위에 이 글타래에 담아주신 소중한 의견과 조언들을 간추려서 붙혀 놓은지 어언듯 3년이 되어갑니다.
    그 시간 동안 아이가 몇 번이나 그 글을 진지하게 읽었는지는 모르겠습니다만,
    자기 나름대로 자기의 미래를 만들어가고 있다는 느낌이 듭니다.

    다시 한번 감사드립니다.
    flama 님, albireo 님 그리고 Xeon - the Brick 님이 이 글을 호평하셨습니다.
  13. Offline

    Digitalcowboy 담덕아빠

    글 수:
    2,603
    받은 Like 수:
    342
    트로피 포인트:
    83
    직업:
    Digital Lifestyle Producer
    거주:
    천당 아래 분당
    홈페이지:
    만일 당신이 배를 만들고 싶다면
    사람들을 불러모아 목재를 가져오게 하고 일을 지시하고 일감을 나눠 주는 등의 일을 하지 말아라.
    대신 그들에게 넓고 끝이 없는 바다에 대한 동경심을 키워 줘라. (잡스처럼...)
    - 생텍쥐베리

    위의 말로도 충분하지만 제가 더 해 드릴 수 있는 두 마디 사족은,
    (http://www.albireo.net/threads/재미있게-읽을만한-알고리즘책-없을까요.13989/page-3#post-60824 에서도 썼지만)
    미래 지식기반이 될 것을 공부하되 응용보다 기초에 충실할 것과
    인문학적 상상력을 논어맹자의 문사철에만 국한짓지는 마시고 인류학, 예술, 역사, 철학으로
    두루 넓게 셥렵할 수 있게 해주시면 좋을 듯 합니다.
    (http://www.albireo.net/threads/애플의-새로운-로고.14013/#post-61048 의 에르고(Ergo)같은 상상력)

    공부를 "너무" 잘하면 인생이 "좁아진다"는 것을
    요즘 새삼 절실히 느낌니다.
    사실 공부를 너무 잘하다보면
    대학과 전공이 본인의 적성이나 꿈과는 상관없이
    부모나 학교장의 기대와 명예욕(?) 때문에
    선택의 폭이 좁아져 외길인생(의사, 판검사 등등)이 되는 게 현실이죠.

    근데 연휴동안
    [IMG]
    를 다시 읽다보니 아래 글에서 그만 프로그래밍과 Product Visionary의 매력에 푹 빠져들게 되더군요.

    실력은 어느 정도 있었지만 경험이 부족하고 무명에 가까웠던 개발자들을 이끌었던 힘은 무엇이었을까?
    자신들이 한 일이 1960년대의 이반 서덜랜드와 더글라스 엥겔바트의 비전,
    1970년대의 제록스 파크와 앨렌 케이의 노력, PC라는 몽상을 꿈꾸었고 실현한 홈브루 클럽의 스티브 워즈니악,
    맥 프로젝트를 시작한 제프 라스킨의 연장선에 있고 자신들은 이 영웅들과 같이 되기를 꿈꾸었다고 회상한다.

    스티브 워즈니악의 표현에 따르면
    ‘혁신의 규칙이 돈이 아니라 내면의 보상에 의해 이끌어지던 매우 좋았던 시절’이었던 것이다.
    하나아빠 님, chaekun 님, yhbyhb 님 그리고 2명의 다른 분들이 이 글을 호평하셨습니다.
  14. Offline

    Digitalcowboy 담덕아빠

    글 수:
    2,603
    받은 Like 수:
    342
    트로피 포인트:
    83
    직업:
    Digital Lifestyle Producer
    거주:
    천당 아래 분당
    홈페이지:
    오늘 본 좋은 글: 프로그래머의 위기지학(爲己之學)

    "위기지학은 위인(人)지학과 대비됩니다.
    위기지학은 자기를 위한 학문을 일컫고, 위인지학은 남을 위한 학문을 일컫습니다.
    약간 과장해 말하자면, 유학의 기본적 태도는 배워서 남주자가 아니라 배워서 나 좋자입니다.

    왜 이런 이야기를 하냐면, 공부를 하거나 학문을 하거나 남에게 보여주고 자랑하려고 하면
    자기 자신의 몸은 공부가 되지 않고 자꾸 겉에만 신경쓰게 된다고 보기 때문입니다.
    주자가 쓴 근사록(近思錄)은 가까운 것들에 대한 생각을 기록한 것이란 뜻이고,
    영어로는 "Reflections on Things at Hand"라고 합니다.
    우주를 논하기에 앞서서 자기 주변부터 돌아보라 그런 뜻이죠.
    위기지학, 쉬운 말 같지만 참으로 어렵고 무서운 말이기도 합니다."

    그 중 최고는...

    출처: http://agile.egloos.com/2807583
  15. Offline

    joonhwan 적극회원

    글 수:
    527
    받은 Like 수:
    39
    트로피 포인트:
    28
    직업:
    Professor, Seoul National University
    거주:
    Seoul, Korea
    홈페이지:
    6시에 퇴근하게 해주면 술집이 살던데요... :)
  16. Offline

    joonhwan 적극회원

    글 수:
    527
    받은 Like 수:
    39
    트로피 포인트:
    28
    직업:
    Professor, Seoul National University
    거주:
    Seoul, Korea
    홈페이지:
    오래전에 쓴 글을 다시 보니 새롭군요. 여전히 생각에 변함은 없구요,
    다만 세월이 흘러서 저희 아이가 Scratch에 더이상 흥미를 느끼지 못하는 나이가 되어 버렸습니다.
    그래서 지난 방학 때 부터 Processing 을 가르치기 시작했는데,
    시각적으로 바로 결과물을 만들어 낼 수 있는 랭귀지라 무척 좋아합니다.
    다만 제가 바빠서 몇번 강의하다 휴강하고 말았습니다... TT
    최근에는 좋은 툴이 더 많이 나와서 아이들에게 프로그래밍을 가르치기가 참 좋아진 것 같네요.
  17. Offline

    자유 유진아빠

    글 수:
    1,691
    받은 Like 수:
    287
    트로피 포인트:
    83
    직업:
    놀고 먹기
    거주:
    분당
    홈페이지:
    이렇게 좋은 글타래를 이제서야 봤네요.

    저로서는 프로그래밍의 F자도 모르고, 컴퓨터의 K자도 모르지만, 아이에게 새로운 것을 제시하는 좋은 방법들을 많이 알려주셔서 큰 도움이 되었습니다. 감사합니다. :-)
    Xeon - the Brick 님께서 호평하셨습니다.

페이지 공유

이 페이지를 찾은 검색어 목록:

  1. 프로그래머가 되려면

    ,
  2. 좋은 개발자가 되려면