SSAFY 수료 후 현 상태 및 계획

eora21·2022년 8월 19일
0

고뇌

목록 보기
3/4

1년이라는 시간이 순식간에 지나갔다.
게임도 끊고, 하루 종일 공부하거나 프로젝트를 하며 보냈다.
당시를 회상하면 힘들고 어려운 순간들이 많았지만, 그래도 덕분에 많이 성장할 수 있었다.

SSAFY 수료 후

'당연히 합격할거야'라고 주변에서 얘기해주던 SSAFY 코치와, 모 기업 코딩테스트에서 불합되는 쓴 경험을 겪었다.

'내 어떤 점이 부족했을까?'를 계속 고민했다. 코치는 교육생들을 지도하고, 교육에 문제가 없게끔 가운데에서 조율하는 포지션이지만 나는 내 성장 욕심을 더 어필한 게 컸다고 생각한다.
솔직히, 코치를 경험하며 여러 교육생에게 도움이 되고 싶은 마음도 있었지만 나도 그 과정에서 많은 것들을 얻어가고 싶었다. 아직 미숙한 부분을 미리 공부하고, 내가 얻은 것들을 나누면 윈윈이니까.
그러나, 시간이 지나고 곰곰히 생각해보니 코치보단 '교육생의 연장'이라고 생각한 것만 같다. 어찌 보면 떨어지는 게 당연했다.

모 기업 코딩테스트는.. 공부를 제대로 안한 내 잘못이다. '오랜만에 풀어도 예전 실력 나오겠지'라는 안일한 마음으로 대비했다.

하지만 위의 경험들 덕분에, 내 진로를 고민할 수 있는 기회가 주어졌다.

나는 어떤 개발자가 될 것인가?

진로

이제까지 많은 것들을 접해 온 것 같다. 학부생때는 C# .Net WPF를, 짧은 석사 기간에는 딥러닝을, SSAFY에서는 Web FE, BE를 겪었다.

그렇다면 나는, 어떤 것을 했을 때 가장 만족도가 높았는가?
직장인 선배가 보다못해 시간을 쪼개가며 도와줬던 첫번째 프로젝트부터, 최근에도 계속 살펴보며 공부중인 '좋아하면 누르는'까지, 지금까지 했던 프로젝트들을 전부 훑어봤다.

그렇게 대략 3주동안 블로그에 정리도 하며 해당 경험들을 되새겼고, '내가 구현하고자 하는 것에 대해 깊이 고민하고 구현했을 때' 많은 만족감을 얻는다는 것을 깨달았다.

그리고 '거슬리는 게 생기면 끝까지 집착하는' 경향 또한 있다는 것을 파악했다. 아이러니하게도, 이건 가장 불만족스러운 프로젝트에서 얻어낼 수 있었다. '감별'에서 화면구성을 하고 있을 때, 사파리에서 렌더링이 깨지는 현상을 발견했었는데 계속 마음에 걸렸다. 컴포넌트들을 더 만들고, 페이지를 구성하는 게 시간상으로는 효율적이었겠지만 결국에는 사파리 환경에서 돌려보며 이런저런 테스트로 해결..했는데 하루가 다 지나갔더라.

이러한 내 특성들을 고려하여 Web BE를 선택하게 되었다. 최대한 효율적인 방향으로 계속 고심하고, 그에 따를 이펙트를 예상하는 모든 과정들이 언제나 재미있게 와닿았던 것 같다. (추가로 사용자들의 피드백도 빠르게 받아볼 수 있고 말이다.)

어떻게 공부할 것인가

막상 'BE를 공부하자!' 라고 하니 어떻게 공부해야 할 지 감이 오지 않더라.. 무엇부터 시작하고, 어떻게 발전시켜 나아갈 것인가?

SpringBoot

'좋아하면 누르는' 프로젝트는 계속해서 발전시켜 나아가기로 했다. 따라서 SpringBoot에 대해 깊게 알아가는 게 중요하다. 과연 내가 이해하며 코드를 작성했는가? 시간적 압박과 배경지식의 부재로 인해, 그저 덕지덕지 가져다 붙이진 않았는가?

전공자분이 여러 어노테이션이나 스프링에 대해 알려주시긴 했으나, 내 것으로 만들지 않고 진행한 부분이 곳곳에 보였다. 따라서 공부가 필요하겠다고 판단, 김영한님의 모든 강의를 한 번에 구입했다.

