[스터디] 엔샵을 활동하면서
in Documents on Doc
세종대학교 엔샵(En#) 동아리의 18기 부원들을 위한 피드백을 위해 자료를 조사한 내용입니다
서론
저는 엔샵 16기 입니다. 2016년 3월에 엔샵에 합격하였고, 여러분과 비슷하게 2016년 6월까지 C# 스터디를 진행하고 2016년 7월부터 안드로이드 스터디와 본격적인 공모전을 시작하였습니다. 최종 공모전은 Microsoft 에서 진행한 Imagine Cup 이였으며, 한국 Finalist 를 최종으로 2017년 5월에 마무리 하였습니다. 엔샵을 통해서 여러 대외활동과 팀원들과의 소통 및 개발을 진행하면서 느꼈던 점과 엔샵 이후의 활동에서의 느낀점을 토대로, 현 기수에서 활동하고 있는 18기 부원들을 위해서 스터디 자료를 기획하게 되었습니다.
논외로, 사람들은 자신이 경험한 것이 대부분 맞다고 생각하는 본연적인 성격이 존재합니다. 그럴 수 밖에 없는게 만약에 누구한테 피드백을 해준다고 가정하면 자신이 경험한 것에 의해서 나올 수 밖에 없거든요. 하지만 이런 생각을 깨야합니다. 남들은 자신과 똑같이 살아오지도 않았고, 똑같은 사람이 아니기 때문에 무조건 맞는게 아니라 다를 수 밖에 없거든요.
저의 자료들은 엔샵이라는 활동에 공통점이 있으나, 각자의 인생에 있어서 앞으로의 방향 자체가 다를 수도 있고 생각하는 것이 다를 수 있다는 것을 인지하고 있습니다. 그냥 엔샵의 16기의 한 부원으로써, 한 사람으로써 이런 경험을 했구나 정도로 받아들이고 만약 도움이 된게 있으면 느끼면 되고, 아니면 버리면 됩니다 :)
목차
- 저에 대한 소개
- 현재까지 해온 일
- 현재 하는 일
- 백엔드? 프론트엔드? 퍼블리셔?
- 멘토들의 이야기
- 8년차 개발자가 직장을 때려치우고 느낀 점
- 엔샵에서 프로젝트를 진행할 때, 이것만큼은!
- 마지막으로 개발의 길에 대해서
PART 1 저를 소개합니다
저는 적응력이 빠르고, 무엇이든 곧 잘 하는 성격입니다. 그리고 기록하는 것을 좋아합니다.
엔샵에서는 모든 프로젝트에서 팀장을 담당하였으며, 하드웨어, 디자인, 안드로이드, 3D프린팅, PPT, 발표 등 거의 모든 분야를 담당했습니다.
제가 Imagine Cup 에서 개발한 청력관련 프로젝트 입니다.
그 외에도 제가 엔샵을 진행하면서 팀원들과 함께 진행했던 안드로이드 프로젝트 입니다.
거의 엔샵 활동 하면서 모든 것을 경험하고, 직접 해보니 게임에서 속되게 말하는 ‘잡캐’ 가 되어있었습니다.
PART 1.5 지금의 저는요
코드스쿼드 라는 곳에서 소프트웨어 개발 교육을 받고 있습니다.
코드스쿼드의 모토는 아래와 같습니다.
소프트웨어는 미래를 준비하는 훌륭한 도구입니다. 누구나 자신에게 필요한 소프트웨어를 만들어야 하는 시대를 준비해야 합니다. 소프트웨어 교육은 사람을 바꿀 수 있고, 사람이 바뀌면 미래가 바뀝니다.
저는 MASTERS COURSE 중 프론트엔드 레벨 3 을 진행하고 있습니다.
코드스쿼드에는 총 4명의 멘토가 있습니다.
코드스쿼드를 추천하는 분들의 메세지입니다.
마스터즈 수강생들이 취업한 곳입니다만, 사람마다 다를 수 있겠죠?
Github 관리를 죽어라합니다. 그래도 개발자처럼 보이고 싶어서요 하하 :)
PART 2 개발자의 직종분류
우리나라에 한정합니다.
우리 나라 산업의 형태로 볼 때 과거에는 대다수가 자바를 기반으로 하는 웹 서버 개발자였는데 현재는 다양한 직군이 늘어나고 있습니다.
- 웹 서버 (백엔드) 개발자: 자바, C#, 루비, 파이썬 등의 언어로 서버 쪽의 로직을 개발하는 역할을 합니다. 대부분의 경우 데이터베이스도 잘 알아야 합니다. 최근에는 NoSQL, 클라우드, 컨테이너, DevOps 같은 분야도 조금 알아야 할 필요성도 생겼습니다.
- 웹 프론트엔드 개발자: HTML/CSS, 자바스크립트를 주로 사용하며 디자이너와 협업을 하는 개발자입니다. 센스와 끈기가 필요합니다. 최근에는 JQuery나 React.js와 같은 라이브러리도 잘 사용해야 하고, node.js를 통해 백엔드 개발, 아이오닉이나 react native와 같은 도구를 이용 모바일 웹앱도 제작할 수 있게 되어 풀스택 개발자로 성장하기도 합니다.
- 모바일 앱 개발자: 2016년 12월 현재, 자바 기반의 안드로이드 개발자와 오브젝티브C 기반의 iOS 개발자가 이 범주에 속합니다. 안드로이드 개발자가 수요가 더 많은 반면 iOS 개발자가 조금 더 멋있어 보입니다. iOS의 경우 최근에 개발된 Swift도 배워야 합니다.
- 기타: 시스템 프로그래머, 임베디드 개발자, 모바일 게임 개발자, 게임 서버 및 게임 클라이언트 개발자가 있는데 이 직군들은 상대적으로 높은 실력에 비해 구직이 어렵고 대우가 좋지 않습니다. ‘이 직군이 매력적이다’라고 생각하시면 해외 취업을 권하고 싶습니다.
- 비개발자 직군: 중요한 비개발자 직군으로 DBA, 시스템 엔지니어, 빅데이터 전문가가 있습니다. 빅데이터 전문가가 최근 매우 유망하고요. 시스템 엔지니어들은 클라우드가 나타난 이후로 DevOps 엔지니어로 직무전환을 할 수 있고 이 경우 과거에 비해 대우가 좋아진 듯 합니다. DBA는 실력과 연륜에 따라 연봉의 차이가 매우 크게 나는 직업으로 알려져 있습니다.
출처 를 남깁니다.
PART 3 멘토들의 이야기
협업하는 방법
개발자에게 가장 중요한 자질 0번은 협업하는 자세입니다. 물론 동의하지 않는 천재 개발자들도 많으시지만, 저는 협업할 수 있는 열린 마인드가 가장 중요하다고 생각합니다. 술 한 잔 사주고 내가 일주일 끙끙될 걸 하루만에 해결하기도 합니다. 에자일 방법론과 스크럼, 칸반 등에 대한 좋은 책들을 한 번 읽어 보시기 바랍니다.
Why?
좋은 개발자는 Why? 를 달고 사는 사람이 아닐까 생각을 합니다. 여러분이 무엇을 보든지 일상 생활에서 무엇을 하던지 why? 에 대해 한 번씩 스스로 생각해 봅시다. 예를 들어 지금 이 순간이라면 google docs는 어떤 원리로 실시간 동기화 기술을 제공해 주는 걸까? 프론트 엔드 - 백엔드 - 네트워크 - 그리고 동기화 기술엔 어떤 것들이 있는 걸까? 내가 이걸 만들 수 있을까?” 이런 생각을 할 수 있을 것 같아요. 최근 저는 오일러 상수 e 가 왜 2.718일까? 를 생각하고 있어요. 아직 답이 나오진 않았는데 조금 실마리를 찾았습니다. 책을 보고 답을 찾는 것보다 즐거움을 위해서 ‘바퀴의 재발명’을 해 보시기 바랍니다.
PART 4 8년차 개발자가 직장을 때려치우고 느낀 점
출처는 이곳 입니다
작은 회사에서 Java 개발을 담당한 8년차 개발자
대기업과 소규모회사의 다른점
소규모회사는 대기업에 비해서 의사결정이 상당히 빠릅니다. 대기업 같은 경우는 결제라인을 타고 올라가서 위에서 다시 타고 내려와야 하는데 소규모 회사는 3명이서 회의하고 ‘OK 하자’ 하면 끝납니다.
단점은 프로젝트 관리면에서 상대적으로 약할 수 밖에 없습니다. 대기업은 PM이 관리하기 때문에 관리가 잘 됩니다. 하지만 소규모 회사는 “어디까지 했어?” “그러면 내일은 여기까지 하자” 이런식으로 프로젝트 관리가 이뤄지는 것은 부족할 수 밖에 없습니다.
퇴사 후 갈곳은 많나요?
갈곳은 많습니다. 가고싶은데 경력이 없어서 못가는 곳도 있습니다. 내 경력을 온전히 인정받을 수 있는 업무분야는 정해져 있습니다.
꼭 첫 회사로 대기업을 가야할까요?
대기업이든 중소기업이든 처음가서 여러분이 할 수 있는것은 별로 없습니다. 여러분이 배워왔던 코딩 싹다 쓰레기에요. 경험을 쌓을 곳이 작은곳이냐 큰곳이냐의 차이입니다. 진짜 자신있고 여러가지 신기술을 많이 해보고 싶다면 작은회사, 스타트업도 가리지 않는것이 좋습니다.
연봉이 중요한데요..
스타트업이나 소규모 사업장에서 연봉 성장 가능성은 만족할만한 수준까지 가기는 힘듭니다. 그러나 여러분들이 그 회사에 계속 있을 필요가 없습니다. 저가 생각했을 때 개발자는 약속의 3년차가 있다고 이야기 하는데, 개발자는 3년차쯤 되면 자기 코드가 보이고 남의 코드가 보입니다. 솔직히 1-2년차들은 잘 몰라요. 남의 코드를 가져다 쓰려고 해도 이게 무슨 기능인지 알아야 가져다 쓰죠. 그래서 약속의 3년차가 되면 그게 보입니다.
말도안되는 연봉을 받고있다고 해도, 여러분들의 연봉희망과 가깝게 맞춰줄 수 있는 곳을 갈 수 있어요. 대기업 뿐만 아니라 연봉을 괜찮게 주는 회사도 많습니다. 그리고 그때쯤 실제로 연봉이 많이 오르기도 합니다.
이왕 갈거라면 내가 좋아하는 분야를 선택하세요. 게임 좋아하면 게임회사 가보고, 금융회사도 좋고 해보고 싶은 분야에서 시작해보세요.
스타트업은 이런사람이 가는게 좋다
저는 지금 선택지가 있다면, 스타트업을 해보고 싶어요. 재미있잖아요. 계속 새로워요. 시작점이 대부분 같은 상태이기 때문이죠. 그리고 본인이 좋아하니까, 거기에 빠질 수 있어요. 스타트업은 정말 좋아하기 때문에 할 수 있는 거에요. 그런데 갈데가 스타트업 밖에 없어서 스타트업을 간다는 것은 절대 가면 안되는 케이스 입니다.
그럼 가장 일배우기 좋은곳은요?
가장 일배우기 좋은곳은 대기업 SI 회사입니다. 3년차 될때까지 온갖곳에서 구르고 나면 실력이 엄청 올라가 있습니다.
PART 5 엔샵에서 프로젝트를 진행할 때 이것만큼은!
- 프로젝트를 기록하세요
- 다양한 것을 경험해보세요
- 프로젝트를 다양한 언어로 개발해보세요
기타 (내용정리)
유닉스 콘솔 명령어 (bash) 배우기
Linux Journey
Learn the ways of Linux-fu, for free.
Git
GitHub 익숙해지기
데이터베이스 분야
데이터베이스 기초
Virtual Box, AWS, Heroku
네트워크의 기초
REST API