2021년 회고록

MinbeomSeo·2021년 12월 31일
1

회고록

목록 보기
1/1

2021년을 회고하며

이번년도는 온전히 42seoul에서 일 년을 지냈다.
그 동안 어떤 과제를 했고, 어떤 성장이 있었는지 되짚어보고자 이 회고록을 작성한다.

Jen ~ Feb

작년 12월 말, get_next_line 과제를 끝난 이후 두 달동안 ft_printf라는 과제를 수행했었다.
같이 들어온 카뎃 동기들에 비해 속도가 느렸던 터라 꽤 조급하게 했던 기억이 난다.
하지만 먼저 통과한 카뎃들의 도움을 받으면서 무사히 통과 했었다.

Mar ~ Apr

이 기간에는 ft_server라는 과제와 cub3D라는 과제를 하며 동시에 exam02를 진행했었다.
exam의 경우, 기존에 했던 ft_printf 와 get_next_line 과제가 시험으로 나왔는데 대부분 gnl을 희망하던 (이때 당시 시험용 printf를 시간 내에 구현하려면 실수 없이 짜거나 한 번정도의 실수만 용납했기 때문이다) 나에게는 두 번이나 ft_printf가 찾아왔고, 세 번째 기회에 gnl이 나오자마자 통과했다.

ft_server과제는 현재 사라진 과제이지만 서버 관련 과제였다. C언어도 아직 생소하던 나에게는 이 과제는 정말 별천지 과제와 다름 없었다. (docker... 네 그게 뭐죠?)
처음으로 '과제 통과'를 위한 공부를 했던 것 같다. 제대로 된 서버 이해 없이 정말 주먹구구식으로 정보를 모아 쌓아올렸고, 몇 가지 부분에서 문제가 되는 부분들에 대한 설명만 들으며 헤쳐나갔다. 지금 생각해보니 정말 바보같은 짓이었다만 앞에 놓인 큰 산에 마음이 조급했던 것 같다.

cub3D의 경우는 주로 집중해서 했던 5월에 기술하겠다.

May

3월부터 시작한 cub3D를 다른 과제들과 병행하다보니 제대로 진행시키지 못했다. 다른 과제에 비해 난이도가 높은 그래픽스 관련 과제였기에 더 애먹었던 것 같다.
정말 어느 날은 울고 싶을 만큼 진행이 되지 않았고, 참고하라며 알려준 여러 사이트를 봐도 이게 그래서 무슨 소리오... 하는 불상사가 항상 발생하였지만 이 과제를 통해 정말 어떻게 동료들과 소통하면서 서로 성장할 수 있는지 배웠던 것 같다.
5월 한 달은 정말 cub3D에만 매진하며 조금씩 안되는 부분을 깨나가고, 연구하는 경험을 쌓았던 것 같다.

Jun

cub3D 과제를 끝나자마자 바로 push_swap이라는 과제를 진행했다.
이맘때쯤 과제가 재편성되면서 원래 기존의 push_swap보다는 쉬워진 과제를 할 수 있었는데, 이 과제를 하면서 비로소 리스트에 대한 확실한 이해를 할 수 있었다.
구조체를 어떻게 만들고, 5점 만점을 받기 위해 어느정도까지 효율성을 끌어올릴 것인가. 에 대한 고민은 코드에 대한 조금 더 깊은 고민을 할 수 있게 해주었다.
이 과제는 생각보다, 어렵지 않게 진행했던 것 같다.

이후 push_swap을 중순에 끝내고 pipex라는 과제를 진행했다.
이 과제는 내 2021년 최고의 과제로 손꼽히는 minishell의 전초전 격이자 파이프 개념이 처음 나오는 과제였다. 처음에는 이걸 어떻게 구현하라고? 였는데 과제가 요구하는 선에서는 기존 쉘처럼 병렬로 짜지 않아도 되었기 때문에 이때는 파이프만 쓴다. 에 만족하며 직렬로 작동하게 코드를 짰다. 그래도 이 과제를 통해서 fd와 pipe에 대한 이해는 해서 만족스러웠다.

Jul ~ Nov

