이번 프로젝트 기간은 팀 프로젝트가 아닌 개인 프로젝트로 진행된다.
개인프로젝트의 장점은 내가 원하는 것을 내가 원하는 방식으로 진행할 수 있는 자유도가 높다는 것이다.
이전에도 그날의 기분에 맞춘 테마로 다이어리를 작성하는 앱을 개발한 적이 있었는데, 이번에는 (내가 마음 속 깊숙히 품고 있던) 나의 모든 것들을 저장하는 앱을 만들겠다는 기획을 하고말았다.
지금까지 앱 개발 프로젝트를 진행하면서 스스로 기획, 디자인, 개발을 하는 경우가 가장 많았던 것 같다. 항상 나름 생각대로 꼼꼼하게 디자인 했다고 생각했지만 이번에 배운 프로젝트 진행 단계를 따라가다보니 이런 확인 과정을 거치지 않았다면 개발을 하면서 디자인을 수정하거나 기획을 수정해야하는 일들이 발생했겠다는 생각이 들었다.
각각의 뷰를 분리해서 사용자가 어떤 방식으로 사용하게 될지, 각 뷰의 기능으로는 어떤 것들이 필요한지를 체크하는 과정을 거치니 완성이라고 생각했지만 메인 기능에서 조차 수정이 필요한 부분들이 눈에 잘 보이기 시작했다. 어머 너무 마음에 든다 이 프로세스!
또한 이전에는 개발을 하면서 issue를 생성하고 관리하는 방식으로 운영을 했지만, 단순히 구현해야 하는 것들을 나열했을 뿐, 어떤 것들이 공부가 필요한지 어떤 단계에 있는지 절차에 대한 고려를 하지 않았었다. 이번 프로젝트를 통해 개발 이전에 어떤 기능이 필요한지, 어떤 공부가 필요한지, 우선순위가 무엇인지를 사전에 파악해보니 프로젝트의 진행이 수월하고, 내가 생각한 마감 일정에서 벗어나지 않았던 것 같다. 이전에 내가 개발할 수 있는 과제인지, 얼마나 소요될지에 대한 불확실함이 개발에 있어서 두려움으로 나타난다는 이야기를 한 적이 있다. 이번 과정을 통해서 이에 대해서 나만의 근거를 만들고 이용하는 방법의 일부를 배운 것 같다고 생각한다. 나의 경우에는 Git의 Project를 사용하여 관리하였다.
개발에 들어가면서 기간 내 프로젝트의 마무리와 완성도 중요하지만 Apple이 권장하는 View를 구현하는 방식, 데이터와 코드를 관리하는 방식인지를 생각해보는 시간을 가지고 싶다는 생각을 했다.(이제 비둘기의 목을 돌려서 나는 법을 알았으니, 날개를 돌려보자!)
그래서 다른 개발자들의 리소스보다 애플에서 설명해주는 함수, 메서드의 기능을 보고, 공식 문서를 최대한 활용해서 나만의 개발을 해보고 싶다는 결론에 도달했다. 조금 더 시간이 걸릴 수도 있겠지만, 이번 챌린지는 나에게 정말 챌린지가 될 수도 있을 것 같다!
일단 결론적으로 말하자면 공식문서만 보는 것은 실패했다. 생각보다 공식문서를 어떻게 봐야할지 중간중간에 다른 설명을 가미하지 않고는 이해가 안되는 부분이 있었다.
하지만 최대한 나만의 코드로 작성하고자 했고, 커스텀 컴포넌트도 남의 커스텀을 가져와서 나한테 맞게 변형시킨 것이 아니라 내가 알고리즘을 기획하고 나만의 방식으로 컴포넌트를 개발하였다.
진행하며서 오류가 발생하거나, 생각한대로 진행되지 않는 경우에 해결 가능한 코드만을 가져와서 사용하는게 아니라, 왜 코드가 그렇게 쓰여야 하는건지 이유를 확인하였고, 틈틈이 블로그에 정리해두었다.
그 결과 프로젝트 마지막날 나의 개발 현황을 러너들과 나누면서 나의 문제점을 똑같이 겪었던 러너들을 만났고, 그들의 질문에 왜 오류가 발생했는지, 어떤 기술을 사용하여 해결하여 하는지에 대한 구체적인 답변을 해줄 수 있었고, 진짜 개발자같다는 이야기를 처음으로 들었던 것 같다. (OㅅO) 감동...
나에게 코드를 가장 많이 물어봤던 러너도 다른 러너들에게 '왜 그렇게 코드를 구현해야 하나요??'라고 물어보면 대부분 '그렇게 하면 그냥 되던데요?'라고 이야기 하는데, 나에게 물어보면 기존에 이런 부분이 문제였고, 여기서는 이런이런 이유로 이런 기능을 써야한다 등 설명을 해줘서 이해도가 높고 가장 설명을 잘해준다는 이야기를 들었을 때 그래도 나의 지난 학습과 방식이 올바른 방향인 것 같다는 생각이 들었다.
아직 부족한 점이 많고, 모르는 부분이 많지만 언젠가는 개발자의 개발자가 될 수 있었으면 좋겠다.
그리고 정말 신기하다. 스스로 학습하는 방법이 이렇게까지 다른 결과를 낼 수 있을까? 하루에 4시간의 세션과 나머지 시간은 자유로 주어지지만 살면서 한번도 개발을 해보지 않았던 러너들이 뷰를 개발하고, 코드를 이해하는 속도가 다른 부트캠프에서 볼 수 없을 정도로 빠르다고 생각한다. 한달하고 2주가 지난 지금 모든 사람들의 뷰 퀄리티가 시간에 비해서 비약적인 성장이라고 생각한다. 정말 능력자만 뽑은 것인지, 아니면 이곳의 성장 방식이 핵심인지 조금 더 지켜봐야겠다.
'2024 Apple Developer Academy 3기' 카테고리의 다른 글
[NC2] 애플 생태계에서 수영해보기 (0) | 2024.06.18 |
---|---|
[MC2] 유저 파악하기 실패의 기록 (0) | 2024.05.08 |
[Bridge2] 조금 늦은 정리와 계획세우기 (2) | 2024.05.01 |
[Bridge 01] 나의 첫번째 브릿지를 기록하며, (2) | 2024.04.03 |
[Mini challenge 01] 끝마치며. (0) | 2024.03.26 |