현재 로드맵을 따라 열심히 공부중이다. 내가 모르는 걸 알아가는 쾌감도 있지만, 왜 자꾸 내 부족함만 보이는 것인지 모르겠다.. 더 더 열심히 하는 수밖에 없지, 뭐.

알고리즘

BE 구축 시 효율적인 방법을 고안해내야 한다. 사용자의 UX를 위해서도 최대한 빠르고, 간결한 구조를 가지려면 그만큼 머리가 유연해야 한다. 다양한 사고를 해야 한다.

즉, 알고리즘 문제를 많이 풀어보며 적절한 자료구조를 적용하고, 다방면의 시선으로 살펴볼 수 있는 능력이 필요하다고 판단되었다.

따라서 2학기가 시작되며 중지했던 프로그래머스를 다시 풀고 있다. 스터디를 다시 활성화시킬까 했었으나, 내 흐름과 필요성에 맞춰 진행하기로만 했다.

파이썬 기준으로 2단계 문제는 모두 풀었고, 3단계 문제 3개만 남겨놓고 있다.
100위권은 상상도 못 했는데, 정말 뿌듯하다. 하지만 그 중에서 제일은, '내 힘으로 풀려고 노력했다는 것'이다.

답을 절대 보려 하지 않았다. 예전 스터디 때도 그랬지만, 타인의 답을 듣는 순간 그 쪽으로만 생각이 굳어지더라. 따라서 이런 저런 생각을 계속 하며, 당장 답이 안나오더라도 매일 고민했다.
20분만에 풀어낸 것도 있는 반면, 5일째 새벽에 문득 아이디어가 떠올라서 맞춘 것도 있다.

나머지 세 문제도 모두 내 머리로 풀어낼 것이다. 그 후 자바로 다시 한 번 풀며 자료구조 공부 & 블로그에 정리할 예정이다.
(사실 자바 풀이와 파이썬 풀이를 둘 다 올리며 글을 작성할 예정이었으나.. 두 문제는 미리 올리게 되었다. 자물쇠와 열쇠는 풀이 방식이 다른 사람들이랑 많이 다른 듯 해서, 등산코스 정하기는 파이썬으로 푼 사람이 내가 처음이어서 먼저 작성했다.)

BE 로드맵

roadmap.sh에 작성된 BE 로드맵이 있더라. CS적인 공부 흐름이 적혀있는 듯 했다. 제일 처음은 인터넷에 관한 내용이었고, 그 다음엔 OS였다(FE는 직접 겪어본 적이 있으니 제외).

둘 다 내게 부족한 것들이었다. 물론 프로젝트를 진행하며 이것저것 공부했고, 그 와중 얻어가는 것도 많았지만.. 깊게 들여다 볼 수록 기본적인 CS 지식이 너무나도 중요하다는 것을 느꼈다.

따라서 우선 책 2권을 샀다. 성공과 실패를 결정하는 1%의 네트워크 원리로 네트워크를, 운영체제 10판으로 OS를 공부하려 한다.

네트워크는 혼자 읽으며 정리해도 괜찮을 수준이라 하지만, 운영체제는 많이 힘들 것이라 한다. 하지만 운영체제 공룡책 강의가 인프런에 무료로 올라와 있기에..! 같이 보며 공부하려 한다.

물론 영한님 강의 먼저 보고 나서..! 리팩터링은 제대로 해야 하니깐.

앞으로의 계획

공부할 방향성은 잡았으니, 우선 열심히 학습할 것이다. 그 과정에서 많은 것들을 몸으로 느껴보고, 순간 순간 필요한 공부가 생겨난다면 그 역시 리스트에 추가하고 정리해 나아갈 것이다.

또한 직접 프로젝트를 운영하며, 많은 것들을 깨닫고 점차 몸집을 키워나가는 개발자가 될 것이다.

하지만 궁극적인 목표는, 내 지식을 다른 사람들과 나누는 것! 내가 잘 아는 부분을 나누고, 내가 모르는 부분에 대해 배우며 더 강력하게 성장할 것이다.

profile
나누며 타오르는 프로그래머, 타프입니다.

0개의 댓글