개발자가 되기 위해서
CS 지식이 왜 중요한지.
CS = 컴퓨터 과학(공학)
개발자한테 '컴퓨터 과학'이 왜 중요해요?
우리가 영문학을 전공한 사람을 보면서
"이 사람은 통번역은 아예 못 하겠네"라고
생각하진 않죠?
그 '전공'에서 배운 것들이 언젠가는
다른 일에 도움을 줄 수 있다는 걸
우린 너무 잘 알고 있어요.
이렇게 개발자도 컴퓨터 과학을
전공한 사람이 많거든요?
정리하면 "개발자가 되는 데 대학에서
CS를 전공할 필요는 없다고 하지만
CS 전공이 취직에 유리한 건 맞더라"
오늘은 이렇게 중요한 CS를 어떻게
준비하는 게 좋을지 고민한 분들에게
좋은 웹 사이트 하나 추천하려고 해요.
인공지능 기반, 컴퓨터 사이언스 서술형
문제 채점 사이트, CS Broker를 소개합니다!
▼
Q. 자기소개 부탁드려요!

웹 프론트엔드를 맡고 있는
김현조라고 합니다.
성일: 안녕하세요.
웹 백엔드를 맡고 있는
김성일이라고 합니다.
재원: 안녕하세요.
인공지능을 담당하고 있는
민재원이라고 합니다.
▼

현조: 혹시 '몬스테라'라는 식물 아세요?
저희 팀명은 몬스테라예요!
요즘 유행하고 있는 ‘식테크’를 알아보다가
우연히 알게 된 식물인데 이파리 하나의
가격이 엄청 비싸더라고요.
식테크 : 식물을 키워 높은 가격에 되파는 행위.
주로 식물의 줄기나 뿌리 등을 판매함.
저희 팀도 이런 뜻을 담아 가치 있는
소프트웨어를 만들어보고 싶어서
몬스테라라고 짓게 되었어요!
▼
Q. 팀원 구성은 어떻게 했어요?

현조: 성일님이 먼저 소마 홈페이지에 올렸던
제 자소서를 보고 연락 주셨어요. 막상
대화를 해보니까 통하는 게 많은 거예요
1. 즐겁게 일하고 싶다는 마음가짐
2. 많은 분들이 사용할 수 있는
편리한 프로그램을 만들고 싶다
이 2가지 생각이 참 잘 맞는다 생각했고
바로 3일 만에 함께 하기로 결정했어요.
▼
Q. 어떤 프로젝트를
만들고 계시나요?

재원: 기존에 있었던 문제풀이 서비스들을 보면
객관식이나 단답형 문제는 풀어볼 수 있지만
서술형 문제는 할 수가 없더라고요.
왜 그럴까?
그 부분을 AI가 대신 채점해 준다면
문제 유형에 상관없이 모든 문제의
풀이, 채점을 할 수 있겠더라고요.
그렇게 AI 기반 서술형 채점이 가능한
CS Broker 프로젝트를 진행하게 됐어요.
▼
Q. 이 프로젝트를 진행하게 된 계기
재원: 예전에 CS 면접을 본 적이 있는데
잘 준비했다고 생각해 자신 있게 갔다가
영혼까지 털린 기억이 있거든요..
왜 그럴까 생각을 해봤는데, 제가 모든 걸
겉핥기 식으로만 이해했기 때문이더라고요.
1. 어떻게 공부하는 게 좋을까?
2. 가장 좋은 방법은 뭘까?
계속 고민해 보다가
남에게 설명할 수 있는 게 좋은 공부
방법이라 생각했고 이걸 기반으로
프로젝트를 진행하게 됐어요.
▼
Q. 현재 어느 정도 진행되었나요?

현조: 객관식, 서술형, 단답형 문제 풀이부터
채점까지 모두 사이트에서 운영되고 있거든요.
최근에는 랭킹 시스템, 점수 시스템과 같은
부가 기능도 넣었고 지금은 버그를 잡고 있어요.
한 80% 정도까지는 완성됐다고 생각해요.
▼
Q. 어떤 개발 언어를 사용해요?

