김형진

김형진님의 아티클

김형진

김형진

인생 첫 램수면 썰 풀어드립니다~~(숏커톤 회고)😅😅

예전에 유퀴즈 덱스 편에서 인상깊게 본 장면이 있었다

image.pngimage.pngimage.pngimage.png

UDT의 하이라이트라고 하는 지옥주는 무박 5일동안 진행되며 군사들의 정신력을 강화하는 훈련이라고 한다. 덱스의 말로는 다들 너무 피곤해서 행군중 잠을 자면서 걷는 경우가 있다는데, 난 개인적으로 경험해보지 못해서 그런지 크게 공감이 안됐다, 숏커톤까지는....

숏커톤을 준비하면서

부끄럽지만 나는 2교시도 빠듯한 경우가 많다. 특히 전날 예상보다 늦게 자는 경우, 3교시까지는 수업 내용이 톨게이트처럼 머리를 지나가기 때문에 숏커톤의 새벽이 처음부터 걱정됐다. 내가 과연 몇시까지 집중력을 유지할 수 있을까? 평소에 밤을 새게 되는 경우에는 피곤할때마다 10분씩 쪽잠(power nap)을 자곤 했는데 에벤 소파라도 가야되나..? 별 생각을 다 했다.

코드도 나름 열심히 봤다. 기능구현에 필요한 API들을 끌어오는 방법들을 찾아보면서 연습했고 예전 과제와 피피티를 한번씩 훑어보면서 시작단계부터 해매지 않도록 했다.

D-1

하루 전날인 만큼 나에게는 컨디션 관리가 무엇보다 중요했지만 해야할 일이 너무 많았다.

image.png

OSS에서 끔찍한 기억으로 남았던 깃 머지.... 피트너와 비대면으로 하면서 코드를 몇번 날렸는지 ^^ 다행이도 우리끼리 숏커톤 전날에 만나서 레포지토리 만들고, 간단한 푸쉬, 풀 그리고 머지까지 되는지 확인하기로 했다. 이것마저 1시간 걸린건 안비밀..ㅎㅎ 하다하다 답답해서 카카오merge(카톡으로 공유 ㅎ) 할까 고민했지만, 파트장님의 손절을 암시하는 눈빛에 눌려버려 없는일로 했다.

새벽 1시에 깃 연습을 끝내고 바로 집에 들어왔을때 잤으면 얼마나 좋았을까...?

그렇게는 못하지.... 며칠째 작업하고 있던 학회 홈커밍 영상을 마무리 해야지....

image.png

밤새야하는 전날, 새벽 4시에 교수님의 인자하신 미소와 말씀을 편집하면서 컨디션 관리는 물 건너간채 내일 커피 몇잔을 마셔야 할지 고민하기 시작했다.

19:30 숏커톤 Start

그렇게 다가온 숏커톤 당일! 팀 이름 정하는 시간이 다가왔다.

다른 팀원들에게는 얘기 안했지만, 난 맥날 LDJ를 진행할때부터 우리팀이 숏커톤을 함께했으면 좋겠다는 생각이 들었다. 항상 적극적인 태도와, 말이 제일 많았던 내 얘기를(이때는 팀원들의 실체를 몰랐다) 경청 해주고, 의미있는 피드백과 예리한 의견을 내놓는거 같아서 잘 맞는다고 생각했다. 다만, 조금 의아했던 부분은 내가 말을 제일 많이하는 스타일이 아닌데 여기서는 말이 많아진다는것..?(이때까지도 몰랐다)

다시, 팀 이름을 정하려고 의견을 나누는데 요즘 흔히 하는 질문을 누군가 던졌다.

"혹시 다들 MBTI가 뭐에요?"

팀원들

"저 I요"

"저두요"

"오 저도요"

"와 대박!"

나 - "오..오...어 잠만.. 응? 난 E인데..."

그렇게 나름 수월?하게 우리팀은 '형진E와 I들'로 지어졌고, 나의 궁금증은 해결됐다.

