olrlobt
[SSAFY/회고록] 싸피 10기 1학기 수료와 스터디 경험 회고 본문
내가 정말 들어가고 싶었던 삼성 청년 SW 아카데미의 5개월간의 1학기 과정이 모두 끝이 났다.
1학기를 마무리 지으며, 학기 중 코딩 집중과정은 어떤 식으로 진행되었고 나는 어떻게 학습을 했었는지,
내가 얻은 것과 아쉬웠던 것을 중점으로 작성하면서 지난 나를 되돌아보려고 한다.🤔
또한 내가 SSAFY 10기 1학기 과정 중 가장 기억에 남는 알고리즘 스터디 운영 및 진행 방식에 대해 자세히 적어보고, 해보았던 다른 스터디에 관해서도 간단히 언급하려고 한다.
그리고 1학기에 이룬 성과와 앞으로 어떻게 할 것인가로 마무리하겠다.
🚀스타트캠프
입과 후 약 2주간의 시간은 스타트 캠프 기간으로, 본 교육 과정에 들어가기 전에 싸피에 대한 안내와 안전교육, 싸피에 적응할 수 있도록 게임 같은 활동을 통해 친구들과 친해질 수 있는 시간을 갖는다.
이후, 1주가 지난 시점에서 임시로 배정된 반을 반 배정 시험을 통하여 본반으로 배정하는데, 이러한 과정 때문에 많은 친구들이 첫 1주 임시반에 있는 동안에는 소극적이고, 친구를 만드려고 하지 않는다.
하지만, 나는 여기서 친해진 7명 정도의 친구들과 1학기 동안 스터디를 같이 진행할 정도로 친해졌고, 2학기를 앞둔 지금도 이 친구들과 함께 스터디를 진행 중이며, 팀 프로젝트도 기획 중에 있고, 싸피레이스(2학기 게이미피케이션 대회)를 같은 팀으로 진행하기도 한다.
잠깐 보고 말 사람이라고 허투루 대하지 않고, 최선을 다했던 덕분에, 좋은 사람들과 함께 더 성장할 수 있는 기회를 얻었다고 생각한다.
🏃♂️본과정
본 과정은 백엔드 기초 교육과 알고리즘 수업을 번갈아가면서 진행되었다. 나는 이 과정에서 수업하는 대부분의 내용을 이미 국비교육에서 듣거나, 강의를 통하여 알고 있었기 때문에, 따로 시간을 투자하면서 공부하지 않고, 개인적으로 공부를 진행하거나 스터디 진행에 힘썼던 것 같다.
물론 내가 모르는 내용이 있고, 부족한 부분도 있지만, 그 부분만 캐치해서 듣는 것은 상당히 까다로운 과정일 것이라 생각되어, 과감히 듣지 않고 모르는 내용에 대해 그때그때 찾아보면서 진행했다. (이렇기 때문에 시험 성적은 거의 포기했었다)
시험은 한 주에 한 번씩 진행된다고 생각하면 될 정도로 많이 진행되었다. 시험과 평가라는 것이 학생들을 더 교육에 집중하게 했고, 주말에도 자발적으로 학습하게 만들었다고 생각한다. 우리 반은 다른 반에 비해 유독 돈독한 관계가 잘 형성되어서, 주말에도 만나가면서 함께 공부를 진행하기도 했다.
또한, 1학기 전반에 걸쳐 프로젝트를 진행하는데, 이를 "관통 프로젝트"라고 부른다. 배운 내용을 하나하나 적용해 나가며, 페어와 함께 프로젝트를 진화시켜 가는 과정을 거친다. 하나를 배우고 나면, 그 내용을 적용시키기 위해 프로젝트를 뒤엎기도 하고, 페어가 바뀌면 더 좋은 결과물을 위해 서로의 코드를 합치기도 한다. 처음에는 "이럴 거면 그냥 처음부터 교육 다 하고, 프로젝트를 시작하는 게 더 효과적이지 않나?"라는 생각도 들었지만, 모든 교육은 나를 중심으로 이루어지는 것이 아니니까, 처음 배우는 사람들에게는 꽤나 효과적인 교육 방법이라는 생각이 들었다.
그리고 모든 교육이 상당히 체계적이며, 진도는 상당히 빠르게 진행되었기 때문에, 완전히 처음 배우는 사람들이라면 개인적인 시간을 많이 투자해야 했을 것으로 생각 든다.
📖스터디
본 과정 외에, 학생들은 자율적으로 스터디를 만들어 학습을 진행한다. 반에 따라서는 강제로 스터디를 만들게도 한다고 하는데, 우리 반은 완전 자율적인 반이었다.
나는 1학기 동안 알고리즘 스터디, 기술 블로그 스터디, 북 스터디를 진행했고,
알고리즘 스터디와 기술 블로그 스터디는 직접 인원을 모아서 스터디 장으로 진행하였다.
앞서 말했듯, 알고리즘 스터디는 많은 성과를 이룬 성공적인 스터디라고 생각해서 진행 방식과 경험을 자세히 소개하려고 한다.
🖊️알고리즘 스터디
1학기가 시작하고 얼마 지나지 않아 근처에 앉은 친구들과 스터디를 진행하려고 계획을 했고, 반 친구들과 같이 진행하면서 친해지면 좋겠다는 생각에 MatterMost(SSAFY에서 사용하는 메신저)를 통해 모집 공고를 올렸다.
처음에는 6명 정도면 좋겠다는 생각으로, 초창기 인원 3명을 모은 뒤 MatterMost 소통 채널을 이용하여 모집 공지 글을 올렸다.
...
...
그런데 참여하고 싶다는 인원이 하나 둘 점점 늘어나더니,
학기 마지막에는 17반 인원 23명 중 무려 20명이 스터디에 참여하였다.
(남은 3명은 학기 중 취업에 나갔거나, 코테에 떨어져 본 적 없다거나, 삼성 SDS_B형 보유자이시다.. )
스터디를 정식적으로 운영해 본 것도 처음이었고, 이렇게 많은 인원이 들어올 거라는 생각은 전혀 하지 못했어서, 진행에 많은 시간을 투자했다.
많은 인원들의 니즈를 충족시킬 진행방법은 무엇일지 오랫동안 고민하고, 같이 하기로 한 형들에게 물어봐가면서 진행 방법을 정했다.
진행 방식을 간단히 소개하자면, 매주 3~4명씩 새로운 조를 형성해 주고, 주차별 문제를 출제해 준다. 스터디원들은 조원들과 소통하면서 문제를 해결해 오고, 정해진 시간에 오프라인 코드 리뷰를 진행했다. 최대한 많고 최대한 다양한 코드를 접할 수 있도록 하는 것에 초점을 맞췄다.
자세한 진행 방식은 아래와 같다.
진행방식
처음에는 조를 형성할 때, Java를 안 쓰던 사람들도 있었을 테니 Java에 익숙하거나 알고리즘 실력이 있는 사람들에게 양해를 구하고 조장으로 고정 배치를 한 상태로 진행했다. 처음 배울 때 Java를 원래 쓰던 사람에게 배우는 것이, 가장 빨리 성장할 수 있다고 생각해서였다. 하지만 이렇게 진행이 계속되다 보니, 스터디가 아닌 멘토링이 되어간다는 생각이 들어서 이내 전체 랜덤하게 조를 형성하기 시작했다.
처음엔 조를 형성하는 것도 네이버 사다리 타기를 통하여 일일이 수동으로 작업하였었는데, 자동화의 필요성을 느껴 GithubActions를 공부하여 자동화 시스템을 구축하였다.
이후, 편성된 조를 지정된 시간에 MatterMost 채널의 Webhook을 통하여 스터디원들에게 공지해 주었다.
또한 이 밖에도 스터디원들이 열심히 쌓아 올린 자료가 누군가의 PR 실수로 인하여 사라지는 일이 없도록, GithubActions를 통하여 PR 검증 체계를 만들었다.
간단히. docs/AuthRegistry.txt 에는 아래와 같은 형식의 이름들이 : 콜론으로 매칭되어 있는데,
olrlobt:LeeSeungheon // Githuv사용자명 : 폴더이름
PR을 날린 Github 사용자가 수정한 파일이 폴더 이름과 같지 않다면, 아래와 같이 X표시와 함께 Merge를 진행할 수 없도록 했다.
알고리즘 문제 출제는 백준 그룹을 이용하여 문제를 출제하였고, 문제 선정은 직접 문제와 문제를 푼 사람수, 알고리즘 종류, 정답률을 일일이 확인하며 출제를 하였다. 혼자 매주 12문제씩 출제하기에는 다소 시간이 걸리는 작업이어서, SSAFY 17반의 반장 형의 도움을 받아 번갈아 가면서 출제를 하며 진행했다.
백준에서 문제를 선정하는 과정도 자동화를 해 보려고 고려를 했지만, 백준의 경우 정답률이 낮거나 이해하기 어려운(수학 지식을 요구하는) 등의 문제를 필터링할 수 없을 거 같아서, 최종적으로는 시도하지 않았다.
이렇게 올라간 문제를 스터디원은 모임 시간까지 풀어서 Github에 PR로 코드를 제출하고 코드 리뷰를 진행한다.
코드 리뷰에는 간단한 규칙이 있었는데, 비난은 절대 절대 금지시켰고, 본인이 자신의 코드를 자신 있게 설명할 수 있도록 본인이 짠 코드에 자신감을 갖고 말하라는 간단한 규칙이다.
PR을 제출할 때는 간단한 템플릿을 이용해서 해결 방법과 각자 고민한 것을 메모할 수 있는 칸을 만들었고,
코드를 작성하는 칸도 만들어 놓았다. 이후 에는 자유롭게 본인의 풀이를 잘 설명할 수 있게 작성하면 된다.
모임 시간이 되면, 정해진 장소에 모여 코드 리뷰를 진행한다. 처음에는 다들 낯을 많이 가려서 본인의 풀이를 설명하는 시간만으로 스터디가 진행되었지만, 스터디가 진행됨에 따라 남의 코드에서 궁금한 부분이나, 풀이 방식을 물어보는 시간이 점점 늘어나면서 스터디의 질이 높아졌다.
이렇게 7월 말부터 11월 중반까지 1학기 내내 알고리즘 스터디를 운영하였다.
다행히도, 열심히 하고자 하는 학구열 넘치는 친구들 덕분에 알고리즘 스터디는 순조롭게 진행이 되었고, 우리 스터디는 SSAFY 10기 우수 스터디로 매 달 선정이 되었다.
학기 말에는 강사님과 상담할 때, 강사님께서 스터디 운영 방식에 대해 자세히 물어보시기도 하였고, 나의 마지막 롤링페이퍼에 스터디에 관한 이야기가 많았던 것으로 보아, 꽤나 성공적인 알고리즘 스터디를 운영했지 않았나 하는 생각이 든다.
알고리즘 스터디 Github
혹시라도 해당 스터디가 더 궁금하다면 아래 링크를 참고하면 좋을 것 같다.
https://github.com/SSAFY-10th-Seoul17/algorithm_ssafy
📝기술 블로그 스터디
나는 2023년 1월부터 블로그를 시작하면서 천천히 글을 쓰기 시작했고, SSAFY에서 많은 지식을 얻은 것을 바탕으로 많은 포스팅을 올리고 싶었다.
개발자로서 기록하고 문서화하는 것은 중요하다고 생각했기 때문에, 이를 함께할 친구들을 모아 같이 진행하면 더 좋을 것이라 생각되어 스터디를 기획하였다.
기술 블로그 스터디는 별도의 모임을 갖지는 않고, 블로그에 포스팅을 올리면 해당 포스팅을 스터디원들과 공유하면서 서로 자극을 많이 받자는 목적이 강했다.
블로그를 처음 하는 친구들을 포함하여 6명 정도의 인원이 하겠다는 의지를 보였고, MatterMost 채널에서 진행을 하였다.
처음에는 다들 어떤 것을 주제로 포스팅을 해야 할지 많은 고민들을 했지만, 차차 포스팅이 쌓여가면서 자연스러운 포스팅들을 많이 했다.
앞서, 알고리즘 스터디에서도 MatterMost Webhook과 GithubActions로 반복적인 작업을 자동화했던 경험을 말했었다. 블로그 스터디에서도 역시 포스팅을 공유하는 과정이 나와 스터디원들에게 불필요한 작업이라 생각되었고, 자동으로 링크를 공유하는 프로젝트를 진행하였다.
간단하게 Spring과 Java의 크롤링 라이브러리인 Jsoup을 이용하여 Tistory와 Velog의 포스팅을 크롤링해 오고, GithubActions로 매일 정해진 시간에 새로운 포스팅이 있는지 탐색하여 webhook으로 전송하는 방식으로 제작했다.
해당 자동화 프로젝트는 아래에서 확인할 수 있다.
https://github.com/olrlobt/Blog-bot
기술 블로그를 운영하면서 가장 중요한 것은 공부를 위해 블로그를 쓰는 것이지, 블로그를 위해 공부를 하는 것이 되면 안 된다고 생각한다. 블로그 운영 초기에 나는 공부하는 시간보다 포스팅에 시간을 더 많이 투자하기도 하였었으니 가장 잘 알고 있는 부분이었다.
따라서, 업로드 주기에 대한 제한은 해제하였고, 자유롭게 본인이 여유로울 때 포스팅을 할 수 있도록 진행 방식을 변경하였다. 1학기가 진행됨에 따라 다들 공부에 투자해야 할 시간이 많아지면서, 포스팅 수는 점점 줄었지만 기술 블로그를 시작하게 한 것에 큰 의의를 두었다.
📚북스터디
나는 스타트 캠프 때 만난 친구들과는 함께 북스터디를 진행하였다.
학기 초부터 같이 하자는 말들이 오고 갔지만, 알고리즘 스터디와 학업에 집중하기에도 시간이 많이 부족했기 때문에 처음에는 거절을 하였었다.
그리고 알고리즘 스터디가 어느 정도 안정이 되고 나서야 다시 같이 하자는 말이 오가게 되었고, 우리 반 내에서도 이미 북스터디를 진행하는 일원들이 있었지만, 먼저 같이 하기로 한 스타트 캠프 친구들과 북스터디를 진행하게 되었다.
책은 이상민 저자의 "개발자가 반드시 알아야 할 자바 성능 튜닝 이야기"로 진행을 하였다. 해당 책은 연로그(https://yeonyeon.tistory.com/120)에도 언급이 되어 있는 책으로, 스터디를 진행하는 친구들이 챕터와 내용을 보고 결정한 책이다.
나도 평소에 성능에 관해 관심이 많았기 때문에 동의 하에 진행이 되었다.
북스터디는 다들 진행해 본 경험이 없어서, 구글에 많이 나오는 방식들을 참고했다. 특히 우아한 스터디에서 "모던 자바 인 액션" 책으로 북스터디를 진행한 레퍼지토리를 많이 참조하였다. (https://github.com/woowacourse-study/2022-modern-java-in-action)
또한, 우리 반에서 이미 진행 중인 방식도 많이 참조를 해서 진행했다.
진행 방식을 간단하게 설명하면, 정해진 기간까지 정해진 챕터를 읽고, 해당 내용에 관해 궁금한 내용을 Github 레퍼지토리에 Issue로 작성한다. 해당 이슈를 담당하는 다른 스터디원은 해당 내용에 대해 자료를 조사하고 정리하여 Issue에 답변하고, 모임에서 발표까지 진행하였다.
진행 방식 자체에는 되게 만족스러웠지만, 연로그에도 언급되어 있듯이 오래된 책이라는 점에서 아쉬운 점이 많았다. 또한 흥미로운 내용도 많았지만, 아직 경험해 보지 않은 멀티스레드 환경이나, 성능 테스트 관련한 챕터가 많아서 이해에 어려움이 많았다.
현재는 해당 책을 다 끝내고, 두 번째 책으로 "Effective Java"를 선정하여 진행하고 있다.
이 책으로 스터디를 진행한 지는 이제 2회 차 정도 되었지만, 책의 내용이 아직까진 너무 만족스럽고 아이템 별로 실습을 따라 할 수 있는 부분이 재밌었다. 아직 더 진행을 해 보아야 알겠지만, 이 책을 마무리할 때쯤에는 얻은 것이 많을 것이라는 생각이 든다.
"개발자가 반드시 알아야 할 자바 성능 튜닝 이야기" 북스터디의 진행은 아래에서 확인할 수 있다.
https://github.com/SSARTEL-10th/JPTS_bookstudy
이렇게 작성하기 전에는 1학기에 한 것이 별로 없다고 생각했는데, 정말 많은 일들이 있었고 많은 것들을 얻지 않았나 생각이 든다. 특히 스터디도 많이 진행해서, 학기 중에 칼퇴근하는 일이 없었던 것도 생각하면, 열심히 1학기를 다니지 않았나 뿌듯한 생각이 든다.
그렇다면 내가 1학기 동안 SSAFY를 다니면서 이루어낸 것은 무엇이 있을까 정리해 보았다.
🎁성과
우수 스터디 선정과 3개의 스터디
3개의 스터디를 진행했다. 스터디를 하며 많은 지식과 많은 친구들을 얻었다.
알고리즘 스터디를 스터디 장으로 성공적으로 진행하며 우수 스터디로 매 달 선정되었고 많은 경험을 얻었다.
내가 운영한 스터디를 많은 친구들이 좋아해 줘서, 너무 뿌듯했다.
삼성전자 SW역량평가 B형 취득
SSAFY에서 진행하는 B형 대비 특강을 수강하고, 학기 진행 중 B형을 취득하였다.
전국 SSAFY 10기 교육생 1150명 중 이번 10기에서는 44명의 B형 취득자가 나왔다고 한다. 그중 우리 반에서만 4명의 취득자가 나왔다. 정말 대단한 반이다.
1학기 프로젝트 최우수상, 1학기 성적우수상
1학기 관통 프로젝트에서 운 좋게 좋은 페어를 만나 최우수상을 시상하였다. 내 페어를 만났을 때부터, 우리가 가장 많이 했던 두 가지 말이 있는데, "우린 1등 할 거야"와 "워라밸 절대 지켜"였다.
우리는 관통 프로젝트를 진행하는 내내 부담을 갖지도 않았고, 밤을 새우면서 무리하게 진행하지도 않았다. 심지어 쉬는 시간엔 절대로 쉬었고, 다른 조가 리허설 할 때는 끝까지 집중해서 들어주었다. 그리고 우리는 최우수 상을 받고 기분 좋게 하이파이브를 쳤다.
수상까지 하고 나서 내 페어가 나에게 정말 행복하게 관통 프로젝트를 했다고 말해주었는데, 나도 정말로 재밌고 행복하게 진행해서 더 뿌듯한 시상이었던 것 같다.
🤔어땠어
만약 누군가가 나에게 1학기 SSAFY 생활은 어땠냐고 묻는다면, 당연히 너무 재밌었고 행복했다고 말할 것이다. 요즘 친구들을 만나보면 공통적으로 또래 친구들을 만나기 힘들다고들 한다. 하지만 SSAFY에서는 또래들밖에 없기도 하고, 다 같은 목적을 갖고 있는 친구들이라 이런 친구들을 만날 기회가 있다는 게 너무 좋았다.
그리고 진짜 개발공부에만 집중할 수 있는 환경이 된다. 다른 친구들은 오히려 하루 종일 갇혀 있는 게 힘들다고들 하는데, 나는 국비를 다녔었기 때문에 익숙하기도 해서 다른 친구들보다는 괜찮았던 것 같다. 그리고 하루 종일 갇혀있다기엔 꽤나 자유로운 환경에, 오히려 일과 후에도 스스로 남아서 공부할 정도로 다들 체력이 남는 경우가 많다.
SSAFY를 다니면서 크나큰 스터디도 운영해 보고, 발표와 같이 자신감을 얻을 기회도 많아서 나 스스로도 많이 성장했다는 생각이 든다. 특히 SSAFY에는 이미 충분히 대단한 친구들이 많은데, 그들에게 많이 배우거나 다른 친구들을 알려주면서 성장할 수 있다는 게 가장 값진 경험이었다는 생각이 든다. 나는 다른 친구들에게 알려줄 기회가 많았던 편인데, 알려주면서도 항상 어떻게 유도하면서 알려줘야 이 친구가 스스로 깨달음을 얻을 수 있을지를 많이 고민하였었다. 이런 고민을 하면서 내가 몰랐던 부분도 알게 되는 경우가 많았고, 다양한 관점을 이해하면서 내 생각의 한계를 넓힐 수 있는 많은 기회를 얻었다고 느낀다.
😞아쉬워
이렇게 1학기가 끝났다니, 너무 아쉬운 마음이 든다. 이제 2학기가 되면 같은 반이었던 친구들과 뿔뿔이 흩어지고 새로운 반으로 재 편성이 된다. 가족같이 지냈던 친구들이라 너무 좋은 친구들이라 더 아쉬운 마음이 크다.
한편으로는 이때쯤 헤어져야 취업에 더 집중할 수 있을 테니, SSAFY는 이것까지 생각한 정말 무시무시하게 체계적인 기관이라는 생각도 들었다.
또 아쉬웠던 점은, 1학기에 취업 지원을 많이 하지 않았다는 것이다.
SSAFY에 처음 들어갈 때, 9기 친구가 내게 해 준 말이 있는데, 1학기에 자기소개서를 열심히 쓰라는 말이었다. 나는 내가 보여줄 것이 부족해서, 나를 증명할 것들이 많이 부족해서 지원을 안 한 경우가 대다수였고, 이 증명할 것들을 채우기 위해 SSAFY에 들어왔다.
그리고 1학기가 마무리되어 갈 때, 슬슬 지원서를 넣기 시작했는데, 생각보다 이력에 쓸 것들을 막힘없이 써 내려가는 것을 느꼈다. 그만큼 내가 SSAFY에서 이룬 것들이 많고, 준비가 많이 되었다고 생각하지만, 1학기에 이루었던 것들을 제외해도 충분히 지원할 수 있었을 것이란 생각이 든다. 지원을 많이 해보고 면접 경험을 많이 쌓아 둘 걸이라는 아쉬운 마음이 가득하다.
😐앞으로
이제 정말 취업이 코 앞으로 다가왔다는 생각이 든다. 준비도 많이 되었고, 이제 미뤄두었던 CS공부도 하고, 여러 기업에 지원하면서 면접경험을 쌓을 일만 남았다. 사실은 2학기도 완벽하게 마무리하여 내 프로젝트 경험을 질 높은 프로젝트로만 채우고 싶기도 하지만, 그때까지 기다리는 것은 너무 무모하다는 생각이 든다.
지금부터라도 준비한 것들을 재정비하고 다져서, 하루빨리 취업해야겠다는 생각이 많이 든다.
2학기를 준비하는 기간 동안 나는, 포트폴리오 정리와 블로그 포스팅에 더 집중할 생각이다. 기록된 것이야 말로 나를 더 잘 증명할 수 있는 것들이라 생각한다.
그리고 마지막으로, 내 롤링페이퍼에 누군가 이런 말을 써줬다.
좀 감동적인데? 누군지 전혀 추측이 안 간다.
누군진 모르겠지만 정말 고맙고, 덕분에 1학기 동안 정말 잘 지냈다는 생각이 든다. 그리고 정말 큰 힘이 되었다고 말해주고 싶다. 앞으로 더 열심히 해서 이 사람 찾아내서 돈쭐을 내주던가 어떻게 해야겠다.
다들 정말 고마웠고, 2학기도 파이팅 해서 취뽀하자!! SSAFY 10기 서울 17반 화이팅 !! 🎈
'else > 회고' 카테고리의 다른 글
[회고록] 난 내가 내 꿈의 근처라도 가보고는 죽어야지 싶더라고 (24) | 2024.12.04 |
---|---|
[SSAFY/회고록] 싸피 10기 2학기 수료와 프로젝트 경험 회고 (12) | 2024.07.01 |
[회고록] 싸피 10기 합격 후기 (7) | 2023.06.22 |
[회고록] 싸피9기 인터뷰 탈락 후기 (15) | 2023.01.05 |
[2022년 회고록] 나는 좋은 개발자가 될 수 있을까? (0) | 2022.12.31 |