[회고록] 3학년 겨울방학을 마치며..

k·2024년 3월 5일
1

회고록

목록 보기
3/3

부족했던 것..

방학동안 여러 프로젝트를 진행하려 했지만, 중간에 기본적인 CS 지식이나 트레이드 오프에 대한 관점이 뚜렷하지않아서 하나의 토이 프로젝트를 마치고 개인 공부를 불태웠다.

얻은게 많은 만큼 참 짧은 한 해였다.

처음에는 무작정 많이 만들어보자는 생각을 많이 했던 것 같다. 이 개념이 나한테 들어오는지도 들오지않는지도 신경쓰지않고 만드는 것에만 의의를 두면서 한해를 보냈던 것같다.

이 것이 문제가 될 줄은 꿈에도 몰랐다... 허허

사용해본 것이 많은 만큼 부족한 부분도 많았고 최적화나 부하에 대한 개념을 이해할 때, 실질적으로 적용할 수 있는 내용이 거의 없었다. 쉽게 말해서 기초 가 부족했었다는 것이다. 이러한 과거 회상을 기반으로 회고록을 작성해 보려고한다.

터닝 포인트

내 개발 관점이 바뀌게 된 포인트가 올해 존재한다고 당연 확신할 수 있다.

  • 어떻게 효율적이고, 더 많은 트래픽을 처리할 수 있을까?
  • 정말 내가 만든 프로젝트가 상업화 될 만큼 안정성이 있는가?
  • 얼마나 많은 사람을 수용할 수 있을까?

단순히 이런 생각들이 해커톤을 한 이후에 많이 들었던 것 같다.

좋은 프로젝트를 만들려면 기반에 대해서 이해하고 그 것을 토대로 최적화할 수 있는 방법에 대해서 이해해야하고, 또한 내가 만든 프로젝트가 안정성 있는지 확인하기 위해서는 부하에 대해서 견딜 수 있는지 확인을 해야하는데 그러한 호기심에서부터 시작된 머릿 속 질문들을 해결하기 위해서 많은 인터넷 방황을 하며 정보를 찾았고 내가 가야할 방향을 잡을 수 있게 되었다.

feat. 스프링부트와의 첫만남..

터닝포인트 중에 하나는 스프링부트를 처음 사용하면서 배우는 과정에서도 느꼈던 것 같다. 하나의 프레임워크에 조합으로 프로그래밍을 하다보니 단순한 작업은 일련의 프레임워크 내에 존재하는 라이브러리의 집합이였고, 이는 내가 성장하는 것에 걸림돌이 되었다.

걸림돌을 극복하기 위해서 내부적으로 도대체 어떻게 소통하고 내가 어떻게 커스텀마이징 할 수 있는지 생각을 했고, 해당 생각이 좀 더 좋은 코드를 만드는데 한 몫했다고 생각한다.

작은 에피소드 ( ep. spring security 참 .. 어려운 녀석)

내가 스프링을 통해서 프로젝트를 진행하려고했는데, Spring Security를 통해 세션 쿠키를 통한 인증 방식을 구현하려고했다. 이미 존재하는 필터는 application/json 형식의 데이터를 파싱하는 것을 지원하지않았기 때문에, 많은 난항이 있었다.

어떻게 해야하지 생각하던 찰나, "직접 만들면 이런문제가 없잖아?"라는 생각으로 조금 더 깊게 공부를 했더니 필터라는 개념이 있었고, 해당 개념을 공부하면 내가 직접 원하는 방식으로 파싱하고 처리할 수 있겠다고 생각해서 공부를 했다.

현재는 잘 만들지는 못하지만, 어지간한 인증방식은 스프링으로 간단하게 만들 수 있다고 자신할 수 있다.

향후 계획

여전히 부족한 응애 개발자이지만, 내가 가야 할 방향을 방학동안에 찾았으니, 앞으로 나아가기만하면 된다고 생각한다.

내가 지향하는 개발자는 그저 구현만 하는 개발자가 아닌 코드와 소통하는 개발자로써, 좀 더 유연하고 최적화된 코드를 짤 수 있도록 나를 성장 시키는 것이 가장 주된 목표이다.

한 부분을 깊게 파는 것은 좋을 수도 있지만, 좁은 시야를 필연적으로 가지게 된다는 단점이 존재한다.
그렇기 때문에, 적당한 깊이에서 많은 것을 경험해 보는 것이 좋다고 생각이 들었다.

내 말대로라면 나는 매우 깊은 지식을 요하기 보다는 많은 것을 경험하며 내가 사용하는 라이브러리들이 왜(WHY?), 어떻게(HOW?) 작동하는지에 대한 생각을 가지며 적어도 내가 하는 부분에 있어서는 오롯이 나의 스타일로 녹여낼 수 있도록 성장하려 한다.

이번 년도 목표

  • 인턴 경험
  • 대규모 프로젝트 경험
  • 많은 기술보다는 내가 하는 기술에 대해서 오롯이 완벽하게 이해하기

이번 년도 목표는 그렇게 크지않다.
누가보면 꿈이 작다고 할 수도 있다. 근데 나는 절대 허황된 꿈은 꾸지않는다. 당장 내가 필요로하고 할 수 있는 일을 생각했고, 위와 같은 결과가 나왔다.

해당 목표는 내가 원하는 개발자가 되기 위한 밑기둥을 세우는 작업이라 생각된다.

가는 길이 힘들지, 아니면 여유로울지 아무도 모르지만 최선을 다해서 성장하는 개발자가 되려고 한다.

profile
You must do the things you think you cannot do

0개의 댓글