주니어 개발자 9개월차 회고
42 Seoul
42 Seoul.. 처음으로 개발을 접하게된 교육 프로그램이다.
교수, 교재, 학비가 없는 3무 교육 프로그램으로 처음에 들어갔을 때 많이 당황했었다.
일단, 과제가 매우 불친절했다.
설명없이 결과물만 보여주고 “이걸 만들어서 이 ssh주소로 제출해” 였다.
처음에는 git 개념도 몰랐기 때문에 제출하는 데만 하루를 통째로 날렸던 기억이 있다.
그래도 과제를 해결하면, 개발천재가 된 기분이들고 자신감이 하늘을 찌르게 된다.
하지만 다음 과제를 보고 나는 하찮은 존재였구나하고 현실직시를 하고 땅 깊숙히 들어간다.
42 Seoul에서는 이 과정의 연속이 였다.
과연 나중에 도움이 될까 했던 과제 하나하나의 것들이 정말 나중에 도움이 많이 됐다.
아직 주니어 9개월차 풋내기의 생각이지만 42Seoul 커리큘럼은 어느분야든지 정말 정말 도움이 된다고 자신한다,
때문에 현재 카뎃인 분들은 꼭 끝까지 완주했으면 좋겠다는 생각이 든다.
iOS개발자를 선택이유
“유명 xx회사에서 iOS개발자 구하기가 힘들데”
개발자인 동네 친한친구의 한마디로 iOS공부를 시작했다.
선택보다 그 선택을 의미있게 만드는 능력이 더 중요하다는 생각을 갖고 있기 때문에, 크게 고민하지 않았다.(이러한 마인드로 피본적도 많다.)
이떄는 21년 11월이였고 23년 현재 iOS시장은 레드오션이 되었다.
하지만 지금까지 apple과 안드로이드의 행보를 비교해보면 결과적으로 잘 선택한 것 같다.
취업준비
취업을 마음먹고 6개월동안은 정말 빡세게 했던 것 같다.
동네에서 꽤 규모가 큰 스터디카페에서 공부시간 1등 찍었을 정도로 열심히했다.
취업직전에 원티드와 야곰아카데미에서 진행하는 5주 교육 커리큘럼을 참여했다.
무료였기에 기대를 하진 않았는데, 서포터 강사분들, 멘토링으로 참석해주신 야곰출신 개발자분들
에게 이정도까지 받아도 되나 싶을정도로 도움을 많이 받았다.
만약 이제 막 iOS개발을 시작했더라면 야곰 캠프를 신청했을 것 같다.
다행히 내가 취업준비를 했던 시절에는 지금처럼 취업 혹한기는 아니였다.
지금 취업시장을 보면 지금 취준생들 한태는 미안하지만, 타이밍 좋게 잘한 것 같다.
취업
일단 현직장인이기때문에, 생존을 위해 장점만 말할 것이다. 사실 장점밖에 없다. 진짜다..
면접 당시 건물, 분위기, 투자도 잘받고 성장하고 있는 회사였기 때문에,
고민없이 입사했던 것 같다.
아직 신입이기 때문에 선배들한태 치이며, 욕먹고 야근도하면서 배우겠지 하고 생각했다.
하지만 회사 분위기가 강압적인 분위기가 아니였고
8-10시 유연근무제에 점심시간도 1시간 30분이고, 팀 마인드가 ‘파레토의 법칙’의 마인드였기 때문에 일을 할땐 빡세게하고 쉴땐 쉬라는 분위기 였다.
AI팀답게 매번 새로운 일을 하게된다. 앱개발자들도 Vision, CoreML 등등 을 배울 기회가 있으며, 지금까지도
계속해서 업데이트되고 새로나오는 기술들에 대해서 빠르게 접하고 배울 기회들이 있다. 이 점이 가장 큰 장점이 아닐까 생각이 든다.
취업 후 성장
직장생활을 돌아보면 내 개발실력이 얼마나 성장했는지 평가를 못하겠다.
사실 과거 블로그글 깃헙코드보면 평가 가능하다… 싹다 지우고 싶다.
하지만 열정 넘쳤던 초심을 잃지 않기 위해 안 지울 것이다.
iOS팀의 AI팀에서의 역할을 예를들어 설명한다면,
광산에서 AI팀원들이 광석을 캐고 보석으로 가공하면, iOS팀이 그 보석을 활용하여 제품을 만드는 역할을 한다고 생각한다.
사실, 보석만으로도 가치가 있지만, iOS팀은 그 보석을 이용하여 창의적으로 제품을 만들거나 더 가치가 있어보이게 만드는 역할을 한다.
AI팀에서 원하는 것들을 먼저 제시해주는 편이지만,
앱개발자 관점에서 활용점을 생각하고 의미를 만들어 가는 것이 팀적으로나 개인적으로 더 성장할 수 있는 방향이라고 생각한다.
그렇기 때문에 항상 AI기술을 어떻게 앱으로 응용할 수 있는가를 생각하게 되는데,
덕분에 iOS 프로그래밍에만 국한되지 않고 AI관련 아티클이나 영상을 찾아보게 되면서, 자연스럽게 AI지식도 쌓이게 된 것 같다.
최근엔 WWDC2023에서 VisionOS를 발표하는 등 iOS만으로도 고부가 가치를 만들 수 있는 재료들이 생기고 있다.
동료
우리팀은 생긴지 얼마 안된 팀이며, 신입들이 많은 편이다.
우리팀 한명도 빠짐없이, 똑똑하다고 느껴지는 경우가 많다.
가끔 나보다 나이가 어린동료들이 오히려 나보다 더 어른스럽다고 느껴질때도 있고
번뜩이는 동료들이 많은 것 같다. (개발 외 적으로)
그런 동료들의 행동이나 태도를 본받으려고 몰래 관찰하고 배우고 있다.
리더
동료가 괜찮은 이유엔 팀장님의 리더쉽덕분이라 생각한다. 우리팀에 분야가 다른 팀원 15명을 잘 케어하신다,
나도 나이가 적은편이 아니라서 이런 매니징이 얼마나 힘든지 경험을 통해 알고 있다.
대학시절 봉사동아리 회장을 했던 경험이 있는데,
나름 팀을 잘 이끄는법도 공부하면서 운영했던적이 있다. 그때는 나덕분인줄 알았고 만족했었다.
하지만 나때매 유지된 것이 아닌 동아리원들이 나를 케어해준 것이 였다. 오히려 회장이 동아리원들을 더 힘들게 하는 모래주머니 역할을 했었던 것 같았다.
동아리원들이 회장이 부족하니깐 맞춰주고 따라주고 기분상하지 않게 인정해주고..
리더는 팀에 대한 큰 책임이 따른다.
감정적이여도 안되고 너무 이성적이여도 안된다, 성과가 안나올때는 책임을 질 수 있어야하고 성과가 잘나올 때는 팀원의 덕으로 돌릴 수 있어야 한다.
팀원들이 팀장을 따르고 맞추는 것이 아닌, 팀장이 팀원들의 개개인의 성향을 파악해서 퍼포먼스가 잘나올 수 있는 환경을 만들 수 있어야 한다고 생각한다.
내가 평가할 처지는 아니지만 이점에서 우리 팀장님은 백점인 것 같다.
반면 반대 케이스의 리더도 경험했는데, 혼자개발할때보다 퍼포먼스가 더 안나오는 상황의 연속이였다.
하고싶은 것들이 굉장히 많았고 회사에서도 기회를 주는데도, 아집이 강했던 리더의 벽때문에 포기했던 것 같다.
좋은 뜻으로 팀의 효율을 높히기 위해 리드를 자처하고 해주셨지만, 팀원인 입장에서 오히려 하나의 벽이 생기는 느낌이 였다.
결론적으로 개인적인 야망인 큰사람이 리더가 되는 것은 위험하다는 생각이 들었다.
야망때문에 작은 사건을 확대해서 해결을 자처하게 되며, 결국엔 팀원들이 겉돌게 됐던 것 같다.
개인적인 야망보다도 팀원을 위한다는 것은 쉽지않은 것 같다.
그만큼 실력도 있어야하고 여유도 있어야 그런 태도가 나올 수 있는 것 같다.
괜히 시니어들이 연봉이 높은게 아닌 것 같다.
(이 당시 이분도 열정이 폭발하던 신입이였기 때문에 어쩔 수 없었지만, 현재는 그 누구보다 동료의 의견을 잘 수용 해주며, 좋은 영향력을 주시고 있다.
사실 회사를 시간 때우러 오는 사람보다는 어떤식으로든지 열정적인 사람이 내 주위에 있다는 것은 감사할 일이 였다.)
9개월차 신입이 생각하는 좋은 팀원되는 방법
사실 입사 후에 개발 외적으로 신경써야될 것들이 많기 때문에, 취준때보다 개발공부는 덜 한 것 같다.
하지만 그만큼 개발 외적으로 중요한 것들을 많이 배울 수 있었던 것 같고,
그중에 하나로 좋은 팀원이 되는 방법에 대해 생각을 많이하게 된 것 같다.
매년 좋은 팀원이 되는방법에 대해 정리하고 반성할 예정이다.
현재 9개월차 신입인 입장에서 생각하는 좋은팀원이 되는 방법은 다음과 같다.
팀원이 잘할 수 있는 부분에 대해 믿고 맡길 수 있어야 한다.
일단 사람들은 내가 생각하기 나름인 것 같다.
오만한 사람은 자신감이 높은 사람이 되고, 예민한 사람은 감각있는 사람, 수줍음이 많은 사람은 겸손한 사람이 되기도 하듯 사람성격에 대해 절대적인 가치는 없는 것 같다.
이러한 특성을 이해하여 함께 협업하는 동료라면 동료의 단점보다는 장점을 볼 수 있도록 노력해야 된다고 생각한다.
항상 겸손 해야한다.
자만하면 항상 손해를 봤던 것 같다. 자기 뜻대로 안되면 환경탓 남탓을 하게 되고 결국엔 성장도 멈춘다.
또한 주위사람들로부터 자신이 기대한 것보다 인정을 못받으면 본인만 상처받게 되고,
결국 팀원들에게 부정적인 기운을 내뿜게 되는 것 같다.
팀원에게 선택을 강요하지 말아야 한다.
팀원에게 선택을 강요하는 것도 결국 본인이 남보다 잘났다고 생각하는데서 기인하는 것 같다.
내 경험상 이런태도를 가졌을 때, 상대가 거절하면 상대를 고집쟁이라고 생각하게 되고 결과적으로 나만 실망하게 됐던 것 같다.
세상을 살면서 정답이 정해진 케이스는 시험문제 빼고 없다고 생각한다.
학습을 예를들면 사람마다 각자의 학습법이 존재한다.
때문에 학습법같은 경우 팁의 형식으로 공유를 해서 팀원이 스스로 선택하도록 하는 것이 좋고,
옆에서 간접적으로 본본기를 보여주는 정도가 좋다고 생각한다.
누가 시켜서 하는 것보다, 본인이 느끼고 스스로 선택해서 했을때 가치가 있다고 생각한다.
팀원들에게 이러한 가치를 누릴 수 있게 해주는 것이 진정한 팀원이라고 생각한다.
문제와 사람을 분리하여 오로지 문제해결에만 집중하자.
개발 특성상 트레이드오프 사항이 많고, 에러가 발생함으로써 논쟁으로 이어지는 트러블들이 많다.
이러한 사항들을 해결할 때, 아무리 개발을 잘하는 사람이라도 문제와 사람을 묶어서 압박한다면, 방어기제가 생길 수 밖에 없다.
결국에 그사람은 에러나 트레이드오프사항이 발생하는 상황 자체를 만드는 것을 피하게 되며, 소극적으로 개발을 하게 된다.
최악의 케이스는 본인의 기준으로 코드리뷰나 판단을 하면서 팀원을 깍아 내리는 것이다.
양보하자.
입사 초기때는, 직장인은 프로라는 생각 때문에 모든 것을 깐깐하게 처리해야 된다고 생각 했었다.
결국 모든 트레이드오프 상황에서 목숨을 걸다시피 해결하려고 했는데,
사실 지나고 보면 중요한 사항이 아니였던 경우가 많았고, 괜히 논의하느라 시간을 낭비하는 경우가 많았다.
가벼운 트레이드오프 상황의 경우 상대방 의견이 나쁘지 않다면 양보하는 것이 최선의 선택일 수 있다.
실력이 좋은 것이 팀원을 돕는 것이다.
팀의 코드품질은 팀원들 실력의 평균으로 결정된다는 말이 있다.
실력이 좋아야 실력이 부족한 팀원들을 도울 수 있고,
실력이 좋아야 팀원들한태 짐이 안 될 수 있다.
하지만 실력이 조금 좋다고 해서 우쭐되거나 부족하다고해서 주눅들 필요는 없는 것 같다.
그 시간에 실력을 키우자.
가장 중요한 것은 남탓하지말고 본인이나 잘하자 이다.
경험상 95%의 문제는 나만 바뀌면 해결되는 문제이고, 5%의 남때문에 생기는 일일지라도
남탓한다고 해결되지도 않는다. 이럴땐 피한다.
피해야할 사람
피해야할 사람을 언급한다는게 위에서 좋은 동료가 되기 위해서 언급한 내용들에 위배되는 태도이지만,
개인적으로 이런사람은 무조건 피하거나 거리를 둔다.
두번째로 내 한계를 마음대로 정하는 사람이다.
이것은 내가 장담할 수 있다. 아무리 능력이 좋을지라도 이런사람은 일단 거르는게 좋다.
나를 포함해서 이 글을 보는 모든 사람들이 자신의 한계를 인정하지말고 계속 성장하는 사람이 됐으면 좋겠다.
AI 향후 내 미래
OpenAI의 chatgpt가 특이점이 되서 AI발전이 급속도록 발전하고 있다, AI팀에 있다보니 이런 것들이 더 빠르게 느껴진다.
대표적으로 오늘 unity-ai가 공개 됐는데, 생각이 더 많아졌다.
개발자는 코드만치는 코더가 아니기 때문에 괜찮다고 생각할 수 있다.
하지만 대체하기 힘들거라 생각했던 창의적인 영역(그림, 소설등등..)은 비교적 빨리 AI가 정복(?) 했다.
흘려들은 이야기 이지만 개발분야 중에서 개발환경 세팅(데브옵스)가 가장 먼저 대체가 될 수도 있다고 한다. (사실 현제 데브옵스할정도의 사람이면 이미 대단한사람이기 때문에 타격이 없을 것 같다.)
https://gamma.app/를 이용하면 AI가 PPT도 만들어 준다.
사실상 어느분야든지 정신을 안차리면 가장 먼저 대체된다는 것이다.
그래도 아직 AI기술의 공통점은 디테일이 부족하다는 것이다. 그래서 검증과정이 필요하고 그 분야에 깊게 알고 있는 사람이 검증이 가능할 것이다.
하지만 언제가는 이러한 디테일한 부분도 보완이될 것이고 검증할 사람도 많이 필요 ㄴ없어질 것 같다.
결국에 어떤 것을 해야 살아남을 수 있을까? 생각이 많아졌다.
기획? 아이디어? 정치? 프롬프트엔지니어? 사업?지금 이런 쪽으로 바꾼다 해도, 다른사람과 차별점을 만들기가 상대적으로 더 힘들 것 이다.
AI덕(?)에 결국엔 1인개발자 시대가 올 수도 있겠다는 생각을 한다.
개발언어도 다 같은 뿌리에서 출발했기 때문에 공통점이 많다, 앱개발에만 얽메이기 보다는 다른분야도 살짝 공부하여 공통분모를 찾는 눈이 생긴다면,
좀 더 가치있는 것들에 대해 집중할 수 있는 능력이 생기고 AI변화에 더 잘 적응할 수 있지 않을까 생각이 든다.
결국 T자형 인재가 되야 한다고 생각한다. [드림코딩 - T자형 인재]
하지만 이런것들은 어느 한분야에서 정점을 찍어야 할 수 있는 선택들이다. 아직 주니어이기 때문에 선택한 것에 집중하는 것이 좋다고 생각한다.
이미 나는 앱개발자를 선택했고 한동안은 앱개발자로써 미래에 어떤의미를 만들어낼 수 있는지에 집중할 예정이다.
또한 단순히 지식과 정보를 쌓기 보다는 정보와 지식을 습득하는 방법을 터득하는 것에 집중할 예정이다.