image.png

20:00 기획 (원래 이렇게 어려웠나?)

내가 참여했던 프로젝트중 가장 힘들었던 아이디에이션이였던 것 같다. 마땅한 아이디어가 너무 없었다..... 이게 우리 기획자들의 잘못인가? 아니다. 우리 기획자들은 좋은 리딩과 정리, 그리고 적절한 분위기를 형성해 아이디어를 낼 수 있는 좋은 환경을 제공했지만 떠오르지 않는걸 어떡하나.... 한참 고민하고 당연하게도 피드백 때 대차게 까이면서 마음 아픈 Pivoting 과정을 여러번 거쳤다. 하지만 중요한 것은 꺽이지 않는 마음처럼, 다들 기획자들의 리딩을 따라가며 긍정적인 태도를 유지했고, 결국 새벽 2시에 사람을 연결하는 서비스, Comon이 탄생했다.

image.pngimage.png

개발자로서 기획에 참여했을때 실시간으로 구현 가능한지 확인하고 알려주는 새로운 경험을 했다. 우리 앱의 주 기능인 카메라 기능을 찾아봤을때 레퍼런스가 많고 깃허브에 클론코드가 있어 손만 좀 보면 충분히 구현 가능하겠다고 생각해, 처음 시도해보지만 하기로 마음먹었다.

그리고 개인적인 얘기를 하자면 숏커톤을 회상할때 기획 과정에서 하은님이 "혹시 이거 구현 가능해요?"라고 물었을때 1분동안 열심히 찾아보고 나서, 구현할 수 없다는 얘기를 꺼낼때 힘들었던것 같다. 성장하고 싶었다.

2:30 개발시작

image.png

전날밤 알차게 연습했던 깃 레포지토리를 생성하고 성진, 민섭, 나까지 개발을 분담하기로 했다. 나중에 팀으로 숏커톤 회고할때 피드백한 부분이지만, 이때 분담을 잘 못했던거 같다. 카메라를 내가 리서치했기 때문에 전적으로 맡기로 했고 민섭과 성진이는 UI를 맡았는데 더 효율적인 방법이 분명 존재했을 것이다.

image.pngimage.png

종권형님.. 누군지 모르겠지만 정말 감사합니다!

리서치 하면서 카메라 기능을 구현하기로 마음먹었던 티스토리 페이지. 친히 깃허브 레포지토리를 남겨주신걸 확인하고 바로 실행해봤다. 다행이도 카메라 세팅까지는 많은 시간이 걸리지 않았고 이제 기능 구현만 확실하게 하면 된다고 생각했다.

3:00 그놈의 카메라... 주현이(서버)와의 오붓한 시간들

우리 앱의 목적은 다른 공간에 있는 4 친구가 동시에 사진을 찍어 인생 4컷을 만들고 그 과정에서 간단한 게임(누가 더 빨리찍는가)를 앱에서 계산해 순서대로 4컷 프레임에 사진을 올리는 것이다.

일단 내가 카메라에서 구현해야 하는 기능은 이러했다

image.png
  1. 카메라 앱에 넣기

  2. 친구들이 생성된 그루채팅에 다 모이면 카메라 열기

  3. 사진 찍기

  4. 다른 친구들이 아직 찍는중이면 찍고있다고 알려주기

  5. 4명이 다 찍었으면 프레임 페이지로 넘어가기

  6. 사진 순서대로 받아오기

카메라를 앱에 넣는 부분은 종권형님 덕분에 수월하게 했다. 카메라 명령에 맞춰서 열고 사진 찍어서 서버에 보내는 부분도 쉽지는 않았지만 어떻게 마무리했다.

