티스토리 뷰

Devground Junior 2019 한빛미디어 후기 02

 

 

🌏  내가 주니어개발자 때 알았으면 좋았을 것들 - 김태현/정도현 AWS 코리아 

 

 

 

정도현님과 김태현님은 모두 AWS 코리아에서 일을 하고 계신 분들이었다. IT 업계 특징인지는 모르겠으나 세미나를 다니다보면 발표자분들의 공통점이 굉장한(?) 이직을 꽤 자주 했다는 것이다. 먼저 발표하신 김태현님은 총 7번의 이직을 거쳐 현재 AWS 코리아에서 일을 하고 계시는데, 향후에 이직 생각이 있다고 하셨다.

 첫 직장은 미사일 연구소였는데 주로 정부 사업을 진행하다보니 매우 지루하다고 했다. 프로젝트의 수명이 보장되어 있다보니 안정적이지만 그만큼 보수적인 곳이라 신기술 사용을 거의 해볼 수 없다고 했다. 그래서 네이버 검색 본부의 엔지니어로 이직을 했고, 빅데이터 프레임워크를 다뤘다고 했다. 보통 네이버 같은 큰 규모의 회사에서는 천재급의 사람들을 많이 만날 수 있는데 이런 사람들이 많다고 해서 자괴감을 느끼거나 포기하지 말라고 했다. 취할건 취하면서 나의 장점에 대해 깊이 생각하고 사람들과 협업하고 커뮤니케이션 하는 능력이 중요하다고 했다. 

 네이버 퇴사 후 SK텔레콤으로 이직했지만 개발을 하지 않고 외주 관리만 했다고 했는데 이것이 너무 힘들어 사내 벤처 시스템에 지원하여 추천 서비스를 외부로 제공하는 프로젝트를 진행했다고 했다. 사업이 꽤 잘되어서 국내 대기업들이 서비스들을 이용하기 시작했고 아직까지도 본인이 개발한 추천 알고리즘을 사용하고 있다고 했다. 
 쿠팡으로 이직 후 추천팀/개인화팀/랭킹 팀에서 일했고, 이 곳에서 외국인들을 굉장히 많이 만나셨다고 했다. 그에 따라 영어의 필요성을 느꼈고 개발자는 꼭 영어 공부를 해야 한다고 말해주셨다. 기회 자체가 다르다고. 쿠팡은 실리콘 밸리에서 온 개발자와 협업할 수 있는 기회가 많기 때문에 주니어가 일하기 굉장히 좋은 환경의 회사라고 했다. 

 김태현님은 본인이 다시 주니어 개발자로 돌아간다면 외국계에 지원할 것이라고 했다. 일단 기회의 폭이 넓고, 환경 자체가 개발 친화적이다 보니 배울 것이 무궁무진하게 많다는 것이다. 외국계 취업은 LeetCode에서 코딩 테스트를 준비하면 된다고 했다. 꾸준히 코딩 공부하는 것이 중요하고 스크립터 언어가 편하다고 했다. 미디엄 사이즈의 문제를 20분동안 풀어낼 수 있다면 무난히 합격권일 것이라 말했다. (나는 과연..) 
 아마존은 분기별로 한국에 와서 개발자들을 채용해가는데, 이것을 잘 준비하고 대비하고 있는 사람만이 기회를 잡을 것이라 말했다. 데이터 사이언티스트를 지망하는 사람들은 Kaggle에서 문제를 풀어보면 된다고 했다. 

 

두 번째로 정도현 AWS 테크니컬 트레이너님은 Learn and be curious 와 Dive Deep에 대해 말씀해주셨다. 아마존의 유명한 리더십 14가지를 언급하면서 이것은 기술 직군에 있는 사람들에게 굉장히 중요한 이념이라고 했다. 배우고, 궁금증을 가지고, 그 궁금증을 해결하기 위해 얼마나 공부했는지가 매우 중요하다 했다. 면접을 볼 때에도 집요하게 물어보는 부분이라 이러한 태도를 갖는다는 건 좋은 자세라 했다. 

 멋진 이력을 가지는 방법에 대해서는 현재의 이력서와 미래의 이력서를 함께 유지하라 했다. 미래의 이력서는 내가 가지고 싶은 이력서를 적어보는 것이 좋다고 했고, 다니고 있는 회사가 본인이 이력서 업데이트에 도움이 되지 않는다면 이직을 심각하게 고려해야할 부분이라 했다. 주니어 때 이직을 두려워하지 말고 적극적으로 해보라고 조언했고, 하기 싫은 일을 억지로 하게 될 경우를 대비하여 저축은 필수라고 했다. 

 글쓰기와 개발자의 상관관계는 같은 원리로 작동한다고 했는데, 좋은 개발자는 좋은 작가라는 말을 해주셨다. 그에 따라 '코딩 호러가 들려주는 진짜 소프트웨어 개발 이야기' , '조엘 온 소프트웨어' 라는 두 가지의 책을 추천했다. 두 권의 저자가 바로 스택오버플로우의 공동 창업자이다. 즉, 코딩을 잘하기 위해서는 글쓰기를 열심히 해보는 것이 도움이 될거라고 했다. 

 최고의 학습법은 내가 가고자하는 방향과 회사의 비전이 같다면 매우 좋은 학습법이라 했다. 또한 남을 가르치는 방법이야 말로 최고의 학습법이며 이것을 실현하기 위해서는 커뮤니티를 활용하라 했다. AWS한국 사용자 그룹이라는 커뮤니티가 있고 이곳에서는 발표할 수 있는 기회가 많다고 했다. 세미나를 가서 듣기 보다는 한 번이라도 발표를 해보라고 조언했고, 관심사를 끊임없이 유지하라 했다. 스택오버플로우에 질문 올리는 것을 겁내하지 말고 도전하라 했고 개발 랭귀지 하나쯤은 내 것으로 완벽하게 만들고 1년에 새로운 랭귀지를 1개씩 배우는 것도 좋다고 했다. 정도현님 또한 영어 공부를 꼭 하라고 했다.

 

 

