면접, 과거 얘기, 새로운 관심사
근황 - 뜨거운 면접
소마를 하면서 백엔드랑 클라우드 인프라를 맡아서 배포까지 해볼 수 있었다. 팀원분들이 모두 인턴이 되셔서 나도 헛되이 방학을 보낼 수 없겠단 생각에 무작정 인턴 지원서를 수십 곳 정도 던져봤다. (아직 3학년이라 그런지 대부분이 서류탈이었다ㅠ)
특히 최근 화장품 앱 관련 기업에 풀스택 인턴 면접을 봤는데 여러 부족한 점을 많이 느꼈다.
나름 이것저것 준비해 갔는데 라이브 코테부터 삐걱거렸고 시스템 인터뷰도 diagram으로 설계하면서 설명하니 계속 막히고 막막했다. 변명하자면 한국만이 아닌 대용량 글로벌 트래픽 서비스에 대한 설계는 한 번도 생각해 본 적이 없어서 그런 것 같기도 하다..ㅎㅎ
그리고 당황했을 때도 조리있게 설명하기 위한 틀을 준비할 필요성을 느꼈다.
면접관님이 과제도 따로 리뷰해 주셔서 좋았다.
나름 좋은 구조, 테스트하기 좋은 형태를 생각하면서 MVC 기반의 DI하기 좋은 형태로 구현해 갔는데 너무 spring스럽다는 피드백을 주셨다.
그리고 구조상 너무 하위 도메인과 커플링이 생겨서 나중에 어떤 도메인과 관련되는 API를 추가하기 어렵고 여러 기능들이 늘어났을 때, MSA로 전환했을 때 코드가 유지보수하기 어려워진다는 점을 설명해 주셔서 내 코드의 문제점을 느낄 수 있었다.
말고도 express에서 데이터를 fetching하고 에러 처리하는 팁 등을 주셔서 express를 새로운 관점을 볼 수 있었다.
테스트 코드도 커버리지가 요구사항을 충족하지 못해서 지적받았다 ㅠ. Entity를 어떻게 테스트할지 고민하다가 모킹으로 다 때려 박았는데 흑흑..
학교 프로젝트를 하면서 고민할 일이 없어서 그런지 아직은 DDD나 MSA 이런 부분은 책을 읽어도 추상적인 부분이 많이서 경험이 많이 부족하다고 느낀다.
현재 단계에서 할 수 있는 전공 공부와 객체지향, 유닛 테스트부터 계속 익숙해지며 공부해보려고 한다. 면접에 자신있기까지는 아직 더 많은 고민, 경험, 연구가 필요할 듯하다..!
시스템 인터뷰는 공부하다보면 전공에서 배운 내용도 등장하고 좋은 책도 있어서 공부할 맛이 난다. 앞으로는 다이어그램을 그리면서 연습해보려고 한다. 이것은 여유가 많으니 시간 날 때마다 만화책 보듯이 준비를 해보려고 한다.
암튼 새로운 자극도 얻고 (엄청 친절하셨지만 내가 부족했기에..) 멘탈이 좀 깨져서 쉬고 있다.
과거 얘기 - 나의 중고딩 생활
그러던 와중 Jetpack Compose에 흥미가 생겼다.
좀 뜬금없지만 그 이유는 중고딩 때로 거슬러 올라간다.
나는 영상 제작과 (아무런 이해도 없이) 어려워 보이는 소프트웨어를 만져보는 것을 좋아했다.
중학교 때 혼자 S2에 루팅도 하고 커스텀 롬의 문자가 깨지는 것을 인터넷 뒤져가며 패치하고 뿌듯해하곤 했다. 지금 생각해 보면 당시에는 되게 거창하고 어려워 보였던 것이 그냥 SMS관련 encoding만 바꿔치기하면 되는 것이었다 ㅎㅎ.
그냥 오딘으로 새로운 롬 돌려보고 벽돌 해결하고 부팅화면 바꿔보고 티타늄 백업으로 롬 갈아탈 때마다 귀찮은 앱설치 단순화하는 등 이런 과정 자체가 재밌었다.
아무튼 이렇게 찍먹만하다가 고등학교 때 와서는 UCC를 출품하다가 화려한 그래픽 영상에 흥미를 느껴서 blender로 그래픽도 찍먹 해보고 로봇동아리를 하며 아두이노 키트 같은 걸로 드론이나 3D 프린터기도 조립해 보고 NXT 로봇대회도 많이 나가고 간단한 아이디어로 특허도 내본다.
그런데 아무래도 일반고이다 보니 점점 내 위치가 애매해졌다. 내신 등급도 애매하고 친구들도 점점 입시의 압박감을 느껴서 애매해했다. (물론 성적 1도 신경 안 쓰는 친구랑 재밌게 이것저것 해보긴 많이 시도했다 ㅎㅎ)
그래도 IT에 관심 있는 친구들을 끌어모아서 printf 자율동아리 만들어서 고2 때는 C, 고3 때는 Java를 공부했다.
나는 200% 진심이었는데 다들 수능이나 내신 같은 현실적인 이유 때문에 참석률이 낮았고 고2 때 C언어는 (나도 잘 모르지만) 거의 내가 강의하는 방식으로 흘러가버렸다.
고3 때 Java는 거의 흐지부지돼서 속상했다. 그냥 나 혼자 야자(아주 가끔 했다) 때 “자바의 신”이라는 책을 읽으면서 공부했다.
가뜩이나 미래 진로도 불확실(아직 컴공을 갈지 어디과를 지원할지 고민하고 있었다)하고 수능 공부도 스트레스인데 이렇게 검정창에서 돌아가는 콘솔앱만 만들다 끝내기는 너무 화날 것 같아서 혼자 밤새서 3학년 5반(당시 내가 속해있던 반) 앱을 만들기 시작했다.
당시 주변 어른들(학교쌤 포함)은 그냥 대학교 가서 해도 안 늦으니깐 성적 꼬이기 전에 학교 공부에 집중하는게 장기적으로 더 나을 것 같다고 말씀해주셨다. 그나마 프로그래밍 언어 공부 용도로 문제풀이를 추천해주셔서 백준을 시작했다. 대충 찾아보니까 자료구조, 알고리즘이 아주 중요하다해서 그냥 지금 공부해버리자는 생각으로 비싸지만 부모님을 설득해서 백준님의 인강을 구매해서 봤다. 하지만 지금 생각해보면 내용은 엄청 유익했는데 문제 풀이 위주의 속성 강의라서 입문용으로는 너무 어려워서 dp 문제 중간 쯤에 포기했다. (게다가 기간 제한이 있어서 지금 보지도 못한다 ㅠㅠ)
그래도 큰 관련이 없지만 콘솔이 아닌 모바일 앱 정도는 만들어봐야지라는 되겠다는 오기가 생겼다.
물리, 기계 등 다양한 분야에 흥미를 느끼고 있었는데 이 정도는 해봐야 컴공에 대한 후회 없는 확신을 가질 수 있을 줄 알았던 것 같다.
아침부터 학교, 학원이 끝날 때까지는 학교 공부를 하고 새벽에는 앱을 만들었다. 객체지향 이런 것들을 이해하려고 시도하긴 했지만 거의 아무런 틀 없이 그냥 무조건 필요한 것만 파악한 뒤 따라 쳤다.
근데 갑자기 어제 되던 것이 안 될 때는 멘탈이 나갔다. (ex. 갑자기 모든 reference가 빨갛게 물든다)
오류 나면 또 검색하고 삽질했다.
젤리빈에서 킷캣으로 넘어갈 때였나..? 잘 기억은 안 나지만 새로운 SDK 버전이랑 gradle 문제 때문에 계속 컴파일이 안 돼서 거의 포기할 뻔했다. 새로운 업데이트가 나의 가장 큰 장벽이었다. 시내 서점에 가서 신간 안드 책만 이리저리 둘러보고는 했다.
그렇게 구글 로그인, 실시간 채팅, 이미지 및 파일 전송, 시간표, 기능들을 넣은 3학년 5반 앱을 만들어낸다.
새로운 관심사 - 앱
안드로이드 반 앱을 만들 당시에는 constraint layout도 없어서 relative layout?으로 무조건 drag and drop으로 UI를 짜고 xml이 꼬여버려서 괴상해진 기억이 난다. 나중에 어떻게든 이쁘게 만들려고 xml을 기준으로 이것저것 건드렸던 생각이 난다.
반면 Jetpack Compose를 사용하면 코틀린 언어 하나만으로 모든 것을 짤 수 있다길래 호기심에 간단하게 둘러봤다.그런데 리액트 코드랑 상당히 비슷했다!! (사람들은 플러터랑도 비슷하다고 많이 얘기하던데 나는 안 써봐서 모르겠다)
XML, 자바를 통한 data binding, 등 없이 리액트처럼 상태(state)에 따라 선언적으로 컴포넌트를 그리는 느낌..? 그래서 더 흥미가 생겼다.
하지만 나는 코틀린을 몰랐고 조금씩 미루던 와중에 2월 말에 출간 예정인 코틀린 책의 베타테스터가 되었다. 기분 좋게 읽으며 베타평을 남겼다. ㅎㅎ
책이랑 똑같은 구조로 이루어진 퀴즈와 한 세트로 된 책인데 실제 코드 기반으로 설명해줘서 속도감 있게 볼 수 있어서 더 재밌게 읽었다.
코틀린을 배우다 보면 여러 언어들이 자주 떠올랐다.(특히 C#) 부족한 점을 보완해서 만든 정돈된 언어 같다고 해야 할까...? 그래서 그런지 친숙하기도 했고 처음보는 방식에 신기하기도 했다. 첫인상은 합격이닷. ㅎㅎ
코틀린에 관해서는 아직 나도 입문자라 1년 정도 더 경험해보고 후기를 남겨보겠다.
이제 남은 것은 Jetpack Compose로 앱 만들기!!ㅎㅎ 혹시 모른다. 안드로이드 직군으로 취업하게 될지!
AWS 특강(동아리에서 내가 경험한 것을 기반으로 특강을 진행하고 있다)이랑 자취방 이사만 끝나면 본격적으로 파고들 것 같다.
마침 남아도는 Oracle Cloud 자원도 있고 백도 할 수 있기 때문에 더 많은 시도를 할 수 있을 것 같다.
노리고 있던 인턴 기회는 모두 떨어진 덕분에
마침 나는 방학까지 백수닷ㅎㅎ!!
(이제 그만 지원하고 인턴은 학교랑 연계되는 것을 통해서 학점 인정되는 것을 하려고 한다)
댓글
이 글 공유하기
다른 글
-
2023년도 상반기 인턴십 후기!
2023년도 상반기 인턴십 후기!
2023.07.04 -
제 블로그의 새로운 방향성
제 블로그의 새로운 방향성
2023.02.23 -
2022년 회고 (소프트웨어 마에스트로 회고)
2022년 회고 (소프트웨어 마에스트로 회고)
2023.01.13 -
내 코드에 관한 고민 그리고 앞으로 해야 할 것들 (#NestJS Code Review)
내 코드에 관한 고민 그리고 앞으로 해야 할 것들 (#NestJS Code Review)
2022.12.17