본문 바로가기
일상생활

멋쟁이 사자처럼 백엔드 스쿨 25% 회고

by DuncanKim 2022. 7. 24.
728x90

 

멋쟁이 사자처럼 백엔드 스쿨 25% 회고

 

현재 글을 쓰는 시점은 7월 24일이다. 백엔드 스쿨이 시작된 지 한 달 하고도 10여 일 정도가 지났다.

그동안 26번의 수업을 들었으며, 그중 결석은 개인적인 사정으로 한 번 정도 했으니 25% 정도를 들은 셈이다.

 

25%라고 하니까 벌써...? 라는 생각이 먼저 든다. 시간이 뭐 이렇게 빠른가 싶기도 하다.

빠른 시간은 망각을 불러온다...

사라지는 기억들을 붙잡아 놓기 위해 그동안 배웠던 것들과 일상에서 있었던 여러 가지 깨달음들을 정리해보기로 했다.

 

 

1. 프로그래밍 학습과 개념에 대한 깨달음과 변화.

 

 

1) 개념이나 기술이 생소하지는 않게 되었다.

 

한 달 간은 생소한 세계에 던져지고 익숙해지는 과정의 연속이었다. 웹과 관련된 용어를 들으면 생소하고, 네트워크 관련된 용어를 들으면 생소하고, 스택에 어떤 데이터가 쌓이고 힙에 어떻게 쌓이는데, 가비지 컬렉터가 어쩌고,,, 하는 이야기들에 익숙해지는 그러한 시간들이었다. 어떤 분야의 직업을 가지기 위해서는 그 분야에서 일하는 사람들의 '언어'를 제대로 이해할 수 있는 지식과 경험이 있어야 한다고 했다. 의사 세계에서는 의학 용어를 알아들어야 문제를 인식하고 해결하는 포인트를 잡을 수 있고, 군인들의 세계에서는 보직별로 사용하는 언어를 능숙하게 알아야 상사가 요구하는 지시사항을 이해하고 이행할 수 있듯이. 이 부분에 있어서는 유튜브가 많이 도움이 되었다. 우아한Tech에서 훈련생들이 각자 주제를 가지고 발표를 하는 것을 들어보며, 그 개념이 무엇인지 더 찾아보는 학습활동을 통해 그 개념이 어디에서 쓰이는지, 어떻게 쓰이는 지를 알아보고 블로그에 하나씩 정리해서 올리는 것을 하다 보니 이제 이 세계 사람들의 말을 못알아듣는 수준은 아니게 되었다.

 

 

2) 다양한 지식에 노출되었다.

 

백엔드 스쿨은 한 달 남짓한 기간동안 C언어, 기본적인 CS 지식, 생존 필수 프론트 지식, 웹 관련 지식, 자바 기초부터 중급까지 등 다양한 것을 경험하게 하였다. 하루 강의 시간 중 마지막 두 시간은 2시간은 자습, 그룹 회고 시간이기 때문에, 수업 시간은 실제적으로 6시간 정도이다. 많은 시간이 아니기 때문에 스스로 학습해야 하는 부분들도 많았다. 학습할 방향을 알려주고 그것을 충분히 따라가기만 하면 강의를 알아듣는 것에는 무리가 없었다.

 

수업은 중요한 개념들을 위주로 해서 코드를 뜯어보고, 문제를 해결하는 식으로 진행이 되었다. 강사님이 개념적인 설명은 최대한 수업에서 지양하셨기 때문에 좋았다. 부족하거나 궁금한 부분들은 내가 자습시간에 찾아보거나 저녁을 먹고 찾아보는 등 보충을 하였기 때문에 모르고 넘어간 부분은 없었던 것 같다.

 

 

3) 학문이 아닌 기술을 습득하자는 생각을 얻었다.

 

프로그래밍을 접하기 전까지 나는 실용적인 공부 방법과는 거리가 좀 멀었던 것 같다.

어떤 분야를 배울 때, 그것을 어떻게 '활용'할 것인지를 중심에 두지 않고, 그것이 '무엇'인지, 왜 그런 개념이 탄생하였는지, 그 분야 안에서의 관계성 파악을 주로 하고, 전체를 이해한다는 생각으로 공부를 했던 것 같다. 예를 들어 형법을 배운다고 하면, 총론과 각론으로 나뉘고, 총론에서는 어떻게 범죄로 규정할 수 있는지를 배우고, 각론에서는 살인, 절도, 강도 등의 여러 가지 범죄의 케이스들을 배운다. 법은 어떻게 적용되는지, 어떤 케이스에서 왜 그렇게 적용하였는지, 법이 해석될 수 있는 한계가 어디까지 인지만 알면 전부이다. 그런데, 각 장의 관계성에 대해서 파악하려고 하고, 총론과 각론이 어떻게 연관이 되어 있는지, 총론은 왜 생겨난 건지, 각론의 범죄들은 왜 규정된 것인지에 더 관심을 가졌었다.

