거짓말사냥꾼
225
2018-08-10 20:11:48
2
537

교수님과 상담을 했는데...


제 닉네임 눌러보시면 최근에 올린 글에 안드로이드르 하다가 회의감이 든다고 올린 글이 있습니다.

조금 지친건가 하여 혼자 3일 정도 여행갔다가 어제 교수님과 상담을 했습니다.

상담 내용은 뭐... 제가 올린 글과 거의 같은 내용입니다.

답변도 okky 회원님들이 해주신 것과 비슷하더라구요 ㅎㅎ

요약하면

1. 책만 보고 줄줄 따라 치는 건 의미가 없는거 같다.

2. 너무 조급하게 생각하지 말고 천천히 해라

3. 뭔가 상용 프로그램을 만들기 위한 책에 너무 집착하지 마라(???)


1,2번은 뭐 그냥 다독여주는 말인데 3번이 조금 걸리네요. 하지말라는 얘기가 절대 아니구요. 교수님이 말씀하시기를 학생들이 뭔가 만들어 보려고 안드로이드, IOS, 라즈베리파이, 웹 등등.. 기초보다는 당장 뭔가 만드는데 너무 집착한다고 하네요. 교수님이 자기가 회사 생활하면서 사수로서, 면접관으로서 신입에게 뭔가 당장 어떤걸 만들기를 바란적이 단 한번도 없다면서, 남은 시간 알고리즘과 학과 공부에 더 시간을 투자하는게 좋을거라고 하시네요. 신입에게 필요한건 어떤 언어와 프레임워크를 던져주든 그걸 단시간에 제것으로 만들어내는 능력이라고 하시는데요. 여러분은 어떻게 생각하시나요? 당장 취업하려면 gui 프로그래밍에도 능숙(?)한게 좋지 않을까요?

0
0
  • 댓글 2

  • 진리와자유
    175
    2018-08-11 04:47:04

    교수님 말씀 좋으시네요!


    그런데 기대치가 약간 높으십니다.

    어떤 언어와 프레임워크를 던져주든 그걸 단시간에 제것으로 만들어내는 능력.

    이것은 신입뿐만 아니라 경력 개발자들에게도 필요한 능력입니다.

    개발자라면 할 수 있어야 하는 능력입니다.


    그리고 어떤 분야든지 논리를 코드로 현실화 하는 것(프로그래밍)에 능숙해지려면  시간이 필요합니다.

    꾸준히 해야 하는 부분이고 지금 한다고 획기적으로 능력 발전은 어렵습니다.


    논리를 코드로 만들 때 가장 중요한 것은 컴퓨터 논리에 맞게 프로그램을 구상할 수 있어야 합니다.

    논리부터 오류가 없어야 합니다.

    학과 공부는 이 능력을 키우기 위한 BASE및 기초 입니다.

    부실한 기초로 쌓아올리는 집은 무너지기 쉽상입니다.


    많은 건축자가 기초 부실하게 집을 쌓아 올리다가 기초 보강공사를 합니다.

    당연히 그 보강공사를 하는 만큼 건축 기한이 늘어나는데 아무것도 없을 때 기초를 세우는 것보다

    만드는 중간에 기초를 보강하는 것이 몇 배 더 힘들고 기한도 오래걸립니다.

    지금까지 만든 집이 허물어지면 안되니까요.


    아직 학부생인 지금이 기회입니다.

    기초에 충실하세요.

    0
  • 근원으로
    245
    2018-08-11 10:30:37 작성 2018-08-11 10:31:54 수정됨

    저는 교수님 말에 전적으로 동의합니다.


    일부 업체들의(영세한) 경우 당장 사용 가능한 기술들을 보는 경향이 있을 수도 있지만,

    대체로 좋은 IT기업이라 불리는 회사들은 기본이 잘 되어 있는지를 봅니다.

    왜냐하면, 자료구조, 알고리즘, 운영체제, 네트워크 등과 같은 지식들은 언어, 프레임워크,

    운영체제 환경 등을 가리지 않고 도움이 되는 지식이고, 글쓴이 님이 말한 안드로이드나

    iOS등도 결국은 다 저러한 기본 개념을 기반으로 구현이 된 것들입니다.


    제 경험상 기본을 튼튼히하면서 Android나 iOS를 실무에서 사용해보시면 기본이 약한 상태에서

    Android나 iOS를 사용하는 것과 보는 눈이 틀려집니다.

    예를들어, 기본이 안된 상태에서 바로 안드로이드만 공부해서 쓰면, 그냥 안드로이드 사용법만

    익히고 경력이 쌓일 확률이 높습니다.

    이 경우 문제점은 예상을 벗어난 문제가 발생하거나, API가 없는 기능을 구현해야 한다던가 하는

    틀에서 벗어난 문제가 생겼을 때 원활하게 해결하지 못할 확률이 높습니다.


    반면, 기본을 튼튼히 한 상태로 실무에 들어가게 되면, 단순 앱 구현을 떠나 안드로이드는 어떤 구조로

    만들어졌을까? 리눅스 커널과 프레임워크 단은 어떻게 연결된걸까?, 앱은 별도 프로세스인데

    인텐트는 어떤 방식으로 프로세스 간 통신을 지원할까? 내가 원하는 기능이 없네? 오픈소스를

    이용해볼까? 아니면 내가 직접 구현할까?, 이런저런 문제가 발생했는데, 안드로이드가 내부적으로

    이렇게 동작하니까 발생하겠구나. 자바로 구현하니까 성능이 너무 느리네, JNI라는 걸 사용해볼까?

    이건 어떤 원리로 호출되는거지? 등등 이러한 여러 궁금증에 질문을 하고 찾아 갈 수 있는

    능력이 생깁니다. 그리고 이러한 궁금증을 통해 얻은 답들이 내공이 되어 실력이 쌓이게 되는 겁니다.


    어쩌다보니 글이 길어졌지만, 핵심은 기본을 튼튼히 하시라는 겁니다.

    학생때가 기본을 다질 수 있는 가장 귀한 시간대 입니다.

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