현조: 주로 프론트엔드에서는 JS,
특히 리액트 프레임워크를 사용해요.
성일: 백엔드는 코틀린과
스프링 프레임워크를 사용하고 있어요.
재원: 저는 파이썬 언어를 중심으로 사용해요.
먼저 Pytorch으로 인공지능을 개발하고 있고
서빙은 BentoML이라는 프레임워크를 써요.
앞으로 Airflow라는 프레임워크도 사용해서
데이터 파이프라인을 구축할 예정이에요.
▼
Q. 프로젝트의 주요 기능

재원: 메인 기능은 서술형 채점이에요.
“이런 키워드, 이런 내용이 들어가면
이 정도 점수를 주면 되겠다”라고 팀원들끼리
미리 결정하고 인공지능에게 학습시켜요.
선생님을 만들어주는 거죠.
그렇게 채점을 자동화하고 있어요.
▼
Q. AI에게 학습되는 데이터는
전부 직접 입력을 하시나요?
재원: 사용자의 답변이 있어야
인공지능을 학습을 시키거든요..
처음에는 데이터가 아예 없어서
소마 센터에 문제 프린트를 두고 사람들이
언제든 풀 수 있도록 해뒀었어요.
물론 온라인에서도 풀 수 있도록 했었고요.
그땐 수작업으로 채점을 진행해서
피드백을 드렸던 게 기억에 남네요.
이렇게 노력했었지만 그래도 데이터가
충분하진 않더라고요. 이후에는 관련된
문제를 설명해 주는 블로거들을 하나 둘
찾으면서 데이터를 수집했어요.
간단하게 정리하면 맨 처음엔 실험용
데이터를 마련하기 위해서였다고 보면 돼요.
이제는 플랫폼을 운영하면서 나오는
유저 답변으로 AI를 가르칠 거예요.
▼
Q. 프로젝트를 진행하면서
어려웠던 점이나
애로사항이 있나요?
재원: 방금 말했던 데이터 수집,
라벨링이 제일 큰 부분이었어요.
라벨링은 인공지능을 가르칠 때
“이 데이터가 정답인지 아닌지”에 대해
저희가 직접 알려주는 걸 말해요.
성일: 저희 팀은 개발하자마자 바로
피드백을 받는 애자일 방법론을 썼어요.
그래서 잦은 요구 사항들에 유연하게
대응하고 변경하는 게 너무 힘들었거든요..
시간은 부족한데, 해야 할 일은 많고.
그래도 팀원들 덕분에 큰 문제 없이
헤쳐나갈 수 있었어요.
※애자일 방법론:처음부터 끝까지 계획을 수립하고
개발하는 폭포수(Waterfall) 방법론과는 달리
개발과 함께 즉시 피드백을 받아서 유동적으로 개발하는 방법
▼
Q. 우리 팀만의 개발 문화?

현조: 저희는 1시에서 5시를
코어타임으로 정해놨어요.
그 시간에는 직접 만나거나
‘게더타운’이라 메타버스에서
같이 일하고 있어요.
월요일부터 금요일까지
주 40시간 근무를 지키고 있습니다!
성일: 저희는 jibble이라는
근태 시스템을 사용하고 있어서 지각부터
근무 시간까지 다 관리하고 있거든요.
한 달에 1.5일씩 휴가, 주 3회 이상
센터로 출근하는 걸 목표로 열심히
참여하고 있습니다!


