본문 바로가기
개발자 도전기/[SW사관학교 정글] 개발일지

정글에서 살아남기 | WEEK00 | 걱정 같은거 하지마 넌 코딩만 해 ㅎㅎ 정글 입성 프로젝트 진행

by 답수 2021. 8. 8.
728x90
반응형

 

1. SW사관학교 정글 소개 & 0주 차(정글 입성) 발제

13시부터 기숙사 배정, 짐 정리 시간이 주어졌고 15시부터 본격적으로 정글 프로그램이 시작되었다.

 

처음에는 SW사관학교 정글 프로그램의 목적, 운영진님들 소개, FAQ 등의 시간을 보냈다. 가장 인상 깊었던 내용은 정글 1기 분들 거의 대부분이 정글 수료 후 바로 취업을 하였고, 그중 2/3는 협력사에 취업했다는 정보... 대외적으로 거의 알려지지 않은 사실이다 보니 이 정보는 충격 그 자체였다. 5개월에 내가 할 수 있는 최고의 성장을 위해서 정글에 입성하긴 했지만 취업까지 연장될 수 있다는 생각은 하지 못했었다. 아무리 내가 열심히 했다고 해도 5개월의 시간으로 바로 취업은 욕심이라고 생각했기 때문이다. 그래도 크게 바뀌는 것은 없다고 본다. 결국 여기에서 살아남고 성장하려고 어떻게든 몰입해야 하는 것은 변하지 않으니까.

(그래도 더 열심히 해야겠다는 동기부여는 된다.)

 

그리고 저녁식사 이후 바로 0주 차 정글 입성 프로젝트 발제 시간이 있었다. 정글 홈페이지에 커리큘럼이 명시되어 있었기 때문에 그에 맞게 바로 알고리즘 프로젝트를 시작할 줄 알았는데 알고리즘이 아닌 미니 웹사이트 제작 프로젝트가 있었다. 응...?

 

운영진님들에 의하면, 정글은 매주 목요일을 기준으로 새로운 프로젝트를 발제한다고 한다. 그래서 목요일에 WEEK01 프로젝트 발제가 있고, 목요일 이전까지 3박 4일 동안 WEEK00 프로젝트를 진행한다고... 겁나 죠쿤...!

 

 

2. WEEK00 프로젝트 진행

걱정할 새도 없이 월요일(8월 9일) 저녁부터 목요일까지 3박 4일 미니 웹사이트 제작 프로젝트가 시작되었다. 매주 프로젝트는 2~3인씩 팀을 이루어 진행된다. 첫 프로젝트의 팀원들과 어색함을 나눌 시간도 없이 우리는 어떤 웹사이트를 만들지 의견을 나눴고, "오늘의 셔틀"이라는 웹사이트를 제작하기로 했다.

 

그렇게 해서 만든 와이어 프레임:

 

프로젝트의 설명은 발표 때 사용했던 자료로 대체

말 그대로 셔틀 2명을 랜덤으로 추첨해서 동기들을 위해 캠퍼스 밖에서 물건을 사 오는 아주 유용한(?) 웹사이트다.

 

구현할 기능으로는 매일 17시를 기준으로 셔틀을 선정하기 위해 주기적으로 실행할 수 있게 해주는 라이브러리인 APScheduler와 특정 시각에 명령어가 수행되도록 하는 Cron을 사용했고,

Passlib 모듈의 SHA-256 해시함수를 이용하여 로그인 시 비밀번호를 암호화하여 DB에 저장되도록 했다.

 

역할 분담 & 팀워크

웹사이트 기획을 위해 역할 배분을 먼저 하였다.

  • 팀원 N : 로그인 기능 구현(암호화, 회원가입 및 로그인, 비밀번호 수정 기능 DB 추가, 업데이트)
  • 팀원 W : 전반적인 백엔드 구축(Flask, MongoDB)
  • 나 : 전반적인 프론트엔드 구축(부트스트랩 활용, jinja2 template)