문제는 찍고있는것을 알려주고 다 찍었을때 넘어가는 부분이였다. 프론트에서 이걸 어떻게 구현할까 고민하다가 서버에서 찍는 사진들을 하나의 폴더에 받는다는것이 생각나 주현이한테 폴더의 사진 갯수를 넘겨 줄 수 있는 방법을 물어봤다. 가능하다는 대답과 함께 여러 시도 끝에 폴더의 사진이 4개 이하일때는 찍는중으로 뜨는 로직을 함께 짰고 서버와 프론트 함께 로직을 맞춰가는 귀중한 경험을 하게 됐다.

지금 회고해보니까 생각보다 어려운 작업이었지만 놀랍게도 거의 다 구현했고 돌아갔다... 8시까지만..

8:00 error 400? 500? 서버야 프론트야..?

어디서부터 잘못됐을까?

분명 마지막 단계였다. 사진 업로드, 대기 다 구현했고 마지막에 순서대로 받아오는 것만 하면 됐었는데 여기서부터 꼬이기 시작했다.

사진을 순서대로 받아오는게 생각보다 복잡했다. 서버 쪽에서 사진이 저장될때 이름이 길고 어렵게 되어서 부르기 위해서는 이름을 부여하거나 바꿔야 한다. 우리는 이름들을 부르기 쉬운 숫자들로 바꾸기로 결정했고 바꾸고 부르는 단계까지 구현을 했지만, 어느순간부터 이상해졌다.

image.pngimage.png

사진을 한개 올리면 서버에 안뜨고 하나 더 올리면 이전사진까지 2개가 뜨던지, 프론트에서 사진을 불러왔는데 하나씩 랜덤으로 비어서 온다던지. 에러가 모호했고 심지어 프론트에서는 아무 에러가 안뜰때도 있어, 제출 2시간 남기고 갑자기 미친듯이 버그잡기 시작했다.

9:00 랩수면의 시작

인생은 타이밍이랄까... 가장 바빠야 할 때 내 뇌는 그만이라는 신호를 보내기 시작했다. 커피 2잔과 몬스터 2캔... 부족했던거니? 8시반부터 눈이 슬슬 감기더니 9시부터 30분간 뭘 코딩했는지 기억도 안난다. 이게 램 수면이였구나... 눈을 감고 뜨면 어느세 코드 2줄이 적혀있다, 물론 돌아가지는 않는다. 혼자만의 전쟁을 치르던 그 시간동안 그나마 뚜렷하게 남아있는 기억은, 졸고 있는 나를 보며 웃으셨던 예찬 회장님의 얼굴이다. 전날 새벽 4시에 봤던 교수님의 얼굴과 오버랩 됐었다.

10:00 마무리, 발표 그리고 수상

결국 마지막 기능은 포기한채 이전 기능들을 살리고 마무리했다. 시간이 더 있었다면... 내 컨디션이 더 좋았다면.. 이라는 아쉬움 하나없이 멍때리면서 발표를 기다렸다. 발표가 시작되고 나서도 너무 미안했다. 덩치도 큰 사람이 맨 앞에 앉아 자신과의 싸움을 이어가는 것을 봤던 발표자들이 있었을 것이다. 너무 미안해요 ㅠㅠ

그나마 다행?이였던 것은 중간에 돌아보니까 힘든 싸움을 하고있던 전우들이 생각보다 많았다는 점?

우리의 발표순서였다, 역시 기획은 기획이구나... 우리의 실력자 디자이너가 만든 군더더기 없는 깔끔한 피피티에 걸맞는 발표를 보여줬고 우리는 결국 1등을 했다.

image.png

나는 정말 우리가 1등할거하고 예상 못했다. 당시에는 개발을 마무리 못해서 당연히 우승은 물건너갔다 생각했는데 기획과 디자인, 그리고 UI에서 충분히 커버쳐줄 수 있다는 사실을 잊고 있었다. 우승조건은 완벽하고 어려운 기능이 아닌 함께 만들어가는 서비스에 있다는 것을 다시한번 느꼈고, 숲을 보지 못한 나의 모습에 반성하게 됐다. 애초에 파드에 협업하러 오지 않았었나..? 협업의 대한 회고를 한번 더 하게 되는 소중한 경험이였던것 같다.

