Develop/회고

Section 1을 마치며

IJY 2022. 7. 25. 03:43

C언어 개발자로 4년 9개월(17년 7월 ~ 22년 3월)이라는 경력을 내려두고 Java 개발자로써 도전을 하기 위해서 어떻게 시작할까 고민을 하던 괜찮아 보이는 커리큘럼이면서 KDT(K-Digital Training) 과정이라 국비 지원으로 무료 수강이 가능한 과정을 찾아 지원을 했으나 선발 과정에서 코테를 진행하였고 광탈을 했다고 한다... (코테에 C언어 지원 좀 해줘요!)

그래서 괜찮아 보이는 커리큘럼을 갖는 교육이 뭐 있나 찾아보고 있었는데 마음에 드는 곳을 찾을 수 없어서 그냥 혼자 공부를 할까.. 하던 중 지인의 추천을 받아 코드스테이츠라는 곳이 있다는 것을 알게 되었다.

그래서 찾아보니 이번에 KDT 과정으로 편성되어 무료 수강이 가능하다는 것을 알게 되었고, 커리큘럼을 보니 마음에 들어 지원을 하게 되었다.

 

그렇게 2022년 4월 26일(월) 코드스테이츠 백엔드 과정이 시작되었다.

 

새로운 시작을 하게 되며..

사실상 C언어 개발자로써 개발을 하다 왔기에 개발에 대한 두려움이나 거부감 등은 없었고, 그저 새로운 언어와 분야에 대한 개발 공부를 시작하다는 기대감이 다분했다.

이러한 기대감을 품고 들은 첫 강의 내용은 메타인지를 시작으로 공부하는 법이나 어떤 식으로 진행이 되어가는지, 페어 프로그래밍 시스템은 무엇인지 등 설명을 해당 과정의 설명을 중점으로 안내하는 내용이었다.

당연하다면 당연한 내용이였다, 그 전까지는 해당 과정에 대한 커리큘럼만 알고 정확히는 어떻게 흘러가는지 몰랐기 때문이다.

해당 내용 중 공부하는 법 관련 내용으로 블로그 작성의 중요성도 언급이 되었는데 이 부분에 대해 매우 공감을 했다.

개발을 해오면서 정말 후회되는 것 중 한 가지가 블로그 활동을 안 했다는 것이었기 때문이다.

회사에서 개발을 하면서 뭔가 개발을 할 때 알아봤던 내용을 정리하거나 트러블슈팅 내용들을 짧게라도 정리를 해 두었다면 좋았을 텐데.. 라는 생각을 참 많이도 했었다.

이러한 생각과 후회를 많이 한 이유는, 이것도 스펙이니까! 라기보다는 그냥 나를 위해서다.

사람은 본인이 겪었던 일이라도 시간이 흘러가다 보면 까먹어서 기억이 잘 안 나기 마련이다. 그렇기에 "예전에 이런 비슷한 일이 있었던 것 같은데..?"라고 떠올리는 경우가 종종 있게 된다.

그런데 과거에 정리를 안 해뒀다 보니 알 수 있는 방법이 기억을 더듬거나 다시 찾아보는 수밖에 없게 되는 것이다.

그래서 지금까지 후회를 하던 부분이기도 하고 이왕 새롭게 공부를 시작했으니 이번에 블로그 활동을 열심히 해보자!라고 다짐을 했다.

하지만...

 

해당 회고의 주인공

Section 1을 마치는 오늘이 왔다. 오늘은 2022년 5월 23일(월)로 백엔드 과정을 시작한지 약 1달이란 시간이 흘렀다.

열심히 공부하고 정리해서 블로그 활동을 하겠다는 다짐은 아직도 마음속에 남아있는건 맞다.

하지만 블로그를 안하다가 하려고 하니까 욕심이 너무 커진건지.. 잘 못 된 정보를 기록할 수 없다는 강박인지..

배운 내용들에 대해 정리를 하는데 너무 많은 시간이 소요되다 보니 TIL은 고사하고 그냥 블로그 작성 자체가 계속해서 밀리고 있다.

그날그날 공부를 하면서 이런 내용들을 TIL로써 블로그에 작성해야겠다! 하면서 정리를 하는데.. 끝이 없다.