우리 팀 세 명 모두 프로그래밍으로 팀 프로젝트를 진행하는 것이 처음이다 보니 어떻게 시작을 해야 할지 난감했었다. 하지만 빨리 서로 할 수 있는 부분들, 하고 싶은 역할을 맡아서 작업을 진행했고, 원활하게 의사소통이 이루어졌다. 다행히 팀원들과의 협업이 매우 좋았고, 서로 의견을 명확하게 잘 전달하고 잘 들어줘서 정말 만족스러웠다. 무엇보다 어려운 부분이나 에러 등 난관에 부딪혔을 때 서로 봐주면서 같이 디버깅을 할 때 팀워크를 제대로 느낄 수 있었다. 정글 입성 전 혼자서 막막하게 공부하던 것에 비해 진짜 아주아주 효율적이고 효과적이었다. 완전 굳!!!!

 

우리끼리 디버깅할 때마다 초조하게 '해치웠나...?' 라고 읊조리면서 소소하게 낄낄대던거 즐거웠음 ㅋㅋ

 

다들 문제도 잘 찾고 해결 능력, 서칭 능력이 뛰어나서 제 시간 안에 목표로 했던 기능들을 다 구현할 수 있었다. 내가 제일 실력이 미천해서 조금은 미안함도 있었.. 지만 교수님 말씀처럼 남들과 비교하지 않고 나만의 페이스로 꾸준히, 성실하게 성장하려고 노력할 것이다.

 

git 이용

정주원 코치님께서 git 사용법을 아는 것이 팀플레이에서도 유용할 것이고 앞으로 개발자가 되었을 때에도 필수이기 때문에 미리 익힐 수 있으면 익혀두라고 하셨다. 나는 OS 명령어 같은 것들을 전혀 사용할 줄 모르기 때문에 처음에 많이 헤맸다. 나뿐만 아니라 우리 팀원들도 다 처음 하는 거다 보니 git을 사용하기 위해 처음에 많이 허둥지둥했다. 다행히 다른 팀의 형님께서 git 사용법을 알려주셨고, 소스트리 등의 프로그램을 이용하여 원활하게 git으로 프로젝트를 진행할 수 있었다.

 

그리고 깃을 사용하면서 깃이 왜 필요한지 확실하게 체감하게 되었다. 진짜... 신세계....!!! 다만 아직까지도 제대로 개념을 이해하지 못한 상태에서 몇 가지 기능만 사용한 거다 보니 시간 날 때마다 git은 미리미리 공부해두려고 한다.

유일하게 아는 것: 뭔가 잘못됐다.

 

해킹 이슈

해킹이라는 것을, 그것도 실시간으로 당할 줄은 상상도 못 했다;; git에 대해 확실하게 이해하지 못한 상태에서 github로 프로젝트를 진행하다 보니 우리의 저장소(repository)가 공개(public)로 설정되어 있었는지도 몰랐다. 더군다나 py파일 내부에 mongodb주소도 대놓고 노출된 상황이다 보니 저렇게 비트코인 주면 데이터 돌려준다는 아주 신선한 문구를 마주치게 되었다... 여기에 저장되어 있던 데이터야 전혀 가치가 없는 테스트 데이터들이다 보니 큰 상관은 없었지만 프로젝트 제출 하루 남기고 이런 일을 겪다 보니 어안이 벙벙했다. 나머지 팀원들도 되게 혼란스러워했고..ㅋㅋㅋ 좋은 경험하게 해주셔서 감사합니다...

 

 

여하튼, 어찌어찌해서 우리가 구현한 웹사이트는 이렇다.

 

디자인이 많이 러프하지만... 기능만은 제대로 다 구현됨...!

 

 

3. 발표 및 피드백

발표는 내가 하겠다고 하고 발표자료 제작 및 준비를 했다. 사실 발표하기 전까지도 웹사이트 디버깅이나 마무리 작업들을 하느라 정신이 없어서 발표 준비는 거의 못했고 발표하기 20분 전 팀원들 앞에서 한 번 연습해보고 피드백받은 걸로 발표 준비를 끝냈다. 아마 다른 조들도 마찬가지였을 것이다.

 

무사히 발표를 끝낸 후, 운영진님들께서 발표에 대해 전반적인 피드백을 주셨다.

 

