후하하핫
1k
2021-10-16 19:56:25
31
9104

네카라쿠배 가고 싶은 (특히 학생) 분들께 드리는 조언


1. 네카라쿠배를 가장 쉽게 가는 방법은 자신의 기준을 올리는 것입니다.


추상적으로 들리시겠지만, 실제가 그렇습니다. 바깥에서 볼 땐 어떨지 몰라도 이 회사들은 학벌을 많이 보는 회사들이 아닙니다. 그럼에도 불구하고 좋은 학교 출신들이 많은 이유는 그 학교들 내에 학생들의 스스로에 대한 기준이 높습니다. 그 분위기에서 열심히 하다보면 그냥 학교 공부만 열심히 해도 저 회사들을 가는거고요.

그럼 그 바깥에 있는 환경에선 어떻게 하냐가 문젠데, 기준을 높일 수 있는 기회에 많이 도전하셔야 합니다. 저의 경우에는 최대한 시야를 넓히기 위해 노력했습니다. 공모전, 오픈소스, 인턴도 많이 하고, linkedin 서치 하다 내가 가고 싶은 직장에 계신 분들에게 메일을 보내서 어떻게 공부하면 좋을지 여쭤보기도 했고요. ACM ICPC 와 같은 대회를 준비하시는 것도 좋고요.

최대한 높은 기준을 가진 사람들을 많이 만나보세요. 자기가 중요하다고 생각했던 것들이 생각보다 별로 중요한게 아닐 수 있어요. (면접 스터디 등) 자기가 되고 싶은 사람들의 시선에서 볼 수 있으면 그 실력이 바로 되진 못해도 언젠간 될 수 있을거에요. 애초에 네카라쿠배 가는 실력이 탈 인간급 실력이어야 가는 것도 아니구요.


2. 최대한 깊히 파라

네카라쿠배 중 한 회사에서 학부 때 인턴을 했었는데, 그때 정직원 면접에 대한 얘길 들었던게 재밌었습니다.

예를 들어서, Java 언어 사용자를 대상으로 면접을 본다고 합시다. Garbage collection이 뭐냐고 물어본다고 하죠. 거기에 대답을 잘 했다면, 그 다음 질문으로는 Garbage collection 알고리즘들에 대해서 알고 있는 것에 대해서 얘기해 달라고 합니다. 보통은 여기에 대답을 잘 못하죠. 예를 들어서 mark-and-sweep 같은 알고리즘을 얘기했다면, mark-and-sweep 알고리즘의 단점이 뭔지를 물어봅니다.

이런식으로, 하나의 토픽에 대해서 잘 모르겠습니다가 나올 때 까지 계속 깊히 들어가는겁니다.

어떤 것이든 깊히 판 사람은 다른 것도 쉽게 배울 수 있기 때문에 이렇게 하는건데, 보통 학부 졸업생 중에 이게 준비 되어 있는 사람이 매우 드뭅니다.

즉, 이것도 해야 할 것 같고 저것도 해야 할 것 같은 불안한 마음이 드시겠지만, 언어나 framework 하나 정해서 끝까지 파보세요. 주변에서 자기가 그걸 제일 잘 아는 사람이 되고, 시중에 나와 있는 2차 자료들 중에 자기가 못 본 게 없을 때까지 계속 파세요. 깊게 파면 다른걸 배우는데 아주 적은 시간만 걸립니다. 포트폴리오는 시간만 들이면 누구나 만들지만, 이런 기술적 깊이는 아무나 만들 수 없어요.


3. 기본을 튼튼히

네카라쿠배가 문화가 다 다를진 모르겠는데, 최소한 제가 인턴 했던 곳에선 신입이 학부 때 쓰던 언어나 framework 같은 곳은 크게 보진 않았습니다. 학부 수업에서 다루는 내용 잘 숙지하고 있는지, 협업을 하는데 문제가 없는지가 더 중요하죠. 항상 프로젝트는 바뀌고 언어들도 새로 나오니까요.

역시 기본은 학교 수업입니다. 학교 수업 열심히 들으시고, 슬라이드나 수업만 보고 끝내지 마시고 꼭! 교과서를 읽어보세요. 문제를 다 안풀어봐도 되니, 교과서를 열심히 읽고 문제를 보면서 생각을 깊히 해보세요.


4. “세상에 쥐톨만큼의 영향이라도” 주는 프로젝트를 하세요.


