프로덕트

아티클

전체 보기
오성진

오성진

1년 안에 iOS와 백엔드를 모두 경험해보면서

안녕하세요 저는 PARD라는 대학생 IT 협업 동아리에서 백엔드 개발을 공부 중인 오성진입니다.

작년 PARD 2기 때 iOS 파트를 경험하고 나서 이번 3기에는 백엔드 개발자로 새로운 도전을 시작했습니다!

제가 2기 때 얼마나 어리바리 했는지 궁금하신 분들은 구경오세요! 🔥

이번엔 PARD 3기 백엔드 개발자로서 숏커톤에서의 후기를 적어보았습니다.

다가오는 숏커톤을 위해 준비했던 마음가짐은 “실패를 경험하자”였고,

실제로는 예상보다 조금 더 실패했습니다 🫤

(아래부터는 혼잣말st로 반말 모드입니다 ㅎㅎ)


좋은 실수를 하는 방법 ✍️

PARD에 처음 지원할 때, 나는 많은 실패와 삽질을 하고 싶다고 적었다. 그러나 해커톤을 하는 동안 나도 모르게 실수를 하면 안 된다는 생각에 사로잡혀 있었다.

사실, 나는 아직 실수를 해도 되는 사람이다.

그렇다면 어떻게 좋은 실수를 할 수 있을까?

해커톤에서 나는 Spring Boot를 사용한 백엔드 개발을 맡았다.

사용자(User), 게시물(Post), 댓글(Comment)이라는 도메인을 구성하고, 각 도메인의 CRUD(Create, Read, Update, Delete) 코드를 작성하고, 도메인 간의 연관 관계를 설정했으며, 프론트엔드와 데이터가 잘 주고받아지는지 확인했다.

초반 작업은 순조로웠다. 1시간 만에 CRUD 작성을 끝냈고, 연관 관계 설정도 무난히 해결했다. 하지만 코드 검토 중 중요한 부분이 빠진 것을 발견했다. 원래는 알아차리지 못했다가 iOS 개발자의 질문에, 게시물과 사용자 간의 연관 관계를 제대로 설정하지 않았다는 것을 알게 되었다.

수정 작업은 생각보다 오래 걸렸다. 새벽 4시 반에 발견한 오류를 6시까지 해결하지 못했다. 결국, 부파트장 형의 도움으로 문제를 해결할 수 있었다. 내가 팀원들에게 상황을 더 자세히 소통하고, 더 빠르게 도움을 요청했더라면 시간을 덜 낭비했을 것이라는 것이다..

좋은 실수를 위해,

1) 실수를 숨기지 말고, 빠르게 인정하고 바로잡기: 실수를 인정하고 주변에 도움을 요청하는 것이 중요하다.

2) 상황을 명확히 소통하기: 팀원들과의 원활한 소통을 통해 문제를 빠르게 해결할 수 있다.

3) 코드 오류 기록 및 분석: 어디서 문제가 발생했는지 그때그때 기록하고 분석해야 한다.


눈치와 배려 그 사이 👀

“청춘”이라는 주제로 해커톤이 시작되었다. 나는 웬만하면 다른 사람의 이야기를 먼저 듣는 편이다. 나의 이야기가 정돈되는 동안 다른 사람의 의견을 들으면서 나의 생각을 보충하고 그 이후에 말하는 것이 나의 아이디에이션 방식이었다.

나는 이 방식을 “배려”라고 생각했다. 주어진 시간을 모두가 나눠 가지는 만큼, 나는 내 시간 중 일부를 다른 사람의 의견을 듣는 데 사용하여 그들의 의견을 존중하고자 했다. 하지만 지금 돌아보면 그때의 나는 “눈치”를 보고 있었던 것 같다. 많은 사람들이 걱정하는, ‘나의 의견이 묵살되면 어쩌지’, ‘지금 말하려는 의견이 그렇게 좋은 의견은 아닌 것 같기도 하고…’ 등의 생각들 때문에 많은 이야기를 하지 못했다. 이렇게 눈치를 본다는 것은 나에게 주도권이 없는 행위이다.

반면에 배려는 자기 주도적인 성격을 띠기 때문에 내가 선택할 수 있다. 협업을 할 때는 본인의 의견에 대해 자기 주도적인 소통을 할 수 있어야한다. 배려와 눈치 사이의 차이를 이해하고, 앞으로는 보다 자기 주도적으로 의견을 제시하며 소통해야겠다는 생각이 들었다.


협업을 잘 하지 못했으면서, 즐기지도 못했음에 대하여 🤔

우리 팀 회고 중 나온 말이다. 우리는 모두 여유가 없는 18시간을 보냈다. 기발한 아이디어가 빠른 시간에 나오지 않자 다들 초조해하는게 눈에 보였다.

