좋은 iOS 개발자는 어떤 사람인가?
34기 iOS파트장을 맡게 된 순간, 어떤 iOS 파트를 만들고 싶은지 정하는 것이 나에겐 가장 큰 숙제였다. 6개의 파트가 각자의 역할을 온전히 수행했을 때 비로소 세상의 문제를 해결할 수 있는 좋은 서비스가 탄생할 수 있기에, 약 30여명의 iOS 파트원들이 어떠한 방향성을 가지고 성장해야하는지를 정하는 것은 굉장히 중요한 문제였다. 고민을 하던 중 가장 모호한 질문을 나에게 던졌다. 바로
좋은 iOS개발자는 어떤 사람인가
라는 질문이었고, 조금 더 자세히 풀어내자면 "창업에서 좋은 iOS 개발자로 평가받기 위해선 가장 필요한 역량은 무엇인가?" 라는 질문을 던지게 되었다.
이런 모호한 질문을 던진 이유는?
이건 내가 큰 방향성을 결정할 때 가장 많이 사용하는 방법이다. 명확한 문제를 해결하기 위해선 때론 모호한 질문을 던져 그 질문을 해석하면서 방향성을 잡아가면, 내가 정말로 그 문제를 해결하기 위해 어떤 관점과 가치관, 그리고 우선순위를 가지고 있는지를 저절로 알아갈 수 있기 때문이다.
당시 나는 창업팀에 속해있었고, 다른 개발 동아리와 달리 IT벤쳐창업동아리인 SOPT에 iOS파트장이었기 때문에, 창업의 관점에서 iOS개발자가 좋은 개발자로 평가받기 위해선 어떤 역량이 필요한지를 고민을 하게 되었다.
1. 클라이언트 개발자로서의 책임을 다해야 한다.
iOS개발자가 수행해야할 다양한 책임 중 가장 우선적으로 지켜야 할 책임은 무엇인가? 나는 View를 보여주는 것이라고 생각한다.
물론 유지보수성있는 코드를 짜는 것, 깔끔하게 코드를 짜는 것도 있을 수 있지만, 이 글에서 말했듯이 결국 개발자는 어떻게 만드는 것보다 무엇을 만드는지에 초점을 맞추는 문제 해결자가 되어야 하어야 한다고 생각한다.
그런 관점에서 iOS 개발자는 함께 열심히 노력한 기획, 디자인, 서버의 노력을 세상에 시각적으로 보여주는 역할을 온전히 수행하는 것이 가장 중요한 역할이라고 생각한다.

2. 가치있는 코드를 고민해야 한다.
창업에선 빠른 스프린트가 중요하기 때문에 단순히 View만 짜면 되는것이냐? 그건 절대 아니다.
모든 파트의 노력이 긍정적인 결과를 만들어와서 비즈니스의 가치와 규모가 커지면 커질수록, 개발의 볼륨과 복잡도도 같이 커지게 된다. 물론 처음부터 유지보수와 확장성이 완벽한 코드를 짜면 좋겠지만, 처음부터 모든 변수를 예측할 수 없을 뿐더러, 촉박한 시간안에 이를 고려하며 개발하기는 쉽지 않다.
다만 유지보수와 확장성을 완전히 무시하고 개발을 진행하게 된다면, 기술부채가 쌓기게 되며 결국 더 이상 확장할 수 없는 상태에 이르게 된다 (이 부분은 가코고 아티클에서 더 자세히 설명하도록 하겠다.)

결국 내가 생각하는 가치있는 코드는 지금 이 순간의 문제를 해결하면서, 미래의 일어날 수 있는 문제를 예측하여 대비하는 것. 그리고 그 사이에 밸런스를 맞추기 위해서 끊임없이 고민하는 iOS 파트를 만들고 싶었다.
즉, 내가 만들고 싶었던 iOS 파트는
클라이언트 개발자로서의 책임을 다하며, 비즈니스의 가치를 높일 수 있는 가치있는 코드를 고민함으로써 세상이 필요로하는 서비스를 만들어가는 Problem Solver로 성장하는 iOS 파트를 만들어야겠다고 방향성을 잡았다.