”내가 ~언어 할 줄 압니다” 에 대해서는 현업자들은 학생들의 말을 믿지 않습니다. 실제로 서비스를 해서 고객들을 만나봤냐의 여부가 아주 큰 차이를 가지기 때문인데요,

이런 의미에서 프로젝트를 하실 때 포폴용으로 하시는건 임팩트가 작을 수 밖에 없습니다. 세상에 쥐톨만한 영향이라도 주는, 고객이 있는 서비스를 만들어 보세요. 누구도 이 경험을 무시하지 못할거에요.


5. 마치며


네카라쿠배는 (최소한 이제는) 대기업이고, 대기업에선 엄청난 고수를 뽑는게 아니라 톱니바퀴에 넣어서 문제가 되지 않을 사람들을 뽑을 수 밖에 없습니다. 많이 뽑아야 하니까요.

그렇기 때문에 네카라쿠배에 가고 싶으시다면, 네카라쿠배에 간게 인생에서 가장 큰 자랑이 되면 안됩니다. 그보다 더 높은 기준을 갖고 가셔야 그 다음 커리어가 성립합니다. 이 허들은 전체 개발자 일생에서 시작에 불과하니까요.

좋은 개발자들이 업계에 많이 들어왔으면 좋겠다는 마음에서 긴 글을 남기게 되었는데요, 다들 화이팅입니다.

