DarkWanderer
135
2021-10-01 14:55:44
11
579

제 공부방법이 잘못된 걸까요?


조언 부탁드리면서 이 글을 올립니다.


현재 저는 5월말부터 국비지원을 받고 이제 프로젝트를 진행하며 다음달이면 수료를 하는 사람입니다.


한국 나이로는 32세고요... 사정이 있어서 상당히 늦게 시작하게 되었습니다. 외국에서 있다가 코로나 때문에 피치 못할 사정으로 돌아오게 되었거든요..


그런데 나름 열심히 했다고 생각하는데 현타가 많이 오네요... 


일단 제 상황을 설명드리자면, 저는 이론은 뭔가 강한데 잘 만들지를 못합니다. 게시판의 경우도 로직은 말로만 하면 쉽게 나오는데 막상 백지부터 만들라 하면 너무 오래걸리거나 손이 잘 가지 않습니다.


디버깅하느라 버벅거리는 시간도 너무 길고요..


저는 완전 비전공자도 아니고 c언어를 좀 했었고 알고리즘 지식도 있었던지라 학원 초반에는 칭찬도 많이 들었는데 이렇게 뭘 잘 만들지를 못하니까 참 제 자신이 부끄럽습니다.


그렇다고 열심히 하지 않은건 아니고 나름대로 이것저것 손대면서 열심히 했습니다. 스프링 배운지 딱 한달 되었는데 마이바티스로도 책따라 하나 만들어보고, jpa와 스프링 부트로도 하나 클론코딩 해보고... 그런데 클론코딩하고 거기에서 사소한 개조 정도는 가능할 뿐, 저 혼자서는 뭘 잘 만들지를 못합니다. 남이 한 것을 갖다가 조금 개조했답시고 제 포트폴리오로 낼 수는 없잖아요...


반면에 같이 학원을 다니는 친한 동생이 있는데 그 동생은 완전 비전공자에다가 초반에는 잘 하지 못했는데 4개월이 지나니 너무 잘하더군요..


자기는 코딩이 너무 재밌어서 밥먹고 자는시간 줄여가면서까지 매일 하루에 16시간 이상씩 한다고... 그리고 만들어 놓은 것을 보니 정말 잘만들었더군요. 게시판 좋아요와 같은 ajax처리도 저는 책이나 남의 코드를 보고 해서 겨우 이해하는 수준인데 그 친구는 시큐리티로 로그인처리, 소셜미디어 로그인, 소켓채팅과 ck에디터를 쓴 게시판, 파일업로드 모두 합해서 며칠만에 금방 구현해버리더라고요..


가끔 그럴 때마다 제가 적성이 아닌가 하는 생각이 들면서도 제가 충분히 시간을 투입하지 않았나 하는 생각이 들기도 합니다. 나름 열심히 하기는 했지만 저는 사실 그 친구처럼 재미있어서 하루종일 매달리지는 않아요.. 그냥 공부하는 의무감으로 할 뿐이지.. 막상 저도 하면 시간가는줄 모르고 할 때도 많지만... 엄청나게 재미있다거나 그런 느낌은 아니네요..


저는 일단 고시공부하던 습관이 있어서 책을 정독해서 여러번 읽고 이해하는 데에 중점을 많이 두는 스타일입니다. 그런데 그런 스타일이 독이 되나봐요... 강사도 예전에 저보고 그러더라고요. 이론만 빠삭하고 잘 못만들어서는 취업 못한다고.. 그리고 오늘 그 동생도 저보고 일단 만들어보고 오류내보고 그거 고쳐가면서 실력이 많이 늘었다고 했습니다. 그런데 저는 사실 그런 방법이 잘 상상이 가지를 않네요.. 일단 모범답안(?)을 여러 번 베껴써서 익숙해진 다음에 그것에서 살짝살짝 변형하는게 그동안의 제 공부방법이었거든요.


선배 프로그래머 분들은 어떻게 공부하셨나요? 솔직히 제가 대학 이름 좋고 예습좀 했다고 괜히 국비지원오면 내가 잘하겠거니 하고 생각했던것도 참 부끄럽네요.. 이런 적성은 전혀 다른데도요.


