overcom2
10
2021-03-13 21:27:58
7
1016

제가 하고싶은게 프로그래밍인걸까요?


안녕하세요. 컴공 휴학생입니다 :)


제가 프로그래밍을 처음 접한건, 고등학생때였습니다. 그냥 학교과목에 프로그래밍(C언어)가 있었고 저는 처음 배웠지만 많은 재미를 느꼈습니다.

그 후로는 수능 때문에 못하다가 컴공에 입학함과 동시에 잊었던 프로그래밍책을 다시 꺼내들었습니다.

c++과 python 문법책을 틈틈히 공부했고 그 다음엔 자료구조나 알고리즘책을 봤었습니다.


그다음엔 뭘 해야할지 몰라서 인터넷에 검색해봤더니 만들고싶은것을 만들라는 말이 많았습니다. 근데 저는 만들고싶은건 지금도 딱히 모르겠고 그냥 이 컴퓨터가 어떻게 돌아가는지가 젤 궁금했습니다.


그러니까,, 그냥 기술들의 원리가 궁금했습니다.

램은 어떻게 정보를 기억하는걸까?

cpu는 산술연산만으로 어떻게 이 많은 기술들을 작동시키는 걸까?

컴파일러나 네트워크는 어떻게 만드는걸까?

그래서 그냥 컴퓨터공학 개론서도 찾아보고 OS, 컴퓨터구조,네트워크책도 찾아보고 그랬습니다.


지금이제 2학년끝내고 휴학을 했는데요, 사실 제가 공부한건 직접 코딩하는 시간보다 책만 들여다보는 시간이 훨씬 많았습니다.


그리고 코딩을 하려고보니, 요즘시대(?) 에는 제가 상상했던것과 달리 많은 프레임웤들이 존재해서 내부로직을 몰라도 텐서플로우 몇줄 코딩하면 ai모델을 만들고,,,

그냥 .function() 과 같이 존재하는 메서드로 간단히 구현하는것을보고서 과연 저게 프로그래밍일까? 라는 생각도 했습니다.

그러면 반대로 내가 직접 밑바닥부터 만들어보려고하면 사실상 어디서부터 어떻게 시작해야할지 감이 안왔습니다. 

수학을 배울때는 배운 개념들을 가지고서 문제를 풀때 이렇게든 저렇게든 접근해서 풀어내곤 했는데

프로그래밍 문법책으로 배운 개념들로는 도대체 어떻게해야 요즘 기술들을 만들어내는건지 감이안옵니다.


음, 이렇게 말하는게 맞는지는 모르겠는데 저는 구체적으로 어떻게 돌아가는지를 이해해야하는 편인데 프로그래밍 분야는 많이 추상화(?)되어있는것 같아요.

물론 그게 시간과 비용 측면에서 효율적이겠지만, 저는 제가 이해하지 못한것은 하려하지 않거든요.


주변 사람들은 프로젝트다뭐다해서 어떻게 하는진 몰라도 개발도 해보고 하는데 저는 직접 코딩은 하지 않고 그냥 책만 들여다보고 있는데 과연내가,, 프로그래밍이 하고싶은걸까,, 

프로그래밍은 뭘하는걸까.. 그런 고민이 들었습니다.


실제 개발에서 어떤일을 하는건지, 제가 너무 기준을 높게 생각하고있는지도 모르겠고,,

2년동안 배웠던 과목들 중에서는 그나마 논리회로과목이 젤 재밌었던것같아요.

그래서 프로그래밍이 아니라 하드웨어쪽으로 가야하나,, 그런 고민이듭니다.


음, 제가 정확히 어떤것을 고민하고있는지 사실 저도 잘 모르겠어요 ㅠㅠ

그냥 조언해주시면 감사하겠습니다.


