본문 바로가기
etc./Diary

2022.10.21

by k-mozzi 2022. 10. 21.
반응형
Preface


다이어리 카테고리를 만들었다.

 

글의 서문을 작성할 때 그날의 생각과 느낌을 쓸 때가 종종 있는데, 앞으로는 내가 과거에 무슨 고민을 했는지 한 눈에 볼 수 있도록 해당 카테고리에 글을 따로 정리해 둘 생각이다.

 

예전에 썼던 내용도 전부 업로드하려 했지만, 과거의 날짜로 글을 쓰는 것이 불가능해 포기했다.


 

며칠 전 친구와 이야기를 하던 도중 문득 내가 백엔드 개발자의 역할도 정확히 모르면서 무작정 공부를 하고 있다는 것을 깨달았다.

 

프로그래밍 언어를 통해 어떻게 서버를 구축한다는 것인지, 웹 서버를 구축하고 운영하기 위해 필요한 기본적인 기술엔 무엇이 있는지, 알고리즘을 배워서 어떻게 사용한다는 것인지 등 개발의 근본이 되는 질문에도 명쾌히 대답할 수 없었다.

 

지금 생각해보면 우선 간단한 프로그램을 개발해보며 나에게 부족한 것, 현재 상태에서 가장 필요한 것 등을 직접 느낀 후 공부 계획을 세우는 것이 당연한데,

 

나는 지금껏 주변에서 중요하다고 말하는 것, 유튜브에서 꼭 배워야 한다고 광고하는 것 등을 무작정 선택해 공부했던 것 같다.

 

내가 전공자도 아닐 뿐더러 졸업 후 최대한 빨리 취직하려면 가능한 다양한 기술을 익혀야 한다는 불안감에 사로잡혀 본질을 놓치고 숲이 아닌 한 그루 한 그루의 나무에만 집중하고 있던 것이 아닐까 싶다.

 

조금 늦은 감이 있지만 지금이라도 데이터베이스를 연동하여 작동하는 게시판을 제작해 볼 생각이다.

 

가능하면 도메인도 발급받아 로컬에서만 작동하는 코드가 아닌 주소만 입력하면 누구든 볼 수 있는 웹 서버를 구축해 보려고 한다.

 

게시판 개발을 마친 후엔 생활코딩의 Web강의를 보고, 다시 책으로 돌아와 Java, JSP, Spring, Linux 순으로 공부할 계획이다.

 

물론 공부 도중 우선순위가 바뀔 수도 있다.

 

서두르지 말고 나에게 정말 필요한 기술들을 선별하여 차근차근 습득한다면 제멋대로 흩어져 있던 지식들이 제 자리를 찾아갈 수 있을 것이라 생각한다.

 

 

 

라고 말은 했지만, 사실 요즘 내 공부 방법에 회의감이 든다.

 

나는 어렸을 때부터 지금까지 무슨 일을 하던 근간이 되는 부분을 탄탄히 다지지 않으면 결국 이도 저도 아니게 된다는 생각을 갖고 살았기 때문에 항상 기본기를 제일 중요하게 여겼다.

 

개발 분야에서도 기본기만 확실히 잡고 가면 다양한 기술로의 확장성도 뛰어날 것이라고 생각해 소프트웨어 공학, OS, Python, DB, Java 등 모든 기술을 공부할 때 언제나 기본서를 구매해 정독하며 공부했다.

 

그러나 이렇게 밑바닥부터 하나씩 쌓아올리는 공부 방법은 시간도 오래 걸릴 뿐더러 실력이 향상되는 속도도 굉장히 더디다.

 

현직 개발자로 재직중인 친구가 이런 말을 했었다.

 

"너처럼 새로운 기술을 배울 때 책부터 사서 공부하는 습관이 있으면 실무에서 급히 새로운 기술을 사용해야 할 땐 어떻게 할 것이냐, 잠시만 기다려 달라고, 책좀 사서 보고 오겠다고 할거냐.

개발자는 배워야 할 것도 많고 정해진 기간 내에 아웃풋을 산출해야 하는 직업이다.

니가 모르는 것이라도 상황에 따라 구글링을 하며 그 때 그 때 필요한 기술을 사용할 수 있는 능력이 필요하다.

니가 언제까지 매일 하루 몇 시간씩 책을 보며 공부할 수 있을 것 같냐.

책에만 의존하면 너는 어떤 회사에서든 분명 실적이 제일 안 좋은 직원이 될 것이다.

물론 시간이 많이 지나면 너의 방법이 빛을 보고 그 능력을 인정받을 수도 있다.

그러나 다른 동료 개발자들은 처음부터 인정받고 시간이 지나면 더 높은 곳으로 가 있을 텐데, 니가 거기서 오는 상대적 박탈감을 감당할 자신이 있냐. 공부 방법을 조금 바꿔 보는 것은 어떨지 생각을 한번 해 봐라."

 

이 말을 듣고 내가 추구하는 방법이 정말 틀린 것인지, 내가 말하는 개발자의 기본기란 과연 어디까지인지, 친구가 말하는 공부 방식은 일정 수준까지 도달한 상태에서나 의미 있는 것이 아닌지 등 정말 많은 생각을 했다.

 

물론 나의 방식이 틀렸다면 언제든 변화를 줄 의향이 있다.

 

어쩌면 정직한 사람은 바보가 되는 세상에서 곧 죽어도 FM대로 공부하는 사람이 뒤쳐지는 것은 당연한 결과일 수도 있다.

 

다만, 섣불리 판단하기 보단 변화를 줄 시기를 적절히 선택할 수 있도록 충분히 고민할 시간이 필요할 것 같다.

 

현재 상태에서 내가 생각하는 백엔드 개발자의 기본기는 Java, JSP, Spring, SQL 정도이다.

 

기초적인 CS 지식과 DB 등은 이미 공부했으므로 적어도 Spring까지는 제대로 된 책을 보며 차근차근 공부하고 싶다.

 

아직 시간이 있으니 다양한 가능성을 열어둔 채로 천천히 생각해보자.

 

728x90
반응형

댓글