Iyeaaa
22
2022-06-23 16:53:14 작성 2022-06-23 16:54:25 수정됨
7
1461

지금 하는 공부가 맞나 싶습니다.


20살 1학년입니다. 나중에 swift로 ios 취업하려고 학교공부하고 병행하면서

어차피 취업할 때 봐야할 코딩테스트 준비를 swift로 하고 있습니다.(sw마에스트로 준비도 하고있고요) (학교 공부는 거의 다 A 이상 나오게 하고있습니다)

근데 이번에 애플이 발표하기를 PWA 기능이 생기면서 네이티브 앱을 만드는 경우는 적어질거고 이제 자바스크립트같은

언어로 사이트 바로가기를 push해 버릴거라고 하더군요.


이런일이 겹처서인지 swift 로 알고리즘 푸는 내내 queue, dequeue, heap같은거 직접 구현할려니 짜증도 나고

파이썬 보면 괜히 부럽고... 근데또 몇몇 회사의 채용공고에서는 ios분야 취업은 java나 swift만 테스트를 볼수 있게 언어 제한을 걸어뒀더군요.


글이 점점 난잡해지는데 제 생각도 난잡해서인가 봅니다. 조언 부탁드립니다.

1
  • 댓글 7

  • allinux
    2k
    2022-06-23 16:58:37

    20살...swift, ios 요? 음 10년뒤를 생각해보세요.

    이 분야는 정말 빠르게 변합니다. 

    학부 수업에 충실하시기 바랍니다.

    기본 전산 과목들에 충실하라는 이야깁니다. 그러면 어떤 신기술이든 빠르게 습득 할 수 있습니다.

    지금 시대는 신기술 습득을 빨리 익혀 사용하겠다는 마인드가 맞다고 봅니다.

  • 운체조교
    2k
    2022-06-23 17:12:10

    일단 언어 하나를 잘 해놓는 것은 필요합니다. Swift로 끝까지 가보세요. 다른 언어들을 배우는 것도 매우 수월해 지실겁니다.

    다만, 취업할 때 Swift 만으로 취업을 하게 될거라고 생각하지는 않으시는게 낫습니다.

    1) 지금 최신으로 나오는 기술을 공부하셔도, 어차피 취업 하실 시점의 4-6년 후에는 구닥다리입니다. 크게 바뀔겁니다.

    2) 취업까지 하신다고 하더라도, 개발자로서 커리어를 길게 가실 거라면 진짜 실력을 보여줘야 하는 때는 5-10년차, 즉 지금부터 10년에서 15년 이후입니다. 이렇게 변화가 빠른 IT 업계를 생각해보면, 특정 언어와 플랫폼을 학생 때 정해 놓는 것은 높은 확률의 배팅이 아닙니다.

    제가 프로그래밍을 시작한 시점 (2006년) 만 해도 iOS 라는 것 자체가 없었습니다. 지금은 ActiveX 프로그래머를 뽑지 않죠. iOS도 언제든 ActiveX처럼 누구도 안하는 플랫폼이 될 수 있고, 본인이 생각 못해본 새로운 플랫폼이 나오는 것이 결코 어려운 일이 아닙니다. 여긴 엄청나게 빨리 변합니다.

    3) 결정적으로, 아마추어 수준에서 언어를 잘 다뤄도 현업에서 다루는 것과는 아주 큰 차이가 납니다. 즉, 학생 때 Swift를 잘해도 웬만큼 영향력 있는 Product 을 내놓으시지 않은 이상 뽑는 입장에서는 신입 프로그래머입니다. 그냥 C나 Java 잘하는 친구가 3개월 열심히 하면 회사에서 기대하는 정도의 Swift 실력을 갖추게 될거라, 언어 하나에 몰빵하는 것은 현명한 선택이 아닙니다.


    조언을 드리면,

    1) 좀 더 멀리 보시고, <실용주의 프로그래머> 라는 책을 꼭 읽어보세요. 이 책에서 일부 나오는 내용을 공유하면, 주력 언어는 하나 두되, 언어를 1년에 하나씩 새로 배우는 것을 추천합니다. 현업에서 쓸리가 없는 언어라도 언어적으로 잘 만들어져 있다면 언젠가 지금 쓰는 주력 언어에도 넘어오게 되기도 하거든요.

    2) 컴퓨터과학의 기초를 깊게 공부하세요. 특히 시스템을 공부하다보면 C 언어 (혹은 최근에는 Rust 정도?) 가 아니면 공부할 수 없는 영역을 마주하게 됩니다. 언어 그 자체는 금방 바뀌고 다시 배울 수 있지만 (심지어 Swift 자체도 제 입장에선 "금방 바뀐" 언어입니다. 제 시절엔 Objective-C로 코딩을 했기 때문에...) 컴퓨터과학은 나름 50-60년 이상 선방하고 있는 지식입니다.

    3) 선형대수/통계/수치해석/신호처리 등의 기초 수학 과목을 열심히 들어 놓으세요. 앞으로 소프트웨어 엔지니어의 역할이 어떻게 바뀔지 모르고, 특히 인공지능은 최소한 글쓴이 분이 취직하는 시점에는 갖다 쓸줄이라도 아셔야 할겁니다. 그때 수식을 만들지는 못해도 이해는 하려면 위의 과목들은 필수적으로 잘 이해해 놓아야 합니다.

    4) 오픈소스에 참여해 보세요. 한국에서도 오픈소스 아카데미 같은 것들이 잘 운영 되고 있고, 국제적으로는 Google Summer of Code 라는 프로그램도 있습니다.


    잔소리가 길었는데, 글쓴 분은 충분히 포텐이 있습니다. 다만, 제가 본 많은 포텐 넘치는 개발자 지망 학생들 중 다수가 시야가 좁아서 나쁜 선택을 하게 되는 상황에 빠지더군요. (특히 개발은 일단 만들면 굴러는 가니, 그 수준에서 머무는 사람이 많았습니다)

    꼭 기초를 잘 다지시고 다양한 사람들을 만나면서 시야를 넓혀보세요. 업계에서 멋진 모습으로 만나길 기대합니다.

  • laggardstudy
    116
    2022-06-23 17:14:03

    저도 같은 고민을 했던 적이 있습니다 ㅎㅎ. 그때는 얘기해줄 사람도 없었고 될대로 되라~ 하고 지나쳤던거 같아요.

    지나오고 나서 제 경험을 토대로 말씀드려 보겠습니다.


    미래를 대비하는 것은 어렵습니다. 거의 불가능에 가깝다고 생각해요.

    취업할 때, 현재는 이러하니 미리 대비를 해두자! 라고 접근하면 어느샌가 어.. 이게 맞나? 라는 생각이 듭니다.

    작성자 분은 ios swift 준비를 하고 계시다고 하네요. 저때는 objective c 로 ios 개발을 했었습니다. 또한 저도 그 길로 가려고 했었구요.

    그러나 졸업할때쯤 되니 변화가 생겼고, swift가 강세가 되었습니다.

    정말 빠르게 변하더라구요..


    그러나 변하지 않는 것이 있습니다. 학부생때 알았더라면 더 좋았을 내용이에요.

    윗분도 말씀해주셨지만, 학부 수업에서 이 부분들을 알려줍니다. 기본은 변하지 않아요


    추후에 신입으로 들어갈때, 난 이런 경력이 있다!! 는 말이안되죠?? 경력있는 신입이라니.. 그것보단 기본 소양이 되어있으니 무엇을 배우더라도 잘 적응할 것이란걸 증명하는게 맞다고 봅니다.


    그리고 계속해서 it트렌드를 체크해주세요. 거기에 맞춰 현재 자신을 조율하는겁니다. 


    요약하자면

    1.미래를 준비하긴 어렵다

    2.기본기를 쌓자

    3.졸업하기 전 1~2년 트렌드에 맞춰 역량을 쌓자


    도움이 되셨다면 좋겠네요

  • 장독깨기
    5k
    2022-06-23 17:47:21

    이제 1학년이면 앞날이 구만리 인데요, ㅎ

    벌써부터 너무 실용적으로 접근할 필요 없습니다.

    사실 어떤 언어로 하더라도 크게 상관 없긴 합니다만,

    굳이 따지자면 C++ 로 하는게 제일 좋을 거 같습니다.

    C++ 잘 익혀두면 다른 언어는 정말 금방 금방 하거든요.


  • Iyeaaa
    22
    2022-06-23 18:10:36

    다들 정말 감사합니다! 일단은 학교 공부에 먼저 충실해야겠네요.

    너무 급하게 하지 않고 기본에 집중하려고 합니다. 감사합니다!

  • MADELITE
    3k
    2022-06-23 20:57:42

    위에서 좋은 얘기를 많이 해주셨으니 전 다른 얘기를 좀 해보면 학업 외적인 경험도 많이 쌓아보세요.
    학업 외적으로도 하고 싶은 일을 많이 해보세요.
    취업하고 나서 하면 되는 거 아니야? 라고 생각하실 수도 있지만
    지금 쌓는 경험과 취업 이후 쌓는 경험이 많이 다를 거에요.


  • mirheeoj
    13k
    2022-06-24 05:48:26

    저라면 개인 프로젝트 앱개발은 스위프트로, 앱 운영에 필요한 서비스구현 및 학교 알고리즘 공부는 자바로 할 것 같고 이외에는 학과 및 영어공부에 집중할 듯 합니다. 

  • 로그인을 하시면 댓글을 등록할 수 있습니다.