재원: 매달 마지막 주 금요일은
문화의 날이 있어요. 오전에만 일하고
오후에는 그냥 같이 노는 특별한 날입니다.
주로 보드게임, 방탈출, 맛집 투어, 술,
노래방까지 알찬 시간을 보내고 있어요.
▼
Q. 프로젝트 관련해서 하고 싶은 말
현조: 대부분의 IT 쪽에서 일하는 걸
꿈꾸시는 분들은 TOPCIT을 보잖아요?
이제는 저희가 TOPCIT에 나온
문제들도 앱에 넣고 있거든요.
TOPCIT 전에 CS 브로커를
한 번씩 사용해 보시는 것도
좋을 것 같아요..! (홍보 홍보)
▼
Q. 소마 들어오기 전
무슨 활동을 했고,
지원 계기는?
현조: 저는 먼저 IT 동아리를 했었어요.
또 네이버 부스트 캠프에 참여해서
웹 개발을 공부했었고요.
개발자가 꿈인 학생들이 추천하는
대외활동 중 소마가 가장 좋다는 걸
알고 시기에 맞게 지원했었습니다.
성일: 저는 카카오 엔터프라이즈에서
6개월 개발 인턴을 하고 있었어요.
일하는 도중에 소마에 합격했고
인턴이 끝나자마자 SW마에스트로
활동을 시작했습니다. 꼭 다른 사람이랑
같이 개발해보고 싶었거든요.
재원: 작년 초, AI 부스트 캠프를 했었어요.
인공지능에 재미를 느꼈었지만
어떻게 활용하는지 모르겠더라고요..
이후에 서버에 대해 공부했고
스타트업에서 백엔드 개발자로 8개월 정도
근무했습니다.
그래, 이 정도면 백엔드 개념도 알겠어.
이제 전에 배웠던 인공지능 좀 활용해 보자.
생각하면서 퇴사 후 소마에 바로 지원했어요.
▼
Q. 소마 활동 중
기억에 남는 것?
현조: 지난 소마 컨퍼런스 때
‘협업 방식’에 대해 발표했었거든요.
▼ 소마 컨퍼런스 보러 가기
https://blog.naver.com/sw_maestro/222869513690
발표가 끝나고도 센터에 갈 때
연수생분들이 "몬스테라 팀 아니냐
잘 들었다."라는 얘기해 주셔서
발표하길 잘했다 싶었어요.
그래서 그때가 기억에 남아요.
성일: 저는 얼마 전에 했던
알고리즘 대회가 기억에 남아요.
3시간 동안 집중해서 문제 푸는 게
재밌었고 다 같이 밥 먹는 시간도
생겨서 재밌었던 거 같아요.
또 이번 대회를 계기로 '알고리즘을
더 공부해야겠다' 생각하게 됐어요.
재원: 저는 중간발표 때가 가장 기억에 남아요.
처음 기획 심의 때는 어려운 주제에다가
범위도 너무 넓어서 힘들 것 같다는
안 좋은 의견들이 많았었거든요.
하지만 중간발표 때는 긍정적으로 진행됐고
평가 위원분들도 칭찬해 주셨어요.
그래도 '우리가 잘 달려온 게 맞네'라고
느끼게 해준 것 같아 뿌듯했어요.
▼
Q. 수료 후 계획이나
인생 목표
현조: 짧게는 취업, 길게는 뜨개질 할
시간이 있는 디지털 노마드로
살고 싶다는 목표가 있어요.
성일: 저도 회사를 다닐 것 같아요.
회사를 다니게 돼도 지금의 팀원들이랑
지금의 이 프로젝트를 꾸준히 해보자는
얘기를 나눈 적이 있어요.
이 프로젝트를 꾸준히 이어가보려고요.
인생 목표는 좀 크게 잡고 있는데
어느 회사의 CTO가 되고 싶습니다.
재원: 저도 먼저 취업할 것 같아요.
사실 이미 학사 출신이 AI 분야에
다시 뛰어들기가 좀 힘들어요.
그래서 대학원을 가야 되나라는
고민을 많이 했었거든요.
멘토님이 학사 출신으로 지금
한 AI 팀 리드를 맡고 계세요.
저도 멘토님처럼 AI 엔지니어로 시작해
나중에는 ML 전체 프로세스를 다룰 수 있는
개발자가 되는 게 목표예요.
AI 분야는 무조건 석사만 할 수 있다고
생각하는 사람들한테 '꼭 그렇지는 않다'라고
보여줄 수 있는 예시가 되어주고 싶어요.
▼
Q. 예비 14기 분들께
하고 싶은 말