2021년 최고의 과제, minishell을 시작했고, 2021년 최고의 업적, 오픈프로젝트를 진행한 달이었다. 중간에 philosophers 과제를 하긴 했으나 이 과제는 원래부터 꽤 유명한 과제였고, 주변 도움을 받기도 했고 기존에 push_swap과 같은 이유로 과제의 난도가 낮아지며 조금 수월하게 과제를 했기에 크게 기술하지는 않겠다. 다만 뮤텍스라는 새로운 개념에 대해 익힐 수 있었다.

오픈 프로젝트의 경우, 기존에 회고록을 작성했기 때문에 따로 기술하지는 않겠다.

Dec

이 달을 요약하자면 minishell이라고 할 수 있다.
결론부터 말하자면, minishell은 나에게 큰 산이었지만 결국 정복당한 산이 되었다.

과제에서 충족하는 정도로 돌아가는 shell을 만드는 것이 과제의 요점이었는데 처음 이 과제를 받았을 당시, 나는 오픈프로젝트 회고록에도 썼던 것처럼 깊은 슬럼프가 온 상태였다. 슬럼프의 이유는 여러가지였을 수 있지만 다른 카뎃들과 나를 비교하면서, 나는 왜 이렇게 느릴까. 나는 왜 이렇게 이해를 하지 못할까. 하는 자신에 대한 비난에서 출발했던 것 같다. (이게 정말 쓸모없는 생각이라는 것을 지금은 알고 있기에 하지 않는다.)

저런 정신 상태로 4서클에 있던 과제를, 이런 내가? 라는 생각을 하고 있으니 제대로 진행 될 리가 없었다. 도망치듯 오픈 프로젝트를 하면서 한 번씩 해야한다, 라고 말은 했지만 모든 동료들이 minishell을 통과할 동안, 나와 내 팀원은 제자리에서 계속 서로에게 변명을 쌓아가며 이 과제를 등한시 했었다.

하지만 오픈프로젝트를 끝내고, 남은 블랙홀 기간을 보았을 때, 더는 등한시 할 수 없는 상태에 이르렀다. 나와 내 팀원은 뭐든 어떻게든 이 과제를 끝내야했고 나는 11월 30일부터 기존에 작성했던 코드를 정리하고 다시 내가 해야할 역할을 충실히 이행하기 시작했다. 하지만 대부분의 팀 과제가 그러하듯, 완벽하게 합을 맞춰가며 과제를 수행할 수는 없었다.

팀과제는 예상대로 흘러가지 않는다

원래 기존에 얘기했던 것 보다 팀원인 분이 내 속도를 따라오지 못했다.
하지만 마냥 기다리기에 둘에게 남은 블랙홀 기간이 많지도 않았다.
결국 '내가 더 성장하는 시간' 이라는 마음으로 팀원분의 몫까지 어느정도 내가 함께 하여 과제를 끝낼 수 있었다.

짧게 세 줄로 정리했지만 저 안에 많은 일들이 있었다.
내 날카로운 말에 팀원분이 상처를 입을 때도 있었고, 나 또한 내가 왜 이것까지 하고 있는가에 대해 스트레스를 얻을 때도 있었다.
하지만 언젠가 나는 팀으로 일할 것이고, 네가 못해서, 라는 마인드는 절대 좋지 않다는 것을. 그리고 그렇게 말하는 것이 도움이 되지 않는다는 사실을 이 작은 과제를 통해서 많이 느꼈다. 그 팀원에게는 이 회고록을 통해 또 다시 사과의 말을 전한다. (나같으면 그때의 나같은 팀원이랑 정말 일 하기 싫었을 것 같다)

마치며

42seoul에서의 한 해를 마치면서 느낀 것은, 나는 정말 42seoul에 와서 인간적으로도, 개발자적으로도 많이 변했고 성장했다는 것이다.
하지만 아직 만족할 만큼의 성장을 이루지는 못한 것 같다.
그래도 계속 이 안에서 많은 사람을 만나고, 여러 경험을 통해 더더욱 성장할 것이다.
내년에는 이 회고록에 42seoul에서의 기록만이 아닌, 또 다른 기록이 쌓이기를 희망하고 또 다짐하면서 글을 마친다.

profile
42seoul member & S/W Developer

0개의 댓글