마지막으로 무엇보다, 숏커톤이라는 예방주사는 확실히 아프다.

19
7
김형진

김형진

파도파도 끝없는 배움의 바다로

안녕하세요! PARD 2기 IOS파트로 참가하게 된 한동대학교 18학번 김형진입니다!

저는 컴퓨터공학과 제품디자인을 전공하고 있고 여기 계신 많은 분들과 마찬가지로 축구와 풋살을 정말 좋아합니다! 기회 되면 꼭 같이 찼으면 좋겠네요!

파드를 지원한 이유

위에 적은 전공의 조합에서 유추하실수 있겠지만 저는 개발과 디자인에 모두 관심있는 욕심쟁이입니다. 고등학교 시절부터 경영인과 디자이너를 이어주는 PM이 되고 싶어 한동에서의 첫 3년은 경영과 제품디자인을 전공했고, 경영에서 컴공으로 전과한 후에도 여전히 미래에 개발자와 디자이너 사이에 있는 저를 상상합니다.

그러면 왜 파드에 PM이 아닌 개발자로 지원했을까요? 그 이유는 제가 파드와 함께하고 싶은 이유와 동일합니다! 바로 경험 때문입니다.

ENFJ중에서도 극 E를 자랑하던(과거형) 저는 어렸을적 스포츠, 학업, 동아리, 음악에 활발하게 활동하면서 여러 팀과 함께할 수 있었습니다. 그 중 이끌어야 했던 때도 있었고, 팔로우 해야했던 때도 있었죠. 그 경험들을 통해 가장 중요하게 배운 것은 ‘공감은 아는만큼 할 수 있다’는 것입니다. 그래서 저는 파드를 통해 개발자의 입장에서 발생하는 상황들을 경험해 더 깊게 소통하고 공감할 수 있는 능력을 기르고 싶습니다.

또한 기획자, 디자이너 등 다른 입장들도 간접적으로 경험하고, 함께 했을때 일어나는 시너지, 문제점들을 모두 경험하고 싶습니다. 이러한 가치있는 경험을 통해 파디들 모두가 함께 성장했으면 좋겠습니다.

협업이란?

제가 생각하는 협업은 서로의 부족함을 보완하는 것입니다. 저는, 사람은 본능적으로 어떤것이든 전부 잘하고 싶다고 믿습니다(저만 그런가요..?) 하지만 현실은 그렇지 않기 때문에 협업이라는 것이 존재한다고 생각합니다. 하나의 목표를 이루기 위해 각자가 못하는 부분을 매꾸는것, 그러기 위해서는 서로의 다름을 이해하는것이 중요하고 비로서 좋은 협업이 완성된다고 생각합니다. (파드를 경험하면서 저의 정의가 어떻게 바뀌게 될지 궁금하면서 기대됩니다!)

OT 후기

파드 1기부터 인스타를 통해 소식을 확인하던 팔로워로서, 이미 에벤에셀홀과 내적 친밀감이 형성되어 있었다고 생각했지만 막상 들어가보니까 색달랐습니다. 운영진들에게는 가르침에 대한 열정이 느껴졌고, 저의 동기들의 배울 의지도 만만치 않음을 느껴서 많은 부분에서 동기부여가 됐습니다. 앞으로 자주보게 될 저의 팀원들과 함께할 시간들이 기대됩니다.

마무리하면서

3학년 2학기라는 나름 늦은 때에 전과를 결심한 후, 1년간 크고 작은 파도에 부딪치면서 실패라는 물을 배탈날 정도로 먹었던것 같습니다. 그 과정에서 힘들고 무모하다 느낀 순간들도 있었지만, 도전의 가치와 경험을 배웠던 귀중한 순간들이 있었고, 무엇보다 그 짠 맛에 어느정도 익숙해졌기 때문에, 파드와 함께 도전을 이어가려고 합니다!

잘 부탁드립니다!

21
8