(아마 공시준비를 더 했으면, 장수생 각이었을 것 같다)

 

마찬가지로 자바를 공부할 때도 마찬가지의 생각들을 할 때가 있었다. 인스턴스와 객체의 차이가 무엇이지? 가비지 컬렉터는 어떻게 생겨난 것이지? 순수한 학문적인 호기심을 자극하는 부분들이 많았다. 그렇지만, 학문적 호기심을 충족시키는 것이 목적이 아니라, 정말 실무에서 어떻게 쓸 수 있을지를 고민하려면 다음과 같이 생각을 바꾸고, 필요한 곳에만 관심을 가져야 한다는 것을 알 수 있었다. "가비지 컬렉터는 왜 존재하는 것이지? 언제 작동하는 것이지? 이것을 이용해서 코드 안에서 메모리 효율을 증가시킬 수 있는 방법이 무엇이지?" 이런 식으로 실제 활용과 연관하여 고민을 하고, 답을 찾아나가야 한다는 것을 깨달았다. 학문적 호기심이 아닌 실무적 호기심을 충족시켜야 한다는 것을 깊이 새겼다.

 

2. 같은 관심사를 가진 커뮤니티의 중요성

 

1) 회고의 첫 시작

 

회고? 스터디? 남들과 무엇인가를 같이한다는 것이 어색한 나였다. 특히 공부는 더...

남들과 같이 공부하는 건데, 어떤 식으로 해야 하는지 도무지 감이 안 왔기 때문이다.

하지만, 멋사에서 이어준 회고 팀은 이런 방식에 익숙해지는 것에 도움을 주었다. 그냥 거창한 것이 아니라 오늘 있었던, 배웠던 개념들을 다시 정리해보고 서로 모르는 것이 있으면 알려주는 정보 공유의 방식으로 공부하는 것이다. 회고 방식도 사람들과 협의하고 더 좋은 방식으로 개선해나가고 하는 것이 전부임을 알 수 있었다. 협업과는 거리가 멀었던 나의 삶의 방식이 조금 협업과 가까워지는 느낌을 가질 수 있었다.

 

2) 스터디의 첫 시작

 

멋사의 강의 방식에 익숙해지고 기본 개념도 빠르게 익혔기 때문에... 다른 것을 시도해보고 싶었다. 좀 더 지식을 능동적으로 확보해보고자, 더 협업의 기본적인 가치를 느껴보고자 스터디를 시작하였다.

 

2022.07.21 - [스터디/스프링 독서 스터디] - [스터디] 객체 지향 원리의 이해(총정리)

 

[스터디] 객체 지향 원리의 이해(총정리)

[스터디] 객체 지향 원리의 이해(총정리) 스터디가 2주차에 접어들었다. 저번주에는 객체 지향의 전신인 절차/구조적 프로그래밍에 대해서 알아보았다면, 이제는 본격적으로 객체 지향이란

masterpiece-programming.tistory.com

 

디자인 패턴에 대한 책을 읽고 스터디를 진행하는데, 많은 도움이 되고 있다. 다양한 사람들과 같은 주제로 이야기를 나누면서 궁금해하는 포인트들이 다른 것들을 보고 더 심층적으로 학습해야 할 부분이 무엇인지를 내가 알고 스스로 학습할 수 있도록 하는 힘이 되고 있다. 이번 주부터 본격적으로 디자인 패턴에 대해 이야기가 들어가는데, 객체 지향을 제대로 이해하고, 디자인 패턴을 제대로 이해하는 계기가 될 것 같다. 무엇보다도 스터디원들과 스터디가 끝난 후에 나누는 여담을 통해 개인적으로 궁금했던 것들을 해소하고 같은 수업, 같은 분야를 공부하고 있는 사람들끼리 유대감이 생기면서 '혼자' 공부하는 것이 아닌 것 같아 덜 외롭기도 하다.

 

스터디는 긍정적인 부분을 가지고 있는 좋은 수단이라는 것을 알게 되었다. 더 활발한 스터디 활동을 하지 않을까 싶다.

 

 

