개발자 특강(선배와의 대화)

현재 개발 트렌드
  • 주니어 경력직 선점
  • 가능성이 있는 사람도 뽑자.
  • 사이닝 보너스

커리어 패스를 위해 어떤 역량을 키워야 하나?

  • 하드 스킬
  • 소프트 스킬
  • 성장 가능성

이 3개를 중요하게 본다.

주니어에게 요구하는 하드스킬

기본 CS지식

  • 수학, 물리
  • 프로그래밍 언어(java,C#등)
  • 알고리즘, 자료구조, 디자인 패턴
  • OS,네트워크
  • 툴(Git, vscode 등)

개발 사이클에 대한 이해(이게 매우매우 중요)

  • 요구 사항을 이해하기
  • 설계 및 디자인
  • 구현 실체화 하기
  • 테스트

주니어에게 요구하는 소프트 스킬

협업

  • 같이 일하는 사람 배려
  • 다른 사람 코드 읽고 이해하기
  • 팀에 정해진 규칙 지키며 기여하기

커뮤니케이션

  • 자만한 말투, 공격적인 말투 조심하기(내가 좀 주의해야 될거 같다.)
  • 대화로 함께 일하기
  • 정보를 적극적으로 공유하기.

주니어에게 요구하는 성장 가능성이

사실 이건 측정하긴 불가능하다.

빠른 학습 능력

  • 주니어때는 빠르게 성장하는게 중요(걍 빠르게 성장한다고 하자. 발표자 분은 신입때 새벽에 주무셨다고 한다.)

  • 하드 스킬 기반을 많이 다질수록 더 빠르게 배울 수 있다.

선한 인성

  • 겸손함
  • 배려 있는 표현
  • 투명한 공유(안되는 걸 숨기고 이러면 전혀 도움 안됨 오히려 안되면 안된다고 해야한다.)
  • 그리고 자신감 갖자! 으아아아ㅏ악!

20211214_142453

지원서에 있는 요구사항의 핵심은 무조건 맞춰야 한다. 만약 장고 전혀 모르는데 장고 넣으면 안 될 확률이 높다.

코테는 80점 이상은 받아야 적정 점수가 된다. 기술 면접도 마찬가지이다.(S~D까지 있는데 B는 받아야. D는 탈락)

만약 자바 스프링 쿠팡에서 쓰는데 요구사항은 자바,스프링 있으면 그 외 우대사항도 우대사항이지만 자바 스프링만 알아도 넣거나 뽑힐 수는 있다.

소프트 스킬에선 면접 때 자신의 준비한 걸 잘 말하는거 그리고 플젝을 끝까지 만들어 본게 중요하다.

성장 가능성은 최신 기술이나 트렌드에 관심이 있는가. 예를 들어 C++에서 모던 C++로 바꿔가던가 최근 웹 다음은 리액트 다음의 기술의 트렌드는 뭔가? 혹은 장고의 넥스트 장고는 어떤게 될까? 자바의 미래는 코틀린인가?

그 와중에 자만이나 오만한 태도는 없는가?

기술적으로 깊이있게 고민하는가?

그 문제를 푸는거보다 깊이있게 고민하는게 중요하다.

여기까지가 주니어에게 요구하는 수준 이걸 다하면 어디든 가능하다.

그런데 이걸 다 챙겨가면 슈퍼주니어다.

20211214_143133

전략을 잘 짜야 한다.

B2B는 개발자 대상으로 하는 서비스업

싸피나 타 대회활동 참여,

성장 가능성은 그리고 꾸준히 블로그 올리거나 프로젝트를 하면 엄청 도움이 된다.


####회사 선택법

나는 하고 싶은 분야가 있다. vs 나는 가고 싶은 회사가 있다.

어디든 자신이 정한 분야를 정해야 된다. (핀테크건 게임이건 인공지능이건, 클라우드건, 프롭테크건,리갈테크건,어그테크건,블록체인이건.. 등)

20211214_143715

20211214_143730

핀테크는 만들어진지 않아서 주니어 채용을 많이 함. 신입급은 아님(3년차 이하)

프롭테크는 올해에 투자가 활발. 부동산도 여러 이슈떄문에 매출 증가가 지속적으로 이뤄남. 메타버스또한 수혜받음. 근데 주니어는 들어가기 거의 힘들다.(너무나 신생이라)

핀테크는 주니어를 관리할 시니어가 있어서 주니어를 교육시키고 쓰겠다는건데 프롭테크는 시니어조차도 없다. 시니어 쓴다음에 내년이나 내후년에 주니어 뽑을 듯.

20211214_144754

게임 쪽은 주니어 뽑기보다 인턴 뽑고 전환시킴(급하지가 않으) 그리고 게임에 대한 분야에 대한 지식이 많이 필요하다

20211214_144853

클라우드는 개발자 상대로 비즈니스 해야되서 비지니스적 관점이 필수요소다.

시니어가 많이 필요함.

20211214_144929

R&D위주에서 비지니스 융합으로 넘어감.

인공지능 가려면 대학원 가야됨. 풀이 계속 늘어남. 신입은 안뽑음(학사)

블록체인은 코인이 아님. 거래소/보안/게임융합/품질보증 등으로 활용하려 함. p2E,rebbit에서 커뮤니티 글 쓰면 돈 주겠다 이런거.

그리고 이쪽은 주니어 채용해서 키우겠다.

근데 이건 관심이 엄청 있어야한다. 걔들을 키우겠다.

20211214_145143

20211214_145216

위드코로나 들어오면서 2022에 아마도 가장 성장할만한 사업

20211214_145255 투자가 많진 않지만 개발자로서는 잘 모르겠다.

20211214_145328

컨텐츠를 만드는 사업. 개발적 지식이 약간 모자라도 컨텐츠 사업쪽에서 개발적 지식 가진 사람을 원함.

스타트업

장점

  • 여러 분야의 일을 경험해 볼 수 있따.
  • 회사가 성장함에 따라 확실히 성장한다.
  • 일하는 사람과 동료애가 많이 생긴다.
  • 자유로운 분위기 + 큰 성공

단점

  • 사람을 채용하기 어렵다.
  • 워라밸이 지켜지기 어렵다.
  • 투자에 따라 운명이 바뀌기도 한다.
  • 체계가 부족하다.

유니콘 기업(기업가치 1조 이상을 받은 기억 망할 일은 없음)

장점

  • 확실한 성장 경험을 할 수 있다.
  • 주변 사람들이 회사 이름을 안다.
  • IPO로 큰 인센티브를 벌 수 있다.
  • 뛰어난 사람들과 함께 일할 수 있다.

단점

  • 텃세가 있는 편이다.
  • 워라밸이 지켜지기 어렵다.
  • 주변사람들이 많이 바뀐다.
  • 사람 뽑기가 많이 힘들다.

대기업

장점

  • 안정적이다.
  • 누구든지 아는 회사가 된다.
  • 워라밸과 복지 모ㅜ 최상이다.
  • 체계적으로 배울 수 있는 기회가 주어진다.

단점

  • 월급쟁이에 가까운 삶을 살게 된다.
  • 프로덕트 성공에 대한 욕심이나 간절함이 적어진다.
  • 안정적인 만큼 큰 기회가 오지 않는다.
  • 회사의 문화에 나를 맞춰야 한다.

나는 왜 개발자가 되고 싶은가?

20211214_145921

세속적이여도 상관 없다.

20211214_145952

자신만의 키워드를 만들자

이 키워드로 이정표를 삼아 개발 커리어를 쌓아야 한다.


현업 개발자의 커리어 패스

현업 개발자들도 팡탈한 회사들이 되게 많다.

2주에 걸쳐 포폴이랑 이력서를 고쳤다고 하십니다.

20211214_150143

저러니까 일단 면접이나 보자

면접관에게 플레이 시켜줘야. 그리고 코드도 즉석에서 설명.

그리고 합격(연봉은 엄청 적다고 하심. 오직 가고싶어서)

그리고 가니까

  • 생각보다 잘하는 주니어는 많다.
  • 배울 건 끝이 없다.(그래픽스라던가, C++다시 처음부터 공부). 들어가서부터가 진짜다.
  • 중대한 업무가 주어지지 않는데 실제로 주어지면 잠을 못잔다.
  • 좋은 멘토 찾는게 중요.

그리고 1년 반만에 위기가 찾아옴

  • 구조정리로 50%가 퇴사(시니어가 하던걸 나에게 옴)
  • 신규게임의 연속실패(네오위즈에서 계약 끊음)
  • 재정상태 급속악화
  • 계속된 야근

-> 이직 결심

20211214_150546

다시 신입으로 가셨다 함.

  • 공채 신입으로 지원(1.5년차지만 신입공채로 지원)
  • 안정적으로 병역 특례 마치심.
성장이 정체되는 시기가 오셨다 한다.

20211214_150627

그때 대학원 vs 이직 고민하셨다 한다.

20211214_150650

20211214_150732

20211214_150821

매니지 먼트는 기획자들이나 주니어 관리

20211214_151004

이사만 50명 이상이라고 ㅋㅋ..

20211214_151035

20211214_151122

20211214_151151

20211214_151239


Q&A

20211214_151316

20211214_151349

20211214_151428

20211214_151502

깃허브 제출보다 깃허브에 한걸 문서화 해서 내는게 더 좋다(깃허브 내면 면접관이 이걸 보라는건가? 생각하신다고 한다.)

이직은 본인 가치관에 따라 연봉이든 성장성이든 이 키워드를 발전시키며 이직하는게 좋다.

20211214_151607

20211214_151629

이직을 결심하게 되셨을때 퇴사하시고 이직 준비를 따로 하신건지, 아님 퇴사 전부터 이직을 구체적으로 계획해서 일정 기간동안 준비하신건지 궁금합니다

-> 퇴사하면서 준비는 개비추. 무조건 회사 다니면서!

일정 기간 종사 후 대학원을 갔다가 재취업 하는건 어떻게 생각하시나요? -> 대학원은 경력 5년 이상이면 비추라 하신다. 만약 인공지능이면 거기에 욕망이라던가 해외 가고싶어서 해외 대학원 가는 경우 이외에는 비->

일할 때 외에 개인적인 시간에 따로 개인적인 프로젝트를 진행하거나 하시나요?

->

선배분은 지금도 퇴근후에 공부중이며 로블록스 게임에 메타버스 관련 꽂혀계신다 한다.

연봉을 낮게 커리어를 시작하면, 이후 커리어 이직 연봉 협상에 불리할까요? -> 처음에 세게 불러보라고 하심.

깃헙관리 제대로 안하면 깃헙 링크 안올리는게 좋을까요? -> 깃허브 링크만 띡 올리면 안본다! 깃허브 관리가 되어있으면 그걸 잘 문서화 하자.

신입 면접을 보시게 되는 경우 어떤 부분을 중점적으로 관심을 가지고 면접을 진행하시는 지 궁금합니다.

->

여기서 막혔네 쩝


신입 개발자 준비하기

20211214_153139

##1. 신입 개발자 준비하기

이전 싸피 출신 개발자분이 기본기에서 매우 탄탄했다고 하신다.

####1. 어떤 기술을 준비해야 취업이 잘되나?

20211214_153448

어떤 기술이란게 중요하지 않다. 신입사원은 학교 다닐때 어떤 플젝하고 수업 잘 듣고 기본기 얼마나 딴딴한가.

CS라 불리는 것들. 로직이나 데이터 ,자료구조 알고리즘 기본적인거 잘 알고 있어야 하낟.

프로그래밍은 개발자니까 당연히 잘해야.

신입사원에겐 너무 많은 걸 바라지는 않는다.

####2. 성적도 중요한가?

20211214_153812

ㅇㅇ 중요한데 일단은 개발이 더 중요함

성적은 실력과 무관한 편이지만 이론과 실무의 조화가 중요하다. 1차적으로 중요한건 실력, 이론은 2차적으로 중요하다.

영어성적은 뭐 그렇게 중요하진 않다.

그리고 다양한 개발을 해보자 백엔드 하겠다고 다른 언어나 직무 안하는건 오히려 손해

여러분야 맛 보면 개발에 대한 시야가 넓어진다(어느떄에 어떤 기술 쓰는지) 한가지 파는거보다 다양한 분야 파서 지식 넓히는 것도 좋다.

####3. 비전공자도 개발자를 잘 할수 있나? -> 캐바케

20211214_154144

필드 나가면 비전공 전공 구분보다 걍 잘하는 사람 못하는 사람만 있다.

전공자라고 특별한 혜택이 없다.. ㅠ

실력은 AI나 이런 분야는 전문공부가 필요하지만 기본적으로는 노력에서 나온

####4. 어떤 분야의 회사를 가야하나?

20211214_154258

SI는 고객사가 의뢰를 줌. 그걸 받는게 1차 하청이고 다른회사에 위임하면 피라미드형태로 개발하는데 통합시스템을 많이 만듬(학교 무슨 시스템, 질병 관련 백신 예약시스템 등등)

B2C는 비즈니스 투 커스터머로 바로 고객들에게 서비스를 한다.

####5. 개발자의 직군 20211214_154711

6. 회사 선택의 기준

20211214_154916

막 무료툴(이클립스)라던가 모니터 한대라던가 이런거면 그리고 물어보면 막 화낸다

그리고 업계표준 defactor라고 하는데 업계표준이라해서 완전 표준은 아니지만 업계에서 다 쓰니까 사실상 표준이라고 함(자바의 스프링, 서버에선 아파치, 노드 등등. 우리나라 뿐 아니라 글로벌적으로 다 씀.)

막 자바 5,6 이런거 쓰는데 가면 커리어 ㄹㅇ 망치게 된다.

##2. 최근 기술동향

20211214_155243

비동기 처리시 흐름을 2개로 쪼갬

메인과 워크스레드 만들어서 걔한테 처리 위임하기도 한다.

왼쪽에 1부터 20까지 채워넣은게 있다 우측은 이 리스트에서 홀수만 추려내고 여기서 5개만 뺼 것.

앞에서부터 5개

메인은 기다리고 작업은 다른스레드에서 하는 아주 흔한 패턴.

처음 코드는 위에서 아래로 흘러감.

처음엔 생성만 한다.

객체 만들어지고 스타트 한다음에 join에서 무한대기 하면 위에서 실행 되고 끝이 나면 다시 return oddList로 돌아온다.

코드 흐름이 일직선이 아니다(Sequnce하지 않다)

비즈니스는 이거보다 훨씬 복잡하고 양이 많다.

전통적 쓰레드 쓰면 아주 복잡.

실무에선 이렇게 안됨.

async와 wait를 사용

20211214_155540

io쓰레드에서 실행하면 좋겠고 필터는 특정 값을 필터링하겠다 조건이 참인거만 걸러내겠다. 걸러진 내용중 앞에 5개만 취하겠다. toList는 결과를 리스트로 받겠다. blocking해서 ㅓ블로킹 실행하겠다.

왼쪽은 reactivex라는 라이브러리가 있따. 스위프트도 있고 rx.js도 있고 환경별로 다 있긴하다. 하여간 러닝커브가 크다.(처음에 배우기 어렵다.)

옵저버 패턴을 쓴다.

list가 퍼블리쉬 해주면 밑에서 서브스크라이브 할떄 이 과정을 타라는 내용.

내가 무조건 옵저버 패턴을 생각하고 써야된다.(익숙해지면 괜찮은데 익숙해지기 시간이 걸린다.)

코루틴이 나온다(asynce awiat과 비슷한 개념)

20211214_160014

얘는 위에서 아래로 withContext라해서 io컨텍스 실행해라

일반적은 자바 코드 짜듯이 하면 알아서 쓰레드 전환 일어나고 with컨텍스 실행하기 전으로 돌아온다.

쓰레드 동기화 하던가 타이밍 이슈하던가 이런걸 원천적으로 차단해서 코딩할 게 준다.

요새 이걸 많이 쓴다.

코루틴이 후반엔 어렵긴한데 아무튼 넘어야 할 산이다.

##3. 회사에 가서 어떻게 하나(처신 잘하라고)

####1. 개발은 혼자 하는게 아니다. 페어코딩이라던가.. 개발은 나혼자 할 일이 거의 없다.

20211214_160440

그리고 피드 및 동료 수정하거나 하려면 나부터 잘해야한다. 나부터 잘하자.

####2. 동료들로부터 신뢰 쌓기

20211214_161108

왜 이게 나왔나?

회사도 내가 개발 잘하는지 모름. 프로젝트 잘해가면 신뢰도가 쌓여가며 플젝 같이 해도 좋다라는 나도 회사에 신뢰를 줘야한다.

20211214_161249

3. 버전 관리 시스템(VCS)

20211214_161325

20211214_161400

####4. 업무 공유의 중요성

20211214_161658

상사 눈에 띄어라는 거는 조직장이 그 팀원에 대해 상위 조직장에게 어필할 가능성이 높아진다. 급여가 좀 더 올라간다던가 등

이게 쌓이면 동기들과 차이가 벌어지게 되는 것.

자기 PR의 시대고 그게 한가지 방법이 업무 공유다.

####5. 새로운 것을 습득하는 방법

  • 컨퍼런스 참석하기

  • 쉬운 예제부터 직접 짜보기

20211214_162403 코틀린 안에서 널 체크가 실제 되냐 체크해본거(걍 기본적인거부터라도 연습해보자)

머리로 익힐떄는 까먹음. 꼭 손가락으로 쳐보면서 체감해보자.

내 손가락 익히기 위해서라도 다 쳐야한다. 안치면 다 까먹는다. 코루틴이든 뭐든

  • 비판적으로 생각하기

기술은 태어난 이유가 있따. 태어났을 떄 당시 역사를 이해하고 이 기술을 바라봐야 진짜 장점 단점을 이해할 수 있다. 맞는 기술이란건 없다.

그 기술마다 장단점이 있다.

그 기술의 장단점 파악하고 있어야 개발자가 제대로 알고 있다고 할 수 있다. 소켓은 실시간 성이 좋다. 대신 약전계에 취약. 약전계라는 건 네트워크 신호가 약한 신호라던가(엘베 안이나 터널, 산에 갇혔다던가) 그럼 신호가 잘 안터짐. 그럼 어떻게 극복하나? 이런 정책들을 소켓에서 고민해야한다. 안 그러면 끊어진 상태로 되니까 http에서 폴링하면 붙을때 까지 하면 되서 로직이 간단해짐(실시간 성은 떨어짐. 대신 구현하기는 쉽다.) 챗봇같은건 폴링이 좋을것.

어떤 기술이 장점만 갖진 않아서 비판적인 사고방식이 중요하다.

####6. 개발자는 마치 프로축구선수와 같다(커리어적 면에서)

20211214_163052

프로 운동선수라 생각하면 좋겠다. 이직해나가면서 자기 몸값을 늘려가야한다.(실력이 좋으니 연봉을 많이 받는다.)

#####6-1. 서비스의 주된 부분을 경험할 수 있어야 한다.

20211214_163226

서비스의 메인이 되는 부분을 가급적이면 경험하는게 좋다. 그래야 경력 관리도 되고 내가 이 부분에 대해 주된 개발해보니까 어필을 가능하다. 페이 개발하는데 만들어본게 UI에서 x버튼 바꾼게 끝? 이력서 적을떄 오히려 민망할것

그렇게 평판을 쌓아야 이력서 쓰더라도 할 말이 생긴다.

####6-2. 그리고 연봉은 중요하지만 절대적인 기준은 아니다!!

20211214_163407

20211214_163419

연봉도 중요하지만 금융권의 경우 특성이 좀 다름.

금융권에서 오히려 타 기업으로 넘어감. 근데 넘어가려면 금융기술은 내수 특화라 기술 자체가 널리 안 쓰이는 기술이면 이직 범위가 그 금융권 안에서 밖에 못하게 된다.

내가 다른 곳으로 넘어가기 힘들 수 있다. 돈 많이 주는데를 따라가면 되냐? 사람마다 다르지만 잘 생각하고 가야한다. 금융권을 꼭 가고싶었으면 가면 된다.

많이 주는데 가려면 생각 잘하고 가자.

#####6-3. 내가 걸어온 길을 잘 요약하고 PR하기

20211214_163700


Q&A

새로운 지식 습득에 컨퍼런스 말고 다른 방법이 또 있나요? -> 인터넷 문서라던가 안드는 새버전 매번 나오는데 업데이트 해서 꼭 써봄. 그럼 유저입장에서 감이 옴

C++개발에서 앱 개발로 전향하신 계기 및 앱 개발자 전향을 어떻게 준비하셨는지 궁금합니다 -> 회사에서 시키셨다고 함.. ㄷㄷ; 회사에서 개발한 코드들을 깃헙같은 곳에다 올려도 되나요? 포트폴리오 제작을 위해서?! -> 절대 안됨 잡혀감

네이티브 앱의 미래가 궁금합니다. 요즘 하이브리드로도 많이 가는거 같고, 하드웨어 스펙이 올라감에 따라 네이티브 만큼의 성능이 안나와도 충분히 커버 가능한거 같아서.. 궁금합니다. ->

개인 공부와 업무의 비중을 어떻게 두시는지 궁금합니다

-> 업무 많이 하고 개인공부는 알아서 틈틈히

아까 보여주신 코드 관련해서.. 전통적인 방법으로 스레드를 쓰다가 흐름 관리가 어려워서 프로젝트 완성을 포기했었는데 코루틴 써서 완성하면 전통적인 방법은 습득하지 못한건데 그래도 괜찮을까요?

->

산학 협력 프로젝트를 다수 수행했는데, 깃헙 같은 곳에 올릴 수가 없어서 노션으로 GUI와 프로그램 구조 등만 정리하여 올려놓았습니다. 면접 시에 깃헙에 업로드되지 않은 이유를 말씀드리면 면접관님들 입장에서 충분히 이해할 수 있는 사유인가요?

-> 어느정도는이해 하지만 잘..하자 아마도

네이버 파이낸셜 지원 조건중에 관련 경험 1일이상이라고 돼있던데 이게 정확히 어떤 의미인지 알 수 있을까요? 또 주니어급 경력직 뽑는곳에 신입지원자가 지원한다면 어떤 역량을 무기로 가져야할지도 궁금합니다. -> 신입한테 엄청난 걸 기대하지는 않음. 자기가 아는만큼 얘기하면 됨.

공부하는 내용을 정리하시는 편인가요? 한다면 팁이 있을까요? -> 블로그 하든 깃헙 깃헙에 거창한거 말고도 연습프로젝트 올리면 된다.







© 2021.03. by yacho

Powered by github