63
71
  • 댓글 31

  • hoon Cli
    45
    2021-10-16 20:09:54

    공부하는데 있어서 참고가 되는 글 감사합니다.


    위의 예시는 얼마전에 공고나왔던 초록회사같네요 ㅎㅎ

  • ReturnNull
    2021-10-16 20:47:32 작성 2021-10-16 20:50:41 수정됨

    정말 맞말인데 '네카라쿠배'라는 단어를 빼고 '연봉 4천 이상 주는 좋은 기업' 바꾸면 완벽할 것 같습니다. 

    '네카라쿠배'는 사실 'SKY 가는 비법'같은 이야기가 되어버려서....-_-

    사실 학생신분에서 그냥 등록금을 알바 뛰어서 버는 학생들 입장에서는 사실 네카라쿠배는 불가능...



    -14
  • 후하하핫
    1k
    2021-10-16 21:11:01

    @윌리양: 절대 그렇지 않다는 얘길 하고 싶었습니다. 네카라쿠배를 신화적 존재들이 가는게 절대 아닙니다. 저부터도, 또 제 주변에서도 집안 어렵고 알바 뛰어가면서 공부해서 간 친구 후배들 많습니다. 또한 최근에 국가근로장학금으로 교내 입주기업에서 일하면서 벌 수도 있고요. 방법은 많습니다.

    핵심적인 문제는 시야가 넓지 않은 이유로 시간 낭비를 한다는겁니다. 쓸데없이 교양학점 높히려고 수업을 이상하게 듣는다거나, 도움도 안되는 챌린저스 같은걸 한다던지, 괜히 보여주기 위한 포폴 만드는 걸 하는겁니다. 그냥 학교 수업 열심히 듣고 기본 탄탄히 하고 파면 되는데요.

  • 개발마라토너
    4
    2021-10-17 19:29:54 작성 2021-10-17 22:10:02 수정됨

    도움되는 글 잘 읽었습니다!

    글을 읽다 궁금한 게 생겨 질문드려봅니다


    저는 컴공과 2학년에 재학 중인 학생입니다

    글에 교과서를 잘 이해해라 라는 말씀이 있으셨는데

    저도 교과서를 정독하며 기본기를 탄탄히 쌓는 것이 중요하다 생각하여

    교과서를 정독하기 위해 노력하였습니다

    그러다 보니 학기 중엔 다른 의미있는 공부, 활동을 생각할 수 없을 정도로 빠듯한 것 같습니다

    몇몇 사람들은 그러다 실무능력없는 똑똑한 바보가 되기 십상이라며 학교 공부보단 실무능력을 중점으로 공부하라고 조언해주시더라구요


    그래서 교과서만 읽기도 벅찬 상황이 정상인 것인지 아닌지 궁금합니다


    제가 부족한 것이라면 
    1. 그래도 일단은 실무능력을 위한 공부보다 교과서를 최대한 정독하려 해야하는지
    아니면

    2. 저의 공부 효율을 높여 교과서를 빠르게 정독하고

    제가 원하는 진로의 공부도 추가적으로 해야하는지 궁금해서 댓글 남겨봅니다!

  • 후하하핫
    1k
    2021-10-17 23:21:46

    @개발마라토너

    좋은 질문이고 저도 같은 고민을 많이 했었습니다. 제 중간적인 결론을 공유합니다. (완벽하지 않습니다.)

    1.

    어떤 공부이든, 잘 알고 있으면 다음 것을 훨씬 빠르게 배울 수 있지만, 처음에 습득하는데 시간이 걸립니다. 어쩔 수 없는 부분이죠.

    저는 이런걸 고려해서, 학부 다닐 때 전공과목을 한 학기에 너무 많이 듣지 않는 것을 권장합니다. 최대 세과목 이상을 듣지 않고, 대신 듣는 과목들을 빡세게 공부 하는것이죠. 이렇게 하다보면 후반으로 갈수록 훨씬 쉬워질거에요. 컴구조와 시스템 프로그래밍을 잘 들어 놓으면 운영체제를 더 쉽게 공부할 수 있고, 운영체제를 잘 공부하고 나면 DB를 훨씬 잘 이해할 수 있어요.

    2.

    실무능력 없는 똑똑한 바보가 된다는 의견을 저도 많이 들었고, 그에 따른 조급함이 없었던 것은 아니지만, 더 멀리 볼 필요가 있다고 생각합니다. 신입이 실무를 못하는건 당연한거고, 그 부분은 회사에서 메울 수 있지만 공부하는 능력과 통찰은 메우기 굉장히 어렵습니다. 다행히 최근의 좋은 회사들은 그런 부분에 좋은 점수를 줍니다.

    생각하셔야 하는건, 그렇다고 해서 코딩을 등한시 해도 된다는 얘기가 아닙니다. 코딩은 정말 잘해야 하고, 책으로만 배운 지식은 의미가 없습니다. 제가 드리는 말씀은, 학부 때 node.js 나 spring을 "쓰는 방법"에 골몰하지 마시고, 어떻게 node.js나 spring을 만들 수 있을지에 대해 생각해 보라는 뜻입니다. Linux의 advanced 한 command를 배우기 보다는 linux를 어떻게 만들었는지 kernel.org 가서 소스코드를 까보세요.

    이렇게 하는게 바보 같고 더뎌 보이지만, 후에는 찐하게 남고, 따라올 수 없는 차이를 만듭니다.

    3.

    방학을 잘 활용하세요. 방학 때야 말로 코딩을 많이 할 수 있는 좋은 기회입니다. 개인적으로 계절학기를 비추하는게, 그 시간을 보내고 남은게 학점 하나 밖에 없습니다. 그 시간에 코딩을 겁나 하세요. 하고 싶은 공부도 많이 하시고, 만들어 보고 싶은 것도 만드시고, 오픈소스도 까서 읽어 보시고요.

    저는 좀 미련하게 모든 방학 때 인턴십을 갔는데, 이렇게까지 할 필요는 없어요. 안좋은 회사에 인턴십 가는건 시간 낭비이니, 준비 잘하셔서 좋은 회사나 해외 기업에서 인턴을 하시든 Google Summer of Code, Imagine Cup 같은 대회에 나가시든 좋은 경험을 많이 하시길 바랍니다.


    궁금한게 더 있으시면 얘기해 주세요. 화이팅!

  • 후하하핫
    1k
    2021-10-17 23:23:46

    하나 빼먹은게, 같이 공부할 동료들을 꼭 만드세요. 어려운 공부는 같이 하면 훨씬 진도가 쉽게 쉽게 나갑니다. 게다가 지금와서 돌아보면, 저랑 이렇게 같이 공부했던 친구들이 제가 생각했던 것 이상으로 너무 너무 잘 나가고 있어요. 이렇게까지 열의를 가지고 공부하는 사람은 한국에 그렇게 많지는 않거든요.

  • 코딩을지켜츄
    1k
    2021-10-18 09:39:56

    결국 공부의 정도와 같은 내용인거 같네요.

    React도 사용하려고 API문서 대강 읽고 바로 만들어서 하나하나 읽으면서 쓰고 약간 advance한건 다 넘어가고 이렇게 오랫동안 썼더니만 이제 깊게 공부해야 할 시기가 오더라고요. 돌아돌아 다시 API문서 재회독을 해야할 단계가 오니, 시간이 급박하지 않다면 하나배울때 그거 약간 끝을 본다는, 내가 이런것까지 공부해야할까 한 것 까지도 공부하면 나중에 그 쪽에선 탄탄한 자신감이 나오는것 같아요. 

    저 위 글에서 살짝 빼먹은? 아니면 포함된거긴 하지만 강조가 안된게 있는데 코테는 일단 빡세게 공부해야 한다는거 ㅎㅎ
    하긴 학부때 알고리즘 빡세게 해놓으면 되겠네요.

  • 후하하핫
    1k
    2021-10-18 09:46:40

    @코딩을지켜츄: 좋은 의견 감사합니다.

    스탯을 어디에 찍냐에 따라 다르긴 한데, 제 주변에 ACM ICPC 준비하던 친구들은 코테를 거의 준비 안하고 가기도 하고 (평소에 이미 준비가 되어 있으니), 꼭 그렇지 않더라도 알고리즘 기본기를 잘 다져 놓으면 저나 제 주변의 경우에 1개월 정도 문제 풀어서 익숙해 지면 면접 때 큰 문제는 없더라구요.

  • Lee Yeongja
    22
    2021-10-18 13:16:16

    꿀같은 조언 감사합니다 !

  • Dive_Drink_Develope
    6k
    2021-10-18 15:01:25

    학부때 개발파트너

    학기중에 주요 CS과목 확실히 이해하고 넘어가기

    방학중에 토이프로젝트

      - ~~언어/~~프레임워크 튜토리얼로 시작해서 이거저거 살붙여서 실제 서비스 단계까지 진행해보기


    CS과목을 깊이 팔 시간은 학부때밖에 없습니다.


  • SMleejs
    16
    2021-10-18 16:22:09

    감사합니다 ! 잘 봤습니다!

    혹시 현직자(1년차미만~ 2년차 미만)에게 줄 수 있는 조언은 없을까요?

    네카라쿠배는 아니여도 대기업정도를 준비하고 싶어서요.

    프론트를 주로 하고 있습니다.

  • 후하하핫
    1k
    2021-10-18 17:25:45

    @SMleejs

    좋은 질문 감사합니다. 기술적인 부분과 인간관계적인 부분을 나눠서 얘기해 볼 수 있겠네요.


    1.

    공부는 어차피 죽을 때까지 계속 하는거고, 일정 수준 이상을 하시는 분들은 공부하는건 체화 되어 있습니다. 공부는 그냥 열심히 하시고요.

    신입이면 증명할 수 있는게 많지 않기 때문에 포텐을 스펙이라는걸로 간접 증명하는 것인데, 경력자는 경력으로 증명하셔야 합니다.

    가장 좋은건 프로젝트가 성공하는 것이고, 그게 아니라면 최소한 완성해서 출시해야 합니다. 특히 프론트라고 하시니, 만드신게 직접적으로 보여질텐데, 사람들이 감동할만한 UX를 구현하는건 매우 좋은 플러스입니다. 대부분 개발자들이 코딩은 좋아해도 제품에 대한 열정이 많지 않은데, 완성도 높은 웹을 만드실 수 있으면 누구라도 인정합니다.

    만약 본인의 회사에서 하는 프로젝트가 그닥이라는 생각이 드시면 오픈소스로라도 가치를 증명하셔야 합니다. 특히 프론트 쪽은 오픈소스 생태계가 많이 만들어져 있고, 기여할 프로젝트가 많습니다. 업무 외 시간에 오픈소스 돌면서 버그도 잡고 기여하고 해보세요.

    3년차부터 사람 없다고 징징 대는 걸 보셔서 아시겠지만, 진짜 사람이 찾을래도 잘 없습니다. 깃헙 잔디밭 관리 잘 되어 있고, 성실하게 열심히 경력 쌓으신게 보이면 네카라쿠배가 그렇게 어렵지 않아요.

    2.

    사실 경력 채용의 많은 부분이 내부 추천으로 이루어 집니다. 저도 어느정도의 경력이 쌓인 후부터는 제가 먼저 지원하는 것 보단 공고가 뜨기 전에 저한테 먼저 오퍼가 오는 경우가 더 많았고, 공고를 먼저 보는 경우가 있어도 그 공고를 그 회사 아는 친구한테 보내서 어떤 분위기인지 물어봅니다. (NDA를 위반하지 않는 선에서)

    만약에 경력자인데 가고 싶은 좋은 회사에 아는 사람이 없다면 이직의 난이도가 매우 올라갑니다. 경력 공채를 뚫어야 하는데, 좋은 회사일수록 경쟁자가 많아지고, 특히 대규모 채용이 아닌 경우에는 실력이 만족되어도 그냥 등수가 밀려서 못들어가는 경우가 생깁니다.

    제 결론은 네트워킹을 하라는건데 (이건 학생도 포함해서 말씀 드립니다), 한국에선 문화적으로 네트워킹 기회가 많지 않아서 쉽지 않긴 합니다.

    그나마 가능한 팁을 공유해 드리자면,

    1) 위에 말씀 드린 것처럼 오픈소스나 블로그를 하세요. 특히 오픈소스는 그냥 contributor 수준으로 머물지 마시고, committer 들에게 연락 많이 해가면서 어떻게 하면 기여할 수 있는지 물어보세요. 좋은 기회가 생길 수 있습니다.

    2) 국내의 크고 작은 개발 컨퍼런스에 참석하시고, 되도록 발표 기회를 가지려고 노력하세요. 발표로 끝내지 마시고, 개발자 컨퍼런스 운영 위원회 같은 곳에 참여하려고 노력해 보세요. 페이스북 그룹들 돌면 특히 이런 기회가 꽤 많습니다. 이 과정에서 상대방에게 어떤 단어 하나로 기억 되면, 나중에 지원할 때 도움을 받을 수 있습니다.

    3) Linkedin에 가고 싶은 직장의 사람에게 메일 보내보세요. 열심히 하는 사람은 웬만하면 도와주기 때문에 (특히 우리 문화에서는), 조언도 얻을 수 있을 뿐더러 그 김에 친추도 하면서 인맥을 늘릴 수 있습니다.


    이 사이트 하면서 인맥에 대한 얘기가 나올 때 마치 부정한 것인양, 혹은 특권을 가진 사람들의 이야기인양 나오는 상황을 많이 봤는데요, 최소한 IT 업계에서의 인맥이라는건 전통적인 인맥이라는 단어와 성질이 매우 다릅니다. IT 업계는 친하다고 뽑아주는 나이브함이 특히 회사가 커질 수록 거의 없습니다. 친해도 실력이 있지 않으면 추천하기 어렵죠. 다른 측면으로는 예전에는 같은 학교 나오고 고향 같아서 인맥이 됐다면, 지금은 그냥 개발자 커뮤니티에서 만나고 친해진걸로도 가벼운 인맥이 되는거에요. 이런 네트워크를 만드는게 지금 시대에는 부정적인게 아니고 엄연한 실력이고, 좋은 사람들이 주변에 많아야 더 빨리 많이 성장할 수 있습니다.


    정리하면,

    1) 공부 열심히 하시고, 그걸 자기 브랜드로 만들어서 컨퍼런스나 블로그, 오픈소스로 홍보하세요.

    2) 네트워킹 열심히 하세요.

    로 요약할 수 있겠네요.

    건승하시길 바랍니다.

  • SMleejs
    16
    2021-10-18 17:49:56
    좋은 말씀 감사드립니다. 덕분에 방향성이 잡혔네요!!
  • 코들러
    34
    2021-10-19 01:47:18 작성 2021-10-19 01:52:53 수정됨
    좋은 글 감사합니다. 요즘 진로 때문에 고민이 많았는데 많은 도움이 되었습니다. 저는 올해 3월부터 개발을 공부한 비전공자 대학생입니다. 현재 3학년이고 프론트엔드를 희망하고 있습니다.

    질문 드리고 싶은 점이

    1.  바닐라 js를 능숙하게 다루고 싶어 다른 라이브러리를 사용하지 않고 UI, UX도 고려한 사이트를 만들려고 합니다. 이 프로젝트를 포트폴리오로 사용해도 괜찮은지 여쭙고 싶습니다. 사용한 경우를 거의 못봐서 여쭙습니다.

    2. 현재 js를 이용해서 간단한 기능들(좌표 이용해서 물결 만들기, 페이지네이션 등)을 만들어서 github에 올리고 있습니다. 이 공부법이 실력 향상에 도움이 되는지 여쭙고 싶습니다.

    3. 프론트엔드는 js가 가장 중요하다고 들었는데 js 실력을 향상시킬 수 있는 공부방법이 있다면 말씀해주시면 감사하겠습니다.

    읽어주셔서 감사합니다.
  • 후하하핫
    1k
    2021-10-19 02:35:23

    @코들러: 제가 프론트엔드 엔지니어가 아니기 때문에 제 의견은 참고만 하시고, 더 좋은 의견은 다른 곳에서 더 찾아 보세요.


    1.  바닐라 js를 능숙하게 다루고 싶어 다른 라이브러리를 사용하지 않고 UI, UX도 고려한 사이트를 만들려고 합니다. 이 프로젝트를 포트폴리오로 사용해도 괜찮은지 여쭙고 싶습니다. 사용한 경우를 거의 못봐서 여쭙습니다.
    -> 바닐라 js를 능숙하게 다루는건 일종의 수련에 가까운 것인데, 이런 종류의 hard skill을 높게 사줄 사람도 있겠지만, 저는 개인적으로 최고의 포폴은 아니라고 생각합니다.
    어떤 단에서 일을 하든 우린 Software Engineer고, Software Engineer는 소프트웨어로 사람들이 가진 문제를 푸는 사람들이잖아요. 저는 어떤 방법으로든 실제 유저들의 문제를 풀어본 경험을 훨씬 높게 칠 것 같아요.

    2. 현재 js를 이용해서 간단한 기능들(좌표 이용해서 물결 만들기, 페이지네이션 등)을 만들어서 github에 올리고 있습니다. 이 공부법이 실력 향상에 도움이 되는지 여쭙고 싶습니다.
    -> 같은 맥락에서, 저는 그렇게 중요한지 잘 모르겠습니다. 기본에 해당하는 공부가 더 중요하다고 봅니다.

    3. 프론트엔드는 js가 가장 중요하다고 들었는데 js 실력을 향상시킬 수 있는 공부방법이 있다면 말씀해주시면 감사하겠습니다.
    -> 저는 프론트엔드 엔지니어가 되기 전에 소프트웨어 엔지니어로서의 기본을 갖추기를 권합니다. 이것은 js를 하지 말라는 말이 아니라, 지금처럼 시야가 좁으면 가질 수 있는 기회도 놓치기 쉽다는 얘기를 하고 싶어 얘기합니다. JS를 아마추어 수준에서 아무리 잘한다고 얘기해 봤자, 현업자 입장에서는 귀엽게 보일 따름입니다. JS 조금 못해도 되니까 근본적인 사고력과 컴퓨터 공학의 기초를 다지세요.

    잔소리는 이쯤 하고, JS를 잘하고 싶으시면 React.js 깃헙 들어가서 소스코드 뜯으면서 공부해 보세요. 한줄 한줄 어떻게 작동되는지 이해해 보시구요.

    참고로, Angular.js  (요샌 안쓴다곤 하지만…) 를 만든 Misko Hevery 는 part-time, 즉, 주 업무 시간 외 시간에 JavaScript를 공부하면서 Angular.js 를 만들었습니다. 즉, 기본이 되어 있고 좋은 프로그래머라면 언어는 도구에 불과하고 금방 배울 수 있습니다.

    비전공자이시고 3학년이시니 취업이 막막하시겠지만, 지금이 가장 취업이 덜 급한 시점일겁니다. 시간이 더 가면 갈수록 이런 기본과 기초에 투자할 마음의 여유가 사라질거에요. 지금이라도 기초를 쌓으시고, 실제로 세상에 자그마한 영향력이나마 줄 수 있는 프로젝트를 만들어 보세요.
  • 코들러
    34
    2021-10-19 08:16:18
    결국 유저에게 도움이 되는 포폴과 cs 기초를 다지라는 말씀이시군요. 답변 감사드립니다.
  • 개발마라토너
    4
    2021-10-19 10:36:50

    멀리 가기 위해서는 학부생 때 학기 중엔 공부하는 능력과 통찰을 중점으로 기르고 방학 때는 많은 코드 경험을 쌓으라는 말씀이시군요

    좀 더 큰 틀에서 공부를 보게된 글이었습니다

    답변 감사드립니다!

  • RP24
    5
    2021-10-19 16:52:38

    좋은 글 감사드립니다.


    써주신 글에 감명받아 네트워킹 첫 걸음으로 오키 가입 후 로그인했습니다.


    첫 댓글이네요.


    앞으로도 좋은 활동 많이 부탁드립니다.

  • soldesk2020
    1k
    2021-10-19 16:57:38

    정말 좋은글이예요~ 몬가눈이확! 띄인듯합니당+_+

  • latissimus
    13
    2021-10-19 20:56:36

    좋은 글 감사합니다. 열심히 살겠습니다.

  • crazygun22
    985
    2021-10-20 13:12:26

    좋은 글 입니다.


    CS 공부 방법에 대해 말씀드린다면.. 단순히 이론을 배우는 것으로 그치는게 아니라, 아래와 같이 공부하셔야 합니다.


     - 기본 알고리즘(sort, linked list, search ...) 등 모두 vanilla code 직접  구현 해보셔야합니다.

    - 소켓, 어셈블러, C, 커널 같은 저수준에서 다 구현 해보셔야 합니다.

    - 식사하는 철학자 문제 같은 것도 다 구현 해보시구요.

    - 멀티스레드에 의한 공유 메모리 침범 같은 문제도 실제 발생하는지 구현 해보셔야 하구요..

  • GrandeisHorse
    408
    2021-10-20 14:34:01

    자극되는 말씀 감사합니다:)

  • bb-in-hoodie
    14
    2021-10-22 00:35:10

    여러분 이 분 얘기 진짜 태클 걸 거 하나 없이 다 맞는 말씀이에요. 준비 중이시라면 꼭 새겨들으시길!

  • 호롤롤루
    189
    2021-10-22 03:02:16

    너무 좋은 말씀 감사합니다.

    댓글에 써주신 말씀 중에

    'node.js 나 spring을 "쓰는 방법"에 골몰하지 마시고, 어떻게 node.js나 spring을 만들 수 있을지에 대해 생각해 보라는 뜻입니다.'

    라고 하셨었는데 스프링으로 예를 들면 토비의 스프링 같은 책이 혹시 이에 가까운 내용의 책일까요??

  • 후하하핫
    1k
    2021-10-22 09:08:55

    @호롤롤루: 좋은 질문 감사합니다.

    토비의 스프링이 좋은 책입니다만, 제가 의도한 것과는 다릅니다.

    제가 의도한 것은 http server 를 tcp 소켓으로 짜보고, multi thread 방식, multi process 방식, single thread 이지만 async로 처리를 던지는 방식 등을 구현해보면 좋고, 최소한 고민해 보라는 뜻이었습니다.

    책에서는 OSI 7 Layers 를 배울 때 Session layer, Presentation layer, Application layer 를 글로 배우지만 실제로 이게 왜 필요한지, 어떻게 사용하는지는 코딩으로 짜보면 이해하실 수 있습니다.

    또한, node.js 나 spring 모두 오픈소스이기 때문에 소스코드를 까볼 수 있습니다. 개념이 이해가 안가면 책도 좋지만 소스코드 clone 받아서 읽어보세요.

  • 후하하핫
    1k
    2021-10-22 09:54:52

    그런 의미에서 혹시 네트워킹 관심 있으시면 아래 행사 참여 독려 드립니다 ㅎㅎ

    관계자는 아닌데, 와서 네트워킹 하는 좋은 경험이 되실 것 같아 추천 드려요. (글로 썼더니 홍보가 잘 안되는 것 같아서…)

    저도 참여할 예정이라, 이때 만나서 얘기하고 친해져요!


    (참고로 학생 아니어도 참석 가능합니다.)


    DevFest Universe: Devfest Campus Korea 2021

     


    전세계 유일, 대학생 개발자를 위한 챕터인 GDG Campus Korea 와

    Google Developers Student Club의 18개의 학교가 모여 🏫DevFest Universe를 개교합니다!


    2021년, 코시국으로 즐기지 못한 캠퍼스 라이프를 여기서 즐겨보세요!


    행사의 자세한 내용은 링크를 통해 확인해주세요.

    https://festa.io/events/1862/  

  • 호롤롤루
    189
    2021-10-22 22:00:28 작성 2021-10-22 22:01:57 수정됨

    아 답변 감사합니다! 어떤 의미로 말씀하셨는지 이해한것 같습니다.

    학교에서는 정말 글로만 배웠던 거라 어떻게 코드로 만들어야할지 감이 잡히지 않는데

    만약 네트워크나 운영체제 관련해서 말씀하신 것처럼 코드를 직접 짜보는 예제코드를 주는 도서가 있을까요?? 있다면 추천 부탁드립니다!

    만약 없다면 어떻게 저런 것들을 구현해볼 수 있을까요??


    마지막으로 저도 독려해주신 행사에 참여해서 작성자님 만나 궁금한 것도 여쭤보고 싶네요.

    그리고 티켓이 두개가 있던데 무료로 참석하는 티켓으로 참여하면 되는건가요??

    아 또 혹시 직접 현장에 가서 하는 건지 네트워크 상으로만 하는 건지 궁금하네요.


  • 후하하핫
    1k
    2021-10-22 22:11:11 작성 2021-10-22 22:12:46 수정됨

    @호롤롤루:

    - 구현 관련


    OS 에서 가장 유명한 공부용 구현체는 Stanford에서 만든 pintos 입니다.

    https://web.stanford.edu/class/cs140/projects/pintos/pintos.html

    KAIST 에서 관련 슬라이드도 올려 놓은게 있네요.

    https://oslab.kaist.ac.kr/pintosslides/


    네트워크는 pintos 만큼의 정형화 된 틀이 있는건 아닌데, 저는 주로 해외 대학 강의 자료를 많이 참고했습니다.

    Stanford computer network 강의: https://cs144.github.io/


    다른 공부 방법으로는 오픈소스를 까면서 노는 방법이 있습니다. 예를 들어서, node에서 write 하는 함수가 있다고 하면, 그 함수의 가장 내려갈 수 있는 아래까지 소스코드를 까보면서 내려가 보는거죠. 시간이 좀 걸리더라도 이러면서 배우는게 되게 많습니다. 보통 대학원 연구실에서 system 연구 하는 랩은 이런걸 하면서 논문을 쓰곤 한답니다.


    - 행사 관련: 네트워크 상으로 이루어집니다. 무료티켓은 기존 회원만 참석이 가능하고, 저희 같이 기존 회원이 아니면 유료로 참여하시면 됩니다.

  • 호롤롤루
    189
    2021-10-22 22:26:53
    질문이 많았는데 친절한 답변 감사합니다! 나중에 행사에서 뵙겠습니다!
  • LateNightCoding
    2
    2021-10-24 21:43:38

    안녕하세요. 

    우선 너무 좋은 글 제공해주셔서 감사드립니다.

    최근 취업에 관한 고민이 많아 글을 남기게 되었습니다.

    저는 27살 취준생입니다.

    26살 4학년 컴퓨터 공학과 복수전공을 시작하면서 개발을 시작하게 되었습니다.

    복수전공 시작 후 cs 전공 40학점을 1년만에 듣고 졸업했습니다.

    그 기간 동안 학점, 알고리즘, 웹 동작 원리에 대해 공부를 하는 것도 너무 바빠서 어느 한 분야를 깊게 파지 못하였습니다.

    졸업 후 6개월 간 1개의 React 프로젝트, 2개의 Spring 프로젝트를 진행했습니다. 하지만 해당 기술을 공부해가며 개발하는 것도 벅찼던 지라 깊게 파는 경험을 해보지 못하였습니다.

    이후 현재 하반기 공채에 여러 기업을 지원하고 있는데요.

    코딩 테스트와 CS 공부는 나름 빡세게 했던터라 서류와 코딩 테스트는 네카라 포함 왠만한 기업은 다 통과를 했지만 문제는 면접에서 다 탈락을 했습니다.

    이 글을 보고 나니 급하게 진행했던 프로젝트인지라 깊이가 부족했던 점, CS를 깊게 이해하지 못했기에 말로 잘 설명하지 못한 점이 탈락 요인이라는 생각이 듭니다.

    현재 취준에 집중하느라 Github 잔디에도 빵구가 점점 늘어나는데다가 하반기에는 큰 희망을 걸어보지 못할 거 같아 고민이 많습니다.

    희망을 잃다보니 SSAFY, 우아한 테크코스 등 교육을 1년 더 들을지, 만족하지 못하는 회사더라도 일단 가서 커리어를 쌓으면서 공부할지, 혹은 프로젝트를 더 깊게 파보며 취준 기간을 연장할지 고민이 됩니다.

    당장 다음 주에 카카오 면접인데 이 역시 떨어질 것이 뻔하기에 걱정부터 앞서게 되네요...

    실례가 안된다면 제 상황에 대한 단기적, 장기적 조언이 가능할까요..??

  • 호롤롤루
    189
    2021-10-31 02:16:25

    혹시 오늘 행사 참여하셨나요?? 저는 메일이 안와서 참여를 못했네요 메일로 문의는 넣어놨습니다 ㅜㅜ 

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