🌏 성장을 바라보는 웹 프론트엔드 개발자를 위한 제언 - 우아한 형제들 김민태님 

 

 

 우아한 형제들의 프론트 엔드 개발자 김민태님은 개발자의 성장의 관점에 대해 조언해주셨다. 나만의 호흡과 전략, 의미 있는 훈련이 필요하다 했고 엣지 포인트를 잡고 전략을 세우는 것이 중요하다 했다. 목표는 아주 작게 구체적으로 잡고 실행 후 피드백을 받는 것이 중요하고 그 피드백을 가지고 새로운 목표를 잡으라고 했다. 이 사이클은 장기 마라톤이며 중간중간 휴식을 취해줘야 한다고 했다. 

 타인이 평가하는 성장은 개인의 성장보다 스펙트럼이 굉장히 넓다고 하셨는데 성장을 위한 결심만으로는 부족하고 객관화를 위한 측정 지표를 만드는 것이 중요하다 했다. 타인에게 피드백을 받으면 받을 수록 좋고, 정확하게 어떤 것을 피드백 받고 싶은지 본인만의 지표를 만들라 조언했다. 내가 성장하려는 목적이 무엇인지 구체적으로 생각하고 왜 배우려는지를 생각하는 것이 중요하다 했다. 면접에서 어떤 목적으로 왜, 어떤 과정을 거쳤는지에 대해 수동적으로 대답하는 우려를 범하기 전에 대비하라고 했다. 

 김민태님은 개인적으로 멘토가 필요하지 않다고 했는데 이것은 코칭을 해주는 사람이 나에 대해 잘 알고 있는 사람이어야 하고, 내가 잘못하고 있는 부분을 명확하게 짚어질 수 있는 사람이어야 한다고 했다. 또한 성장에 영향을 주는 환경에는 기술, 회사, 멘토, 동료, 태도 등이 있는데 이것을 우선순위로 매겨보자면 

태도 > 동료 > 회사 > 멘토 > 기술 

순으로 태도가 가장 높은 순위이지만 어떤 상황에서도 기술은 무조건 중요한 것이라 했다. 하지만 상황에 따라 부수적인 것이 될 수 있고, 가장 배우기 어려운 것이 태도라고 했다. 그래서 처음 배울 때 잘 배워놔야 하고 자기가 하고자하는 일에 열정이 있는지, 주변 사람들에게 좋은 영향을 줄 수 있는지에 대해 고민해야 한다고 했다. 가장 배우기 쉬운 것이 기술이며 배움을 가장 많이 주는 것이 동료이기에 기본적으로 열린 마인드를 가지고 임해야 한다고 했고, 현혹되면 안되는 것은 멘토라고 했다. 

 그럼 어떤 것을 배워야 하냐? 라고 한다면 정말 무엇을 배워야하는지 모르냐고 반문했다. 왜냐하면 개발자의 테크트리가 잘 정리 되어있기 때문에 배우고자 한다면 쉽게 배울 수 있다고 했다. 지름길은 없지만 시간은 있기에 내 호흡에 맞는 배움의 길을 찾으라 조언했다. 성장 로드맵에 대한 조언으로는 데일리 커밋같은 큰 목표보다는 나에게 맞는 방법을 찾아 공부하고 끊임없이 본인에게 질문하라고 했다. 어떻게 성장할 것인가! 

 모든 것은 해봐야 아는 것이고, 해보지 않는다면 영원히 모르는 것이다. 개발자에게 가장 중요한 것은 혼자 성장할 수 있는 상태를 만들어야 한다고 했다. 이것은 자가 학습 가능 상태이며 홀로서기가 가능해야 한다고 말하며 발표를 마쳤다.

 

 