처음에는 공부한 내용을 notepad++를 활용해서 적당히 정리했었는데 가끔가다 노트북을 들고 카페에서 공부를 하게 되면 정리한 내용이 동기화가 안되는 상황이 발생하여 지금은 노션을 사용하여 정리를 하게 되었다.

그러면서 문제가 더 커졌는데.. 블로그에 작성할 내용을 정리하던 글에서 노션을 위한 정리 글이 되어갔다는 것이다.

공부한 내용을 항목별로 정리하고 제목별로 정리해서 꾸미고, Miro를 활용해서 그림을 그려서 올린다던가 하는... 개인 블로그화되어버렸다.

그렇다 보니 티스토리에 올리는 게 점차 더 밀리게 되고.. 현재에 도달하게 되었다고 한다.

그래서 고민을 좀 해봤는데 TIL의 경우는 일단 당일에 배운 내용을 간단하게만 정리하고 추후 주말이나 시간이 날 때 디테일을 추가한 글을 작성하는 방식으로 바꿔볼까 한다.

이해를 잘 못하여 잘 못 된 정보를 올리게 된다면 나중에 다시 수정하여 바로잡거나 댓글로 제보받아 수정을 하는 식으로 하면 될 것 같다.

앞으로는 원래 생각했던 것처럼 노션을 이용해 간단하게만 정리해 두고 티스토리에 옮겨오는 방식으로 잘 해나갈 수 있도록 노력하겠다.

개인 블로그화 되어가는 노션 페이지 이미지
개인 블로그화 되어가는 노션 페이지

 

진도 따라가기에 대한 벅참?

지금까지 진행한 내용은 아래와 같이 정리할 수 있다.

  1. HTML, CSS를 활용한 Web 기초
  2. Linux 기초 명령어
  3. Git 기초 사용법
  4. Java 기초 문법
  5. OOP 개념 및 Java에서의 구현
  6. Java - JVM 동작 방식(simply)
  7. Java - collection framework
  8. Java - annotation
  9. Java - lambda, stream
  10. Java - I/O
  11. Java - thread

나열하고 보니 생각보다 뭔가 많아 보이기는 하다.

하지만 아직까지는 크게 벅찬 건 없다.

Linux의 경우 C언어 개발을 할 때 개발 환경이였고, Git을 이용해서 프로젝트를 진행해왔기 때문에 대강 사용법은 알고 있었다.

그리고 개발 쪽은 하나의 언어에 대해 어느정도 공부를 했다면 다른 언어에 대한 공부는 쉽다는 이야기도 있듯이 C언어 기반으로 Java의 개념을 이해하면서 넘어가고 있다.

지금까지 힘들었던 부분이라면.. stream 정도? 스트림은 아직도 좀 더 내용을 찾아보고 써보면서 익혀야 할 것 같다.

그리고 이후에 spring framwork를 공부하기 시작하면 좀 벅찬감이 있지 않을까 싶다. C를 쓰면서 프레임워크를 써본 적이 있어야 말이지.. 정말 대략적인 느낌만 알고 정확히는 어떠한 개념인지도 모르니.. 걱정이 되기는 한다.

그래도 개발을 해왔어서 그런가 못 하면 어떻게 하지..? 같은 불안감은 없다. 그저 강의의 종료 시점이 정해져 있다 보니 일정에 맞춘 속도에 잘 따라갈 수 있을지 걱정이 될 뿐이다.

 

진행 방식에 대한 아쉬운 점

해당 부분은 코드스테이츠의 진행 방식에 대한 개인적 견해이며 글의 서순이 꼬였기에 접어둡니다.

더보기

그 전까지는 모르다가 첫 강의를 듣게 되었을 때 알게되었던 내용으로, 자기주도학습을 강조하며 일정에 맞춰 일련의 콘텐츠를 제공하고 이를 이용하여 각자 스스로 공부를 하는 체계였다.

자기주도학습이 현업에서 기본적으로 필요한 건 맞지만 기본적인 부분들에 대해선 강의가 필요하지 않았을까 싶었다.