3. 아이디어톤, 해커톤, 프로젝트

 

아이디어톤에 낼 아이디어를 기획하고 내보았다. 처음 아이디어톤에 참가해서 어떤 아이디어를 제시해야 할 지 무엇을 기술로 구현할 수 있을지를 고민해보는 시간을 가졌다. 결론적으로 내 아이디어는 정말 아이디어였고 어떻게 기술로 구현할 것인지가 빠져있는 개발자가 아닌 사람이 기획한 아이디어가 되어버렸다. 아이디어를 제출하고 나니 이런 생각들이 스멀스멀 났는데, 이런 부분에 대해서도 더 공부가 필요할 것 같다. 앞으로 해커톤과 프로젝트가 남아있는데, 여기에서 헤매지 않고 잘 나아가기 위해서는 아이디어와 개발을 잇는 방법을 더 연구해보고, 부족한 개발 스킬을 쌓아나가야 할 것 같다.

 

https://gist.github.com/DhKimy/38a0fe8c24fa80afd524db51720a1c8a

 

아이디어톤_김동현2.md

GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

 

4. 꾸준히 무엇인가를 한 달 이상 한다는 것

 

블로그를 본격적으로 활성화시킨지 한 달 하고도 반이 지나가는 것 같다. 거의 매일 글을 썼고, 한 달 정도가 더 있으면 글이 200개가 넘을 것 같다. 매일 정리하고, 하나씩이라도 공부한 흔적을 남기려고 하다 보니 정규시간 이외에도 계속 무엇인가 찾아보고 보완을 하는 나를 볼 수 있었다. 이 과정을 통해서 빠르게 1번과 같은 깨달음을 얻을 수 있었던 것 같다. 앞으로 1일 1커밋을 더불어 해볼 생각이다. 1일 1포스팅과 1일 1커밋을 하면서 매일을 100%로 살지는 않더라도 공백은 없게끔 하는 식으로 공부를 해볼 생각이다.

 

 

5. 건강 관리의 중요성

 

7월 12일에 걸린 코로나로 한 10일 간의 생산성 저하를 얻게 되었고, 정처기 시험을 보러 가지 못하는 사태가 발생하였다.

후유증으로 기침이 심해서 저번 한 주는 정말 지옥과 같았다...

기초 체력을 다시 끌어올리고 건강한 상태에서 공부를 할 수 있도록 해야 하겠다.

 

 

6. 진행률 50%가 되기 전에 이루어야 할 것들

 

1) 웹 관련 지식을 단단하게

 

게시판을 만드는 과정에서 웹과 관련된 것들을 많이 학습할 것 같다. 지금은 JSP, Servlet을 맛보고 있으며, 진짜 기초개념만 알아보고 Spring으로 넘어갈 것 같다. 일단 디자인 패턴에 대해 익숙해져 있어야 할 것이며, 안에서 쓰는 소스코드들도 어디에 활용되는 것인지, 어떤 메서드를 활용해서 request와 response를 받아야 하는지, 완벽하게 익숙해져야 한다.

 

 

2) DB 공부

 

DB에 대해서 아직 알고 있는 것이 전무하다. 정처기는 불행히도 응시하지 못했지만, 필기 공부할 때, 제일 생소한 개념이 DB였다. 게시판 만들기 과정에서 DB를 설계하고 그 안에 데이터를 넣고 빼고 지우고 찾고 할 것인데, 이 과정을 더 내 것으로 만들면서 DB를 활용하는 것에 어려움이 없게끔 해야 할 것이다.

 

 

3) 객체지향, 디자인 패턴, 알고리즘/자료구조 공부

 

기본적으로 알아야 하는 CS 지식에 대해서 꾸준히 공부할 것이다. 요즘 백준은 들여다볼 시간도 없지만, 정말 이제는 하루에 한 시간씩이라도 문제를 풀어야 할 것 같다. 풀면서 처음보는 알고리즘은 정리를 하면서 공부를 하고 문제를 풀면 바로바로 포스팅해서 정리를 하는 것을 목표로 할 것이다. 백준 클래스로 20까지는 자바로 모두 풀어보는 계획을 해본다.

 

스터디를 통해서 객체지향, 디자인패턴을 더 공부할 수 있을 것 같다. 자바 객체 지향의 원리와 이해 책을 모두 완독 하고, 추가적으로 필요한 객체지향 책들을 탐구하거나, 아니면 다시 읽어보거나 하는 식으로 객체지향과 디자인 패턴이 자동으로 술술 나오게끔 할 것이다.

728x90

댓글