어떻게 공부하는게 보다 실력을 늘리는 데에 도움이 될까요? 가끔은 제가 재능이 없는건가 하는 비관적 생각이 들기도 하네요.. 긴 글 읽어주셔서 감사합니다.



0
  • 답변 11

  • roamer
    454
    2021-10-01 15:12:11 작성 2021-10-01 15:35:41 수정됨

    죄송하지만 적성에 맞지 않으신거 아닌가 고민해보세요.

    코딩으로 뭐든 만들때 고민하는거 자체가 즐겁고 해결했을때 성취감이느껴져야 오래합니다.

    거기서 넘어가서 어떤 기능이 있으면 좋겠다. 어떤 기능을 어떤 설계로 굴러가게할까가 머리로 그려져야

    합니다.

    공부방법을 고민하고계신거보니 적성이 안맞는거 아닌가 고민해보세요.

    최중요 적성은 어떤 기능을 만들고자 했을때 로직이 머리속에 그려져야합니다. 그것이 틀린 로직이든 맞

    는로직이든 말이죠 틀린 로직이면 하면서 고치면되는 부분입니다. 그 과정이 또 즐거운거구요

  • ghjgre
    1k
    2021-10-01 15:17:48 작성 2021-10-01 15:25:06 수정됨

    만드는건 차근차근하셔도 됩니다!

    실력을 늘리는데에는 여러 방법이 있다고 생각합니다.

    책을 정독하는 스타일이라고 하시니 좋은 책을 많이 읽으시면 되겠네요.

    그리고 좋은 회사 취업은 이론 빠삭한 사람이 더 잘합니다.

    좋은 회사가서 배우시면 돼요

    아 그리고 틀린 로직을 고쳐가는게 왜 좋은지는 TDD에 대해 공부해보시면 답이 나와있어요

  • roamer
    454
    2021-10-01 15:38:03

    오늘부터 유튜브 찾아가면서 로그인 회원가입 되는 자유게시판을 한번 만들어보세요 한번에 모든 그림을 그리지 마시고 작게 작게 쪼개서 보세요 로그인 따로 회원가입 따로 c r u d 따로 거기에 따른 mybatis, json,ajax 따로따로.. 그게 합쳐지면 이제 머리속에 그리는데 힘들지 않으실겁니다. 일단 프레임워크로 인덱스페이지로 hello world 나오게 부터 시작하세요! 그 hello world 페이지를 로그인 화면으로 꾸미시고 이 프레임워크는 어
    떻게 인덱스 페이지를 띄워주는것일까? 소스코드 전반을 보면서 분석하시고 분석이 안되면 프레임워크 작동원리를 검색해서 알아보세요 이 작동원리를 파악하면 나머진 응용입니다. 로그인 성공 실패 회원가입 페이지 게시판페이지 모든것이요 

  • roamer
    454
    2021-10-01 15:39:56

    그 이후에 프레임워크에 대한 상세 기능들을 공부하는겁니다. 예를 들어 spring이면 spring 배치가 있을거구요 spring시큐리티도 있겠구요 이렇듯 spring이 다양한 기능을 제공합니다. 토비님의 스프링책을 읽어보시는것도 나쁘지않아요. 잊지마세요 모든것을 작게작게 쪼개세요! 숲을보지말고 나무를 보세요

  • DarkWanderer
    135
    2021-10-01 15:40:06

    roamer 음.. 그럴 때마다 제가 자꾸 책을 찾아서 그거대로 하게 되는데 책을 멀리하는게 좋을까요? 물론 그냥 타자치기로 베끼는 것은 아니고 이해하려고 노력은 합니다.

  • esrse
    1k
    2021-10-01 15:41:43

    코드를 많이 작성해보는 것만이 코딩 실력을 키우는 유일한 방법입니다.

    try - error - fix - repeat 방법을 적용해보세요.

    일단 작성해보고, 컴파일 에러 또는 로직 에러를 맞닥뜨리고, 수정하고, 반복하세요.


    이 과정이 재미있어야 개발자를 계속 할 수 있습니다.

    코딩보다는 세상에 없는 새로운 걸 구상하고 그것들에 대해서 말하는 게 더 재밌다고 느껴진다면 소프트웨어 기획자를 해보는 것도 나쁘지 않은 선택일 수 있습니다.

  • roamer
    454
    2021-10-01 15:42:59

    책의 예제도 구글선생님의 예제도 모두 응용만 가능하다면 멀리할 필요가 전혀없습니다. 모든 개발자의 사무실 책상 위엔 개발서적이 올라와있죠 ? 그뜻은 레퍼런스(메소드에 대한 상세내역)를 책으로 찾아보든 인터넷으로 찾아보든 찾아본다는 뜻입니다. 책을 한번보고 그 기능이 작동을하면 응용을해서 다른것도 그 기능대로 작동하게 만들어보세요 스펠링이 기억안나면 책을 볼 수 있죠 멀리할 필요가없습니다


  • 리오레오
    1k
    2021-10-01 15:43:43

    공부방법은 관계가 없습니다.

    단지 옆사람과 비교하지 마세요.

    아무런 이익이 없습니다.

    자기는 코딩이 너무 재밌어서 밥먹고 자는시간 줄여가면서까지 매일 하루에 16시간 이상씩 한다고.. 이 분이 더 잘할수는 있습니다.

    하루종일 코딩만 생각한다면 당연히 실력이 빨리 늘죠.

    그리고 졸업하고나면, 다같이 무경력으로 취업을 준비하셔야합니다.



  • DarkWanderer
    135
    2021-10-01 15:44:46

    esrse 음.. 그렇다면 클론 코딩보다는 자기가 직접 백지에서부터 개발을 하는게 더 좋다고 생각하시나요?


    현재 학원에서 하는 프로젝트에서는 제가 겨우 게시판 한개를 맡았을 뿐이라서... 개인 프로젝트를 하나 더 하는게 좋을까요? 아무래도 회원가입 로그인까지 해야 할 것 같은데, 시큐리티를 쓰지 않은 회원가입 로그인이야 할 수 있지만 시큐리티를 써서 하려면 책을 보고 해야 되네요..

  • roamer
    454
    2021-10-01 15:48:07 작성 2021-10-01 15:48:33 수정됨

    DarkWanderer

    클론 코딩을 하면 백지에서 어떻게 코딩할지 그려질텐데 말이죠 클론 코딩대로 백지에 그리면 될뿐입니다.


    시큐리티또한 어렵다고 느껴질지 언정 로그인 회원가입 한번해보면 별거없습니다. 컨트롤러단에 요청하기전에 인터셉터로 가로채서 컨트롤러보다 먼저 작동시키고 컨트롤러가 작동되게하는거 뿐입니다. 인터셉터 구글에 spring 시큐리티 인터셉터 검색하면 어떻게 컨트롤러전에 인터셉터로 가게할지 다 나옵니다. 개인프로젝트는 따로하지마시고 지금있는프로젝트에 열을 올리세요.

  • yeori
    3k
    2021-10-01 19:03:50

    제가 학식이 시절에 그렇게 공부했다가 개피봤었습니다.

    1학년때 C언어 배우는데 책에 밑줄 긋고 코드를 외우고 문법도 통째로 외우는 식으로 프로그래밍을 했습니다(잘 모르면 일단 외우자는 입시 공부 스타일)

    컴터가 없으니 그렇게라도 했던건데, 중간고사는 시험지에 푸는거라 큰 어려움이 없었습니다. 연습문제까지 달달 외워서 다 때려맞춰버렸는데, 기말때 프로젝트처럼 4시간동안 수치해석 비스무리한거 구현하는데 구라 안치고 void main (){ ..} 써놓고 3시간동안 for if 깔짝대다 함수 하나 못짜고 0점짜리 소스코드 냈습니다.(20줄도 안됨)

    머릿속에서는 모든 문법과 달달 외운 소스 코드가 뭉게구름처럼 떠다니는데, 이걸 가져다 레고블럭처럼 끼워넣는게 죽었다 깨나도 안됩디다.

    그때서야 알았던거죠.

    이거 끼워맞추는게 외운다고 되는게 아니구나...

    그때 이후로 외우는 공부는 버리는걸로 습관을 바꿔나갔는데 이게 또 잘 안됩니다. 6~7년을 그렇게 공부한 관성이 바로 고쳐질리가 없겠죠

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