왜냐하면 본인의 경우 그나마 다른 언어지만 개발을 어느정도 해봤고, 개발을 해오면서 중간중간 짧게 공부를 했던 적이 있었기에 별 탈 없이 진행이 가능했지만 비전공자인 경우를 생각해 보면 엄청 막막했을 것 같았기 때문이다.

아무것도 모르는 상태에서 자기주도학습은.. 망망대해에 떠있는 장님과 같은 심정이 아닐까 싶다. 아무것도 보이지 않지만 뭔가 공부를 해야 할 건 많아서 갈피를 못 잡고 헤매는 그런 상황 말이다.

초반부에는 Java의 기초에 대한 공부를 진행했는데 어차피 C언어나 Java나 다른 언어나 기초 문법들은 거기서 거기라 다 알고 있는 내용이기에 디스코드에 올라오는 동기분들의 질문에 최대한 답변을 달아주며 도와주려고 노력했다. (코드스테이츠에서 공지 등을 안내하기 위한 플랫폼으로 디스코드를 사용하며, 수강생 간의 자유로운 소통이 가능한 채널이 존재)

하지만 C에서는 존재하지 않던 OOP 개념이 나오기 시작하면서 개념에 대한 이해를 하기 위해 공부를 진행하기 시작하면서 질문에 대한 답변의 빈도가 점차 줄어들게 되었고, 지금까지 개발을 해오면서 후회되던 것 중 한 가지인 개발 블로그 활동을 이번에 공부를 진행하며 꼭 하자는 다짐을 했었기에 공부한 내용을 정리하기 위한 시간이 별도로 필요했고 이렇게 시간이 소요되다 보니 더더욱 질문에 대한 답변을 할 시간이 없어졌었다. 그리고 새로운 개념에 대한 내용은 나도 모르다 보니 질문에 대해 막 답변을 해주기도 힘들었다. 이러한 이유로 질문에 대한 답변을 못 해 준 것이 아직도 아쉽게 느껴진다..

이렇게까지 질문에 대한 답변을 하려고 하는 이유는 나도 처음 개발을 접하고 공부를 할 때, 주변에 개발을 하던 지인이 없어서 뭔가 궁금한 게 생겨도 직접 물어볼 수 없던 그 막막함을 잘 알기 때문이다. 혼자 알아본다고 하더라도 이게 맞는 내용인지 확인차 물어보고 싶은데 물어볼 대상이 없는.. 그러한 막막함 말이다.

그렇기에 위에서 언급했듯 기본적인 부분에 대해선 강의 형식으로 진행을 했으면 좋았을 것 같다고 생각하는 것이다.

아무튼 코드스테이츠의 진행 방식에 대한 아쉬운 점은 이쯤 하도록 하겠다.

 

아쉬운 점이 있다면 좋았던 점도 있어야지

혼자 공부하는 것에 비해 장점으로는 여럿이서 같이 공부를 한다는 것이다.

이게 왜 장점이야? 라고 물을 수 있지만 여럿이서 같은 공부를 한다는 건 상당한 장점이라고 생각합니다.

혼자서 공부를 진행해 나가다 보면 지치고 힘들 때 방황을 할 수 있기도 하지만 여럿이서 같이 진행을 하고 있기 때문에 고민 상담도 가능하고 어떠한 부분에 대해 정말 이해가 안 될 때 질문을 함으로써 다각도로 볼 수 있는 환경이 구축되는 것이기 때문입니다.

또한 개발이라는 분야가 혼자서 모든 것을 다 하기엔 힘든 분야이기 때문에 같은 공부를 하는 동기들이 있다는 것만으로도 힘이 됩니다.

그리고 여럿이서 같이 공부를 하는 것에 대한 가장 핵심이라고 할 수 있는 부분으로 페어 프로그래밍을 뽑을 수 있습니다.

하나의 문제를 서로 생각해 보고 공유하면서 풀어나감으로써 새로운 시각의 해결 방법이나 코드 구현 시 효율성에 대해 익힐 수 있는 기회가 됩니다.

추가적으로 이러한 생각의 공유를 통해 개발자 간의 협업 시 커뮤니케이션 능력도 향상시킬 수 있으므로 혼자서는 절대 불가능 한 일을 경험해 볼 수 있기 때문에 매우 좋다고 생각합니다.