개인적으로는, 너무 잘해야 한다는 생각에 사로잡혀 있었다. 1등, 2등이라는 수상이 주는 기쁨을 통해 내가 지금 하고 있는 일에 대한 자신감을 얻고 싶은 욕망이 컸다. 그리고 그 초조함은 실수로 나타났다.

지금 생각해보면, 최대한 즐기면서 했었으면 좋았을 것 같다.

즐기고 도전하고 깨지기 위해 들어온 동아리에서 도전을 회피했다는 것이 모순이다.

그리고 사실, 모두들 충분히 잘하기 때문에 12주라는 시간 동안 버틸 수 있었던 것 같다. 

버티는 것도 힘이라는 것을 기억하면서 성장하는 과정을 즐거움으로 꾸밀 수 있는 사람이 되어야겠다.


왜 나에 대한 기준만 엄격한건데 😢

기획자에게 아이디어 좋다고 칭찬.

디자이너에게 디자인 기깔난다고 칭찬.

iOS 개발자에게 UI 구현 잘 했고 코드 로직 잘 짰다고 칭찬.

근데 정작 나 스스로에게는 칭찬을 한 적이 없었다.

안 그래도 팀 내에서 백엔드 개발을 혼자 하느라 고생 좀 했을 텐데, 수고했다는 한마디를 깜빡했다.

앞으로 어떠한 일을 하든 간에 내가 나를 가장 잘 챙기고, 나를 칭찬하는 과정을 빼먹지 말아야겠다.


개인 회고 📝

숏커톤이 끝나고 나면 모두들 18시간 동안 자신이 들었던 칭찬, 팀원과 겪었던 갈등 등을 회고한다.

어쩌면 말해준 사람은 기억도 못하는 자신을 향한 칭찬 한 마디.

남들은 알아봐주지 못했지만 스스로는 알고 있는 뿌듯했던 순간.

이러한 크고 작은 순간들이 많은 사람들에게 힘이 되고 지금 하고 있는 일을 계속 해나가게 하는 원동력이 되는 것 같다.

작년에 이어 두 번째로 경험하고 있는 PARD이지만 아직 많이 부족하다는 것을 느낀다.

하지만 나는 아직 잘 못해도 되는 사람이고, 더 많은 실수와 실패를 경험해야 한다.

앞으로 어떠한 실수와 실패를 통해 성장할지 기대가 된다.😎

PARD를 처음 시작했을 때와 변함없이,

“여러 번의 삽질과 실패를 통해 성장하는 경험을 얻어가고 싶습니다.”

11
0
오성진

오성진

여러모로 아쉬웠지만,,, 근데 사실 그렇게 아쉽지는 않아 😎

우리 팀이 숏커톤 1등을 하고 소감을 말하는 시간에 내가 한 말이다.

말 그대로, 아쉽지 않을 정도로 모든 것을 쏟아부은 숏커톤이었다.

사실 숏커톤을 시작하기 직전에는 전혀 떨리지가 않았다. 숏커톤은 롱커톤을 위한 준비 단계라는 말을 들어서인지, 아니면 너무 떨려서인지 모르겠지만 그냥 할 수 있는 것을 하자는 마음가짐만 가지고 시작했다.


세상에 없는 신박한 아이디어는 세상에 없다

드디어 무박 2일 숏커톤이 시작됐다. 키워드는 CONNECT였다. 기획자분들의 진행에 따라 아이디어를 막 쏟아냈다.

처음에는 이런저런 아이디어들이 많이 나왔다.

슬슬 시동을 걸기 위한 무맥락 아이디어도 있었고, 꽤 재미있어 보이는 아이디어들을 나누면서 분위기가 활기찼다.

image.png

FigJam을 사용해서 각자의 의견을 적고 스티커로 투표를 받는 방식으로 아이디에이션을 했다.

(가끔가다 내 아이디어 포스트잇에 스티커가 많이 붙으면 새삼 기분 좋았다.)

하지만 점점 아이디어가 고갈되었고, 1차, 2차 피드백 동안 운영진분들에게 현실적인 피드백을 들으면서 그냥 다 엎어야 하는 상황도 있었다.

심지어 최종적으로 채택된 아이디어를 처음 들었을 때도 사실 엄청난 매력을 느끼지는 못했을 정도로 전체적인 아이디어에 대한 신박함이 부족했다.

이러한 과정을 겪으면서 “필요한 서비스는 이미 거의 만들어져 있고, 세상에 없는 신박한 아이디어는 세상에 없다”를 새삼 깨달았다. (내가 만든 말이다.)

너무나 다행이었던 것은 숏커톤 조원분들 모두가 다른 사람들의 의견을 잘 수용하면서도 자신의 의견에는 소신이 있는 사람들이었다는 점이다.

(내가 막내였는데 다들 존댓말도 해주시고 내 의견도 잘 경청해주셔서 좀 감동이었다.)