🌏  오픈소스 속에서 성장하기 - 강대명님 

 

 

 강대명님은 오픈소스 속에서 성장하기 라는 주제로 세션을 진행하셨다. 주니어 시절의 고민은 '어떻게 해야 성장할 수 있을까?' 이고, 시니어 시절의 고민은 '내 성장이 멈춘 것은 아닐까?' 라는 고민을 한다고 했다. 그렇다면 언제 개발자들은 성장했다고 느낄까? 남이 짠 코드가 쉽게 이해될 때, 모르는게 자꾸 생길 때, 작년에 내가 짠 코드를 보며 욕할 때 라고 했다. 기술적 성장을 위한 방법은 책을 읽거나 컨퍼런스, 세미나를 다니는 것이고 토이프로젝트를 진행해보라 했다. 토이 프로젝트는 큰 규모의 프로젝트를 할 때 도움이 된다고 했다. 

 왜 강대명님은 오픈소스에 뛰어들게 되었을까?

 회사를 그만두고 공부를 하려고보니, 적절한 솔루션이 없었고 점점 없어져가는 통장 잔고를 보며 자신감이 떨어졌다고 했다. ARCUS라는 네이버에서 오픈소스화 한 인메모리 솔루션과 Redis를 사용했다고 했다. 빌드 문제를 고치기 위한 접근 방법 첫 번째는 

  1. 먼저 재현해보기 - 나만 안되는 건지, 남들도 안되는건지 
  2. 재현하기는 나중에 테스트 환경과 연관되어 있다. 
  3. 재현 환경 구축 - 클라우드 서버나 Virtual box 사용 

이고, 두 번째 방법으로는 

  1. 왜 안되는지 이유를 확인해라 
  2. 해결 방법을 찾고, 내가 찾은 해결 방법으로 정말 해결이 되는지 다시 확인하고, 더 좋은 방법은 없는지 고민해라.

세 번째 방법으로는 수정 후 테스트하라고 했다. 특히 해당 주제에만 집중하고 주제와 상관 없는 다른 것들은 굳이 고치지 말라고 조언했다. 예를 들어 띄어쓰기, 오타 같은 것들? 

강대명님이 Redis를 하면서 배운 점들로는 다양한 자료구조, HashTable, SkipList, 남들이 올리는 이슈에 따른 지식들이 있었다고 했다. 오픈소스에 사용된 기술 등에서 미리 이 분야의 여러 문제를 경험해볼 수 있다고 했다.

그렇다면 오픈소스에 어떻게 접근해야할까? 

  • Spark, Kafka 등 유명 오픈소스를 골라야 할까?
  • 나 뿐만이 아니라 다른 사람들도 하고 있을 수 있다. 즉, 남들에게도 매력적이라는 얘기. 
  • 큰 프로젝트는 알아야할 것이 너무 많다. 
  • 제일 좋은 방법은 내가 많이 쓰는 오픈소스를 고르는 것. 
    • 장점
      • 좀더 장애를 많이 겪어볼 수 있다. --> 조금이라도 배경지식을 얻을 수 있다. 
        계속 쓰고 있기 때문에 변화를 따라가기가 쉽다. 
        오픈소스의 학습이 업무 지식에도 도움이 된다. 
        결국 그냥 관심 있는 프로젝트 보다는 길게 참여할 가능성이 높아진다. 
  • 내가 충분히 익숙한 언어로 구현되었는지를 파악해라. 
    • Kafka를 한다면 scala / java를 Kubernates를 한다면 GO를 공부해라 
  • 기반 지식을 충분히 이해하고 있는가?
    • Linux라면 운영체제 관련
    • Spark라면 분산처리 관련
  • 오픈소스 커뮤니티는 활발한가? 
    • 피드백을 빨리 받을 수 있는지 
    • 전문가가 있는 커뮤니티를 찾아라 

그러나 언제나 결론은 본인이 재미를 느껴야 한다. 오픈소스를 통한 세속적인 장점으로는 업무에 필요한 툴에 대한 이해도가 더 높아지고, 내가 이 부분을 어느 정도 이해하고 있다는 근거가 되어준다 했다. 취업이나 이직을 할 때 해당 기술에 대해 잘 알고 있다는 어필이 가능해진다. 

Talk is cheap Show me the Code! 

꼭 오픈소스에 참여할 필요는 없지만, 다만 사용하는 툴은 알 필요가있다고 조언했다. 지식의 특징은 배워서 남을 주게 되면 더 이해도가 높아진다! 

 

>> 마지막 편은 내가 미리 알았으면 좋았을 개발생활 팁 - 강윤신 라인파이낸셜플러스, 홀로 성장하는 시대는 끝났다 - 이소영 마이크로소프트, AI/Data 시대를 위한 개발자 생존 가이드 - 삼성전자 임백준 편이 이어집니다!

 

📬 Contact : motop68@gmail.com 

댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30