0
  • 댓글 7

  • yunjae830
    72
    2021-03-13 21:35:17
    처음에 응용력이 없는건 당연하니 다른 사람 코드 따라해보고 만들어보면 되지 않나요? 책 보는것처럼요
  • zerosugar
    209
    2021-03-13 21:51:35

    기준 높게 생각하시는게 맞습니다.

    현재 일반적인 응용프로그래밍은 많은 기능들이 점점 추상화되어 비즈니스 로직만을 거의 선언식으로 작성하려는 방향으로 발전하고 있습니다.

    굳이 알려고 하지 않으셔도 상관없습니다. 응용은 응용일 뿐이기 때문에 

    하고 싶어하시는 이론적인 공부를 끝마치시고 나면 이런 것들은 금방 익히시게 될 겁니다.

    너무 많기 때문에 다 익힐 수도 없구요, 모든 의사가 모든 전공을 다 아는 것이 아닌 것과 비슷합니다.


  • 장독깨기
    1k
    2021-03-13 22:15:55

    .

  • 쿠잉
    2k
    2021-03-13 22:40:18

    적어도 대학 2년을 다닌 본인도 본인에 대해서 뭘 좋아하는지 아닌지 모르는데...인터넷상으로 짧은 글로 다른 누군가 어떻게 해야하냐고 물어보는 자체가 어불성설 이기도 합니다.

    교수님이나 오프라인에서 그래도 이런부분에 대해서 잘아는 사람과 충분한 대화나 아님 전문적인 진로/적성 가이드를 받을수 있는 채널로 받는게 맞습니다 

    적어도 방향성은 본인 어느정도 정리가 되고나서 공부를 하는 방법이나 막히는 부분등에 해서 질문이나 조언을 받으시는게 좋습니다



  • Matcha
    293
    2021-03-13 22:45:24

    펌웨어 개발자를 하시면 됩니다 :)

    직접 OS도 만들어보시면서 임베디드 펌웨어쪽 노리시면 지금까지 읽어왔던 책이 꽤나 도움이 되실 거예요

  • 롤맆
    116
    2021-03-14 09:54:40

    @Matcha 

    펌웨어 개발자라고 하면 다른데로 빠질 확률도 있어서..ㅋㅋ

    그냥 시스템 개발자.. 라고 하는게 맞을 것 같아요


    저도 글쓴이분과 마찬가지여서 

    멀티코어 OS도 만들어보고, 커널 모듈도 만들어보고, CPU도 만들어보고,

    SDK도 만들어보고, API도 만들어봤습니다.

    결국 노력하다 보면 다 만들어보게 됩니다 ㅋㅋㅋㅋ

  • 한식
    1k
    2021-03-15 08:50:50

    본인이 뭘하고싶은지는.. 아무도 모르죠 본인만 아는거고...

    제가보기엔 지금 하고있는 고민들은 실제고 개인프로젝트를 진행하면 좀 정리되실거같은데..

    아직 프로그래밍 안하신 상태에서 너무 추상화되어있다..뭐다라고 말씀하시는건 너무 앞서 생각하신다라고 생각되기도 하거든요

    실제로 쓰기편한 프레임워크들 많긴 한데 그런 프레임워크들도 시간 투자하고 삽질하면서 배우는거죠.

    다른거에 비해 쓰기 편한거일뿐입니다..

    그리고 이론적인부분도 굉장히 중요합니다. 그 추상화된 함수만 쓸줄아는사람들보다는 이론적인 부분, 내부로직도 잘 이해하는사람이 당연히 일도 더 잘하고 돈도 많이 받겠죠..

    일단 웹이든 게임쪽이든 하고싶은 프로젝트 하나 결정해서 진행하는게 베스트인것같습니다.

    지금상태로는 진짜 고민만하다 시간 흐를뿐입니다. 저도 비슷한 경험이 있구요.

    현실적으로 취직도하시고 하셔야할텐데 그런식이면 평생 이론만 붙잡습니다.

    책 한 10권 정독하고 시작할건 아니시잖아요? 

    보통 '일단 프로젝트를 진행해봐라'라고 하는 이유가 따로 있는게 아닙니다. 프로젝트를 진행하다보면 당장 그 프로젝트위주의 이론적인부분 찾아가면서 진행하기 때문에 좀 더 실용적으로 공부가 됩니다.

    그리고 좀 나중에 경험좀 쌓이다보면 이론 공부했던것도 필요한 일이구나..라는것도 깨닫게 됩니다.


    '물론 그게 시간과 비용 측면에서 효율적이겠지만, 저는 제가 이해하지 못한것은 하려하지 않거든요.'

    -> 실제 코딩하시기 전까지는 절대 이해하지 못합니다..



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