의장님
  1. 발표를 준비할 때, 갑자기 나와서 하라고 하면 나도 잘 못한다. 라이브로 발표하라고 해서 잘할 수 있는 사람 얼마 없다. 그렇기 때문에 발표도 연습해야 한다.
  2. 3분, 5분 발표는 원래 어렵다. 제한된 시간 내에 강조하고 싶은 부분이 무엇인지 잘 생각하고 발표해라.
  3. 발표를 처음부터 잘하는 사람은 거의 없다. 하지만 계속 말하고 발표를 시도하다 보면 결국 실력이 는다. 발표는 재능이 아니다. 노력하면 누구나 잘할 수 있고, 만약 잘 못한다면 그건 노력 부족이다.
  4. 회사에 들어가기 전에 우리가 준비하는 것들은(코테, 발표 등) 재능이 아니라 노력의 영역이다.
  5. 질문하고 답하는 과정은 앞으로 일상이 될 것이다. 위축될 필요 전혀 없다! 소프트웨어 엔지니어는 시행착오를 거치면서 성장한다. 질의응답을 편하게 생각해라.
  6. 자신감을 가지고 된다고 생각하면서 도전해라. 그러면 된다. 도전하기도 전에 위축되어서 시도조차 못하면 아무것도 못 만든다. 본인한테 긍정적인 마인드를 불어넣어라!
코치님
  1. 짧은 시간 내에 하나의 과정을 성공한 것이다. 아마 마지막 주차에 '나만의 무기'를 만드는 과정은 지금보다 더 어려울 것이다.
  2. 선택과 집중에 대해 확실하게 체감했을 것이다. 앞으로도 어떤 것을 선택하고 계속해나갔을 때 능력이 크는 것을 몸소 느끼게 될 것이다.
대표님
  1. 앞으로 공부할 때, 현재 사용하는 이 기술이 왜 나왔고, 한계는 무엇인지 등을 생각해보면서 사용해라. 기술들의 장단점을 계속해서 생각해나가는 마인드를 갖추면 좋겠다!

 

 

4. 그룹별 면담(with 운영진님들)

프로젝트와 별개로, 조별로 운영진님들과 면담하는 시간이 있었다.

 

Q1) FAQ에 보면 창업에 대해 부정적인 의견이 있었다. 이것에 대해 더 자세하게 들어보고 싶다.

  • 의장님: SW엔지니어로 성공하면 억대 연봉자가 될 수 있다. 요즘은 창업을 너무 쉽게 한다. 만약 창업을 하고 싶다면 빠르게 성장하는 스타트업에서 일하는 경험이 도움이 될 것이다. 대기업에서 일하는 것은 창업에 크게 도움이 되지 않다고 본다(하는 일이 정해져 있고 그 범위가 좁기 때문).
  • 코치님: 음식점을 창업하려면 최소한 식당에서 일해본 경험이 있어야 한다. 스타트업을 창업하려면 최소한 스타트업 같은 기업에서 일해봐야 유리하지 않겠나?

Q2) 1기 취업현황을 듣고 굉장히 놀랐었다(2/3 협력사 취업). 외부로 드러나지 않은 사실이라 다소 얼떨떨하다.

  • 의장님: 우리끼리도 취업 사실을 공개할지 말지 굉장히 고민이 많았다. 우리도 정글 프로그램을 처음 진행하다 보니 여러 시행착오를 겪는 중이다.

그 외 조언)

  • 교수님: 사람마다 성장 속도는 당연히 다르다. 1기 때도 보면 속도차로 불안감을 느끼고 오버페이스 하다 빨리 지치는 사람들이 있었다. 그렇기 때문에 남과 비교하면서 오버페이스 하지 말고, 내 체력에 맞게, 자신의 속도에 맞게 공부해라. 스트레스받지 말고 모르는 부분은 빨리 배워서 내 것으로 만든다고 마인드 컨트롤하면서 성장해가는 것을 즐겨라! 또한 건강 관리를 잘해야 장기적으로 오래갈 수 있다. 운동도 꾸준히 했으면 좋겠다.

 


 

첫 주부터 굉장히 많은 일들이 지나갔다. 그래서 적을 내용도 엄청 길어진 것 같다... 심지어 저것들도 줄이고 줄인 내용들...

 

발제가 매주 목요일이라 목요일을 기준으로 포스팅을 하고 싶지만 생각보다 시간이 매우 없어서 일요일마다 글을 올려야 할 듯하다.. 물론 이것도 쉽지는 않을 것 같다. 글을 쓰면서도 풀지 못했던 알고리즘들이 계속해서 머릿속을 헤엄치고 있으니ㅠㅠ 많이 부족한 만큼 많이 공부하고 배우자!! 불만을 토로하거나 걱정할 시간도 없다. 그 시간에 해결 방법을 찾고 배워야 돼... 알고리즘하러 다시 가보즈아....!!

728x90
반응형

댓글