기록을 남기는 습관을 기르고자 2024년을 회고합니다.
2024년은 1년 동안 SSAFY 생활을 했기 때문에 사실상 SSAFY 후기입니다.😁
SSAFY 11기 합격
4학년 2학기가 끝난 후에 취업을 어떻게 준비할까 고민하던 중,
삼성 청년 SW 아카데미(SSAFY) 11기에 합격해서 광주에 내려가게 되었습니다.
대학교를 다니는 동안 용인에서 자취를 했었어도 광주라는 상대적인 먼 도시로 가는 것은 고민됐지만,
취업을 제외하고도 좋은 경험이 될 거 같아 입가를 결정했습니다.
SSAFY에서의 1학기
SSAFY에서 1학기는 자바, 스프링, 알고리즘등 기초적인 지식을 학습합니다.
자바나 스프링은 재밌었지만, 알고리즘은 어려웠습니다.
한 번은 주간평가 때, 너무 긴장한 나머지 알고리즘 평가에서 과락을 했습니다.🥲
학부시절 알고리즘에 큰 신경을 업보가 이렇게 다가올 줄 몰랐습니다.
SSAFY에서 2학기로 가기 위해서는 삼성 모의 A형을 필수로 취득해야 하는데, 이를 취득할 수 있을지 불안했습니다.
근데 노력을 한 것도 있겠지만, 운이 좋게도 첫 번째 모의 A형 시험에서 A형을 취득을 했습니다.
처음 시험에서 취득을 하지 못하면, 2차 혹은 그 이상의 시험까지 준비해야 해서 알고리즘과 다른 공부를 병행했어야 했는데
다행히 처음 시도에서 취득해서 한시름 놓았습니다.
이때 A형 난이도는 백준 기준 골드 4~5 정도의 난이도였던 것 같습니다.
SSAFY에서 1학기는 개발자로서 기초를 다질 수 있는 좋은 시간이었습니다.
학부시절에 개발동아리에서 프론트엔드 개발만 했던 저로써는, 알고리즘, 데이터베이스, 자바, 스프링, Vue 등 웹의 기초와 제가 다뤄보지 않았던 분야를 배울 수 있는 시간이었습니다.
이 덕에 저는 웹의 전반적인 흐름을 이해할 수 있게 되었습니다.
SSAFY에서의 2학기
SSAFY에서 2학기에는 총 3번의 프로젝트를 합니다.
첫 번째는 공통프로젝트,
두 번째는 특화된 기술을 사용하는 특화 프로젝트,
세 번째는 자율, 오픈소스, 기업연계등을 선택해서 진행하는 자율프로젝트입니다.
공통 프로젝트 (7주)
공통 프로젝트는 6명이서 1팀을 이루는데, 첫 번째 프로젝트는 1학기 반 친구 2명과 우선 팀을 이루었습니다.
저희 팀의 구성이 백엔드 2, 프론트엔드1(나) 였기 때문에 백엔드 개발자 1명과 프론트엔드 개발자 2명을 구해야 하는 상황이었습니다.
다행히 전체 반 미팅에서 프론트엔드 개발자 2명과 백엔드 개발자 1분을 모실 수 있었습니다.
팀 구성후 해야 되는 것은 도메인 선택인데, 웹 디자인(SNS)과 웹 기술(WebRtc) 중 웹 디자인이 프론트엔드와 백엔드 둘 다 적절히 일감을 가져갈 수 있을 것이라 생각해 웹 디자인을 선택했습니다.
많은 기획이 나왔는데 저희 팀은 최종적으로 동네에서 텃밭을 키우는 사람들끼리 교류할 수 있는 SNS를 개발하기로 했습니다.
저희 팀은 webrtc 같은 특화 기술이 들어가지 않기 때문에 가장 신경 쓴 것은 타깃층의 사용성이었습니다.
텃밭을 키우는 사람들은 주로 40~50대라고 가정하였고, 이들을 위해 시니어 UI/UX 디자인을 적용하기로 했습니다.
구글링을 해서 시니어 UI/UX 디자인에 대한 다양한 레퍼런스를 참고했는데,
가장 많이 참고한 문서는 콘텐츠 서비스 시니어 모드 UI /UX 가이드라인입니다.
해당 문서에는 관련 보고서와 연구 논문등 정확한 근거를 표시해서 저희 디자인에 대한 근거를 마련하기 좋았습니다.
다만 시니어를 타겟층으로 하다 보니 디자인이 심미적으로는 아름답지 않은 것이 단점이 됐습니다.
개발적으로는 컴포넌트의 재사용에 가장 신경을 썼습니다.
옛날부터 프론트엔드 개발을 해온 팀원이 저 혼자뿐이다 보니 팀원이 쉽게 가져다 쓸 수 있는 컴포넌트, 레퍼런스로 참고하기 좋은 컴포넌트를 만들려고 노력했습니다.
처음에는 FSD(Featured-Slice-Design) 아키텍처를 도입해보려 했지만 도입에 많은 팀원 간 합의가 필요하고 진입장벽이 높다고 생각해 도입은 하지 않되, 최대한 컴포넌트를 재사용할 수 있도록 만들었습니다.
이 프로젝트를 통해 수상은 못했지만, 새로운 기술(Tanstack Router, Stomp.js)등을 써볼 수 있는 기회가 되었습니다.
특화 프로젝트 (7주)
특화 프로젝트는 전혀 다른 팀을 구성했습니다.
기존에 서로 알던 친구 4명 팀에 저와 다른 프론트엔드 개발자 한분이 합류를 했습니다.
특화 프로젝트는 핀테크, 메타버스, 블록체인, IoT 등의 주제가 있었습니다.
이번 팀은 금융사에 가고 싶은 친구들이 많아서 핀테크 도메인을 선택했습니다.
기획 회의 중에 알바 급여 관리 시스템의 이야기가 나왔습니다.
저희 팀원 모두 알바경험이 많았고, 알바를 할 때 급여지급이 정확하지 않거나 날짜가 미뤄지는 등 불편함을 느꼈습니다.
제가 여기에 근로계약서 계약 및 근태관리 기능을 추가로 제안하여 사장님과 아르바이트생을 위한 근태 및 급여관리 어플을 개발하기로 했습니다.
사장님 입장, 급여를 지급하는 입장에서는 아르바이트생의 근태가 가장 문제인 것 같습니다.
아르바이트생의 출퇴근 체크 기능 구현을 위해 GPS 기반, NFC 기반, 네트워크 기반등 다양한 방안이 나왔었습니다.
GPS 기반은 정확도가 떨어져서 문제가 되고, 네트워크 기반은 ssid를 사용하기에는 위조를 할 수 있으니 uuid 혹은 mac 주소를 사용해야 하는데 이를 RN에서 가져오는 게 가능한지 몰라서 제외했습니다.
따라서 NFC 카드를 사용해 출퇴근 체크를 할 수 있도록 구현했습니다.
특화프로젝트에서도 수상은 못했지만 React Native와 NFC를 활용한 프로젝트를 활용한 경험을 쌓을 수 있었습니다.
자율 프로젝트 (5주)
자율 프로젝트는 AbleJ라는 기업과 연계해서 진행했습니다.
기업 연계 프로젝트는 전국의 SSAFY 팀과 경쟁해서 될 수 있을지 몰랐는데 다행히 선정되었습니다.
다만 상대적으로 짧은 기간(5주)을 차치하고도 기업 측에서 제시한 기획의 규모가 작아서 저희 팀에서 추가적으로 기획을 기업에 제안하였습니다.
기업 측에서 제시한 기획은 이력서를 전송하면 이를 AI가 채용공고를 필터링해 사용자에게 보여주는 것이었습니다.
저희 팀은 포트폴리오 작성기능, Github 리포지토리 분석 기능을 기업 측에서 제시한 기능에 더해 구직자가 이력서 작성부터 채용공고 탐색까지 원스톱에 끝낼 수 있는 서비스를 제안하였고 받아들여졌습니다.
팀원 모두가 힘낸 결과 저희 팀은 자율 프로젝트에서 우수상을 수상할 수 있었습니다.
다만 아쉬운 점은 개발 전에는 테스트 코드까지 작성을 하려고 했는데 생각보다 기획의 규모가 커지다 보니 테스트를 하지 못한 게 아쉽습니다.
싸피가 끝난 후
싸피가 끝난 지 약 2주라는 시간이 끝났습니다.
매일 9 to 6라는 시간 동안 정해진 과업을 했었는데 갑자기 자유로워지니 불안한 마음도 듭니다.
싸피 과정 중에 취업한 친구도 있고 끝나자마자 취업한 친구들도 있어 조급하지만 저 나름대로의 페이스를 찾으며 취업준비를 하려고 합니다.
확실한 건 1년간 싸피 생활 중에 좋은 사람들과 인연을 맷을 수 있었고, 개발자로서의 기초를 탄탄히 할 수 있어서 후회하지 않습니다.