Problem Solver를 만들기 위한 커리큘럼
SOPT에서 파트장이 맡은 가장 큰 역할 중 하나는 4시간 가량의 8번의 세미나를 준비하는 것이다. 각자 파트장의 만들고 싶은 파트의 방향성에 따라서 직접 세미나 자료를 제작하고 이를 진행하게 되며, 한 기수가 시작 전에 커리큘럼을 구성하게 된다.
1~4주차: 클라이언트 개발자로서의 책임을 다하기 위해서
1~4주차에는 클라이언트 개발자로서의 책임을 다하기 위해서 필요한 지식을 공유하고 실습을 통해 직접 적용할 수 있는 내용으로 세미나를 구성하게 되었다.
1~3주차는 디자이너의 노력을 시각적으로 나타내기 위해서 뷰를 배치하고 레이아웃을 구성하는 다양한 방벙들을 배웠으며
4주차에는 서버 개발자의 노력을 시각적으로 나타내기 위해서 서버통신을 하는 과정을 커리큘럼 과정에 추가했다.

합동세미나, 솝커톤
5주차에 진행되는 합동세미나와 솝커톤은 각 파트가 한달동안 파트별 지식을 기반으로 제품 개발을 위한 ‘협업'을 경험하는 시간이다.
해당 세미나를 통해서 자칫 본인 파트의 입장만을 고려하는 것이 아닌 고객이 원하는 가치는 무엇인지, 사용자에게 필요한 경험은 무엇인지를 기준으로 기획, 디자인, 개발파트 각 관점에서 문제를 어떻게 정의하고 해결하는 경험을 하게 된다.


iOS 파트원들 또한 합동세미나와 솝커톤을 통해서 4주동안 배운 iOS지식을 가지고 타 파트와 소통과 협업을 하는 경험을 하게 된다. 해당 내용은 나중에 합동세미나와 솝커톤 관련 회고글에서 더 추가할 예정이다.
6~8주차: 가치있는 코드를 고민하자
6~8주차에는 가치있는 코드를 고민하기 위해서 필요한 지식들을 학습할 수 있도록 했다. 자신이 지금까지 작성해 온 코드의 가치를 판단하기 위해 필요한 개념들을 학습하며 그 과정에서 해결할 수 있는 다양한 아키텍쳐와 라이브러리를 소개했다. 이를 통해 자신의 처한 상황에서 어떤 설계와 라이브러리를 사용해야 하는지에 대한 가치판단력의 역량을 키울 수 있도록 커리큘럼을 구성하였다.

마지막으로, 먼저 사랑해서 더 많은 사랑을 받을 수 있는 파트
지금까지는 좀 개발적 성장을 위한 방향성이었다. 하지만 나는 그것보다 더 중요한 가치를 선물해주고 싶었다. 바로 '사랑'이었다. IT, 창업처럼 다소 딱딱하고 차가운 단어가 섞인 이 동아리에서 아이러니하게도 내가 얻은 건 "사랑"이었기 때문이었다. 많은 사람들이 협업을 잘하는 법, 리더를 잘하는 법을 꿀팁처럼 소개하곤 한다.
하지만 나는 그것보다 더 중요한 것은 팀원을 정말 사랑하고 팀의 성장을 위해 개인의 성장을 희생할 수 있는 정신이라고 생각했다.
나는 3기수동안 이러한 가치를 깨달을 수 있었고 나와 함께 하는 약 30명의 파트원들이 이 가치를 기반으로 개발자로서의 성장을 넘어 한 사람으로 인간적으로 강해지고 성숙해지길 원했다. 아래는 내가 파트장 사전자료에서 제출했던 내용이다.

낭만이라는 단어를 좋아한다. 내가 생각하는 개발자로서의 낭만은
내가 속한 팀을 사랑하며, 그 팀원들과 같이 세상이 필요로 하는 가치를 선물하기 위해서 끊임없이 노력해서 결국 그 문제를 해결하는 숭고한 서비스를 완성하는 것이라고 생각한다.
이러한 낭만을 선물해주는 것이 내가 iOS 파트장이 된 이유이자, 내가 만들고 싶었던 iOS파트였다!
다음 회고글은 이런 iOS파트를 구성하는 과정에서 느꼈던 경험에 대해 공유하려고 한다! 다들 많관부!
'회고' 카테고리의 다른 글
| [회고] NOW SOPT iOS 파트장 회고 (5) 어떻게 가르칠거야? (6) | 2024.09.10 |
|---|---|
| [회고] NOW SOPT iOS 파트장 회고 (4) 어떤 사람들과 함께하고 싶어? (4) | 2024.09.08 |
| [회고] NOW SOPT iOS 파트장 회고 (2) 어떤 SOPT를 만들고 싶어? (4) | 2024.09.04 |
| [회고] NOW SOPT iOS 파트장 회고 (1) Intro (3) | 2024.09.04 |