서로의 의견이 다르더라도 한번도 애들처럼 싸운 적도 없고, 서로의 의견을 최대한 반영하려고 노력하는 것이 보였다.

말 그대로, “팀원 잘 만났다”를 경험했다. 🙇‍♂️


Connect Moment, COMON!

우여곡절 끝에 드디어 주제가 정해졌다!

image.png

서로 다른 공간의 사람들이 연결되어 함께 순간을 기록하고 공유하는 서비스.


같은 시간을 살아가는 사람들이 다른 공간에 있기 때문에 연결되지 못하는 문제가 발생합니다. 그래서 저희는 서로 다른 공간의 사람들이 연결되어 함께 순간을 기록하고 공유하는 서비스를 제작하였습니다.

간단하게 요약하면, 멀리 떨어져있는 사람들과 실시간으로 사진을 찍고 사진을 모아서 하나의 필름으로 이쁘게 보관할 수 있는 서비스이다.

모두가 같은 시간 동안 각자의 다른 상황과 다른 배경을 가지고 연결된다는 점이 대면으로 같이 있는 사람들과 찍는 인생네컷 같은 스튜디오와의 차별성이다.

(”Connect Moment, COMON!” 이거 내가 지었다. 처음에 제안했을 때 다들 좋다고 칭찬해주시는데 좋아서 표정 관리가 안 됐다.)

결과는 🔥숏커톤 1등🔥을 했다.

이번 숏커톤 1등은 기획에 진심인 기획자와, 멋있는 디자인을 빠르게 제공해준 디자이너와, 각자 맡은 부분의 코드 구현을 깔끔하게 해준 다른 개발 팀원들 덕분이다.



아래는 개발자로서 느꼈던 숏커톤 KPT 간단 요약 !!

Keep

→ 기획자분들 덕분에 아이디에이션 동안 나누었던 모든 이야기들이 다 정리가 되어있었다. 그리고 중간중간 중심을 잘 잡아주셨다.

→ 디자이너분께서 기획 컨셉에 맞게 멋있는 디자인과 코드 구현을 위한 와이어프레임을 먼저 디자인을 해놓으셨나 싶을 정도로 빠르게 완성해주셨다.

→ 개발 초기 단계에 iOS 개발자들끼리 페이지를 나누어서 구현을 맡았다. 초기에 역할 분담을 빠르게 하고, 서버와의 소통도 활발했다.

Problem

→ 결국 최종적으로 주제를 정할 때, 최선의 아이디어를 고르는 것이 아니라, 최악의 아이디어를 피하는 방향으로 기획을 시작하게 되었다. 이것이 개개인의 아이디어 능력이 부족했던 것인지, 아니면 팀원 모두가 너무 좁은 범위에서만 생각을 하는 등 상황 자체가 신박한 아이디어를 떠올리기 힘든 상황이었는지 의문이 든다.

→ 와이어프레임을 보고 개발을 하고 있었는데, GUI가 나온 줄도 모르고 와이어프레임만 보고 끝까지 코딩을 했다가 나중에 UI를 전면 수정했다. → 디자이너와 개발자 간의 소통 부재

→ 각자의 구현 기능에만 정신이 팔려서 제한 시간도 정하지 않고 그냥 자기 코드만 짰다. 그리고 우리 조 내에 직접 코드를 실행할 수 있는 기기를 가진 사람이 나밖에 없어서 모든 개발자가 나의 아이폰으로만 기능을 확인했다. 다들 나에게 코드 실행을 부탁해서 정신이 없었다…

Try

→ 기획자, 디자이너, 개발자 모두와 소통을 자주 해야겠다. 뭐만 하면 소통인데, 진짜 소통이 전부다.

→ 개발을 시작할 때 개발자들과 파트 분배와 시간 분배를 초기에 세밀하게 설정해야겠다. 그리고 개발자마다 코드를 실행할 수 있는 기기를 각자 가지고 있어야겠다.

개인적으로 아쉬웠던 점:

이번 개발의 핵심은 “카메라 구현”이었다. 만약 시간이 넉넉했고 모든 개발자가 개발 성장에 목숨을 걸었었다면, 모두가 이 기능 구현을 탐냈을 것이다.

하지만 시간도 부족하고 모두가 한 번도 제대로 구현한 적이 없는 기능이어서 다들 피하는 분위기였다.

나도 시도를 해보고 싶었지만 만약 내가 실패를 한다면 바로 위기가 찾아오기 때문에 선뜻 하겠다고 하지 못했고 결국 다른 개발자가 구현을 맡았다.

-> 팀의 성공과 나의 개발 성장 중에, 결국 팀의 성공을 선택했다. 아쉽다…🥲


숏커톤이 끝나고