현조: 기술 면접, 인성 면접은
대학생 때 접할 일이 거의 없죠? 그래서
지원하는 과정 자체가 경험이 될 수 있어요.
성일: 눈 딱 감고 지원했으면 좋겠어요.
손해 보는 것도 아니고
얻어 가는 게 훨씬 많으니!
재원: 저는 이미 합격하셨다고 가정하고
예비 과정을 보내실 14기 분들께
이야기를 드리면 예비 과정 때 팀 매칭이
빨리 되는 건 되게 좋은 것 같아요.
자기소개서를 최대한 많이 읽고
개발 스택과 핏이 잘 맞을지 상상하면서
많은 시간을 다른 사람들을 알아보는 데
쓰는 게 좋은 것 같아요.
나한테 맞는 보물 같은 팀원을
데려오는 게 중요합니다.
▼
Q. 자신만의
소마 합격 팁
현조: 서류 쓸 때 면접을 생각하면서
쓰는 게 좋아요. '나중에 이걸 누가
나한테 물어봐도 잘 대답할 수 있을지'
생각하며 쓰면 좋을 것 같아요.
성일: 일단 소마가 되게 코딩 테스트
제한 시간을 넉넉하게 주는 편이거든요.
문제도 많이 어려운 건 아니라서
기본기를 잘 갖추면 괜찮다고 생각해요.
서류는 굳이 빡빡하게 다 채우지 않아도
내세우고 싶은 걸 잘 어필하면 돼요.
재원: 면접 때 구글에 소마 면접 질문을
검색해서 전부 읽어봤던 것 같아요.
집에서 질문하고 대답하는 걸
반복해서 연습했어요.
또 코딩 테스트는 웹 문제를 푸는 게
되게 중요한 것 같아요. 전엔 인공지능,
백엔드를 공부했어서 프론트 쪽 웹 문제를
아예 못 풀었거든요. 그만큼 다른 문제를
더 맞춰야 하니까 더 힘들었던 것 같아요.
▼
Q. 마지막으로
하고 싶은 말

현조: 팀원들이 없었다면 지쳤을 것 같아요.
중간에 집에서 가만히 있던 적이 많았거든요.
장기 프로젝트라 체력이 너무 떨어졌는데
팀원들이 있어서 끝까지 간다라고 생각해요.
제가 믿는 말 중에 혼빨함멀이라는 단어가 있어요.
혼자 가면 빨리 가고 함께 가면 멀리 간다라는 뜻인데
혼자 하면 서비스도 빨리 만들고 내 마음대로
할 수 있지만 팀원들과 서로 의지하고 있으니까
알게 모르게 더 멀리, 더 단단해질 수 있는 것 같아요.
저희 팀원들이 있어서 너무 감사합니다.
성일: 일단 저희 팀원이랑 멘토님들을 만날 수 있는
좋은 기회를 준 SW마에스트로에 정말 고맙습니다.
팀원과 멘토님들 덕분에 즐겁게 프로젝트에
임할 수 있었어요. 정말 고맙고 감사해요.
재원: 저는 장난을 많이 치는 편이에요.
그래서 팀원들은 제가 몬스테라에 속해
있다는 것에 자부심이 있다는 걸 모를 수도
있을 거예요. 저보다 동생들이지만 배울 점이
참 많다고 느끼거든요. 사소한 습관부터
긍정적인 사고까지 많이 배우는 것 같아요.
또 개발 능력도 대단하다고 느끼는 게
저희 프론트 엔드, 백엔드, AI가
전부 각각 담당하고 있거든요.
각자 다루고 있는 부분이 되게 넓어요.
그런데도 못하겠다고 하는 사람 없이
지금까지 쭉 이어져 왔다는 게
정말 대단하다고 생각합니다.
이거를 내가 할 수 있을까?
이런 생각을 되게 많이 했었는데도
지금까지 잘 진행됐다고 생각해요. 제
동력은 팀원들이 아닌가 생각합니다.
만약 저는 약간 300명의 연수생들을
다 아는 상태에서 다시 팀 매칭으로
돌아가더라도 저희 팀원들에게 함께
하자고 할 것 같아요.
▼
자세한 인터뷰 보러 가기