사실 숏커톤이 끝나고 가장 좋은 점은 개발 실력이 크게 성장했다거나 협업은 이렇게 하는 거구나를 알게 된 것 보다, 밤을 제대로 새어보았다는 점과 매우 낮았던 swift 언어의 대한 나의 자신감이 올라갔다는 점이다.

사실 나는 아직도 내가 개발자라고 불리는 것이 어색할 만큼 미숙하고 경험도 적다.

그래서 나는 숏커톤에서 내가 성장할 수 있는 아주 귀중하고 특별한 경험을 했다고 생각한다.

앞으로 남은 PARD의 꽃, 롱커톤을 위해 많이 공부하고 단단한 마음가짐을 가져야겠다.

PARD를 처음 시작했을 때와 변함없이,

“여러 번의 삽질과 실패를 통해 성장하는 경험을 얻어가고 싶습니다.”

15
4
오성진

오성진

삽질 좀 하다 가겠습니다 ⛏

안녕하세요!! iOS 파트 파디가 된 오성진이라고 합니다 :)

저는 21학번이고 현재 컴퓨터공학심화를 전공하고 있습니다.

표정 변화 없고 친해지기 어렵다는 ISTP…지만…!! 저는 그렇지 않다고 생각합니다 ✌️

Pard 지원 이유!

OT 때 지원자분들의 자소서 중 몇 줄을 ppt에서 보여주셨는데 가장 맨 위에 제가 쓴 문장이 있어서 좀 놀랐습니다,,, ㅎㅎ

“저는 꼭 이번 학기에 PARD를 통해 여러 번의 삽질과 실패를 통해 성장하는 경험을 얻어가고 싶습니다.”

누군가가 저에게 앞으로 성장하기 위해 가장 중요한 것이 무엇이냐고 물을 때마다 저는 항상 “경험”이라고 대답합니다.

저는 지금까지 무언가를 처음부터 잘한 적은 없던 것 같습니다. 항상 “아 이렇게 하면 되는구나”, “이건 별로 좋은 방법이 아니구나”라는 것을 깨닫고 혼자 속으로 몇 대 맞으며 배워가는 방식이 아직까지는 저에게 잘 맞는 것 같습니다.

자책하는 것은 한순간이지만 결국 성장하는 저의 모습을 보는 것이 저의 가장 큰 동기부여입니다.

근데 경험을 하고 싶다는 의지만큼, 무언가를 새롭게 시작하는 것에 있어서 꽤나 많은 두려움을 가지고 있습니다.

그래서 3학년인 지금까지 다른 동아리나 활동들을 하지도 않았고 자연스럽게 남들에 비해 경험과 노하우가 부족한 상태입니다.

그래서 제가 pard에서 얻어가고 싶은 것은…!! ‘엄청난 무언가를 얻어가겠다!’ 라기보다는 삽질도 하고 실패도 하고 몇 번 깨지다가, 그 상태에서 빠르게 회복하는 경험을 해보고 싶습니다!

(PARD에서 pardo 타고, 땅 좀 pardㅏ가 가겠습니다…🔥)

OT 후기

제가 초면에 낯을 많이 가리는 편이기도 하고 그 전날 팀엠티를 하고 와서 상태가 말이 아니었습니다.

그래서 크게 소리지르는 것만 안 하면 괜찮겠다 싶었는데 바로 각 조마다 소리지르기를 하라고 하셔서 초장부터 망했음을 느꼈습니다😇

그래도 게임하면서 분위기도 많이 풀어지고 회장님의 OT 설명회와 각 조 내에서의 이야기 모두 너무 좋은 시간이었습니다!

OT 한 줄 요약!! “아 나 진짜 PARD 들어왔구나…”

나에게 협업이란

저에게 협업은 ‘이해관계와 사고방식이 다른 여러 사람들이 특정한 목표를 위해 모여서 공동의 결과물을 만들어내는 것’입니다.

서로 다른 도구를 들고 있는 사람들이 한 자리에 모여서 특정한 몇 개의 결과물을 만들기 위해 ‘애쓰는’ 것이라고 생각합니다.

모두가 ‘애써야’ 할 만큼 협업은 쉬운 것이 아니고 그만큼 저희 모두가 협업의 진짜 의미와 필요성을 배워야 하는 것 같습니다.

그런데 OT를 하고 pard 구성원분들과 이야기를 하면서 협업에 대해 좀 더 새롭고 현실적인 새로운 정의를 내려보고 싶다는 생각이 들었습니다.

“협업이란 _______와(과) _______을(를) 위해 _______을(를) 하는 것이다”

저의 목표는 이번 pard 활동을 마쳤을 때 위의 빈칸들을 다 채우는 것입니다!

이 문장을 완성했을 때 지금보다 조금 더 성장해있는 제 모습을 바라며 열심히 협업하고 배우겠습니다!!!

감사합니다 🔥🔥🔥

16
8

포스트

아직 포스트가 없습니다.