관리 메뉴

A seeker after truth

슬기로운 인턴생활 2019.7.14 토 본문

the way about me/행사 참여 및 특강

슬기로운 인턴생활 2019.7.14 토

dr.meteor 2019. 10. 24. 20:53

 

1.     제가 당신을 뽑아야 할 이유가 뭔가요?

매니저 시니어 주니어가 팀의 구성

매니저 = 리더. 팀 구성. 업무 비율 재점검을 함. 너무 할 일이 많기 때문에 권환 위임 필요. 조직 전체를 움직이게 함.

시니어 = 나이 많거나 개발이 오래됐다해서 시니어는 아님. 스스로 개발 업무를 진행할 수 있는 사람을 말함. 개발 커뮤니케이션 관리의 위임이 가능한 사람. 개발 역량이 안되면 시니어로 갈 수 없음. 관리나 플젝에 대한 관리를 함.

주니어 = 왜 뽑을까? 시니어가 더 중요한 일에 집중할 수 있도록 하기 위해 뽑음. 시니어는 조직의 핵심인데, 시간이 절대적으로 부족함. 팀의 엔트로피를 낮추기 위해. 조직은 시간이 지날수록 점점 딱딱해지고 지루해진다. 그리고 잘할까봐 뽑음.

그러나 욕심은 끝이 없고 같은 실수를 반복.

어케 일하면 될까? 알아서 잘 하지 않는다. 그렇다고 시키는 것만? 아니고. 확인 진행 공유 과정을 반복한다. 이런 것들이 잘 되면 네가 알아서 해 하는 ….

이력서: 조직 내에서 얼마나 역할을 충실히 했고 거기서 어떻게 문제를 해결했는지를 써야함.

보통 포트폴리오로 뭐를 해본 사람들은, 면접해보니 깊이가 굉장히 얕았다. 그래서 별로 메리트가 없는 것 같다. 오호~ 진짜 이렇구나~

그러나 우리는 사실 정말로 시간이 없다. 그래서 좋은 내용도 그냥 읽을 수밖에 없어.

, 끝장을 보고 완전 밑까지 내려가본 친구들이 있다. 그리고 역할이 명확하고 결론이 남다르게 명확한 친구들이 있다. 리팩토링, TDD 등등 말이야.

글고 여러명이서 같이한 플젝을 대부분 제출하는데, 자기 혼자 모든 포지션 다해본 친구들일수록 더더욱 있다.

이런 애들이 한번 더 만나보고 싶은 친구들이 분명히 있더라. 하는.

 

여기까진 이력서 이야기였고, 이제부터가 정말 중요한 이야기.

합격한 뒤의 이야기.

인턴을 통해 평가받는 것은 우리의 실력이다. 다행인 것은, 우리의 실력은 정말로 고만고만하더라.

주니어는 알아서 잘 하지 않는다. 불안하지 않게, 너무 귀찮지 않게 한다는 의미다.

매니저나 시니어는 멘토링이 메인 일이 아니다.

업무를 논의하거나 지시를 받으면 열심히 듣고, 다시 정리해서 본인이 이해한 게 맞는지, 언제까지 해야 하는지, 뭘 먼저 해야 하는지 확인하고, 진행 상태 항상 정리해두고, 짧게 요약해서 구두로라도 결과 보고해주고, 빠른 결과에 욕심내지 않고 제대로 진행하려는 노력을 하라. 그러나 대부분의 신입이나 인턴들이 이렇게 안하다가 마지막날 짜잔 나타난다.

안심하고 일 맡길 수 있는지, 많은 노력과 고민을 기울였는지를 평가한다.

기본은 성실함을 기대한다. 결과물이 아니고 업무 태도로 인턴을 평가한다.

우리를 각인시킬 기회는 좀처럼 오지 않는다. 선배들은 우리가 인턴인지 뭔지 모른다. 인사도 딱히 안한다. 그래서 우리가 직접 말 걸어야 함. 이걸 꾸준히 하면 나중에는 평판으로 연결된다는.

우리 생각보다 사회는 아직 고전이 잘 먹힌다. 생각보다 빠르게 변하지 않는다.

 

 

 

2.     인턴 경험으로 성장하기/건설환경공학과 디미고 엔젤스윙 근무

어느 순간이 되면 문장으로선 이해를 하지만 내재화 되지 않은 기술들. 기능 말고 기술들. 이런 쪽으로 성장하기 어려워짐

그리고 소웨 그 배포, 리팩토링 이런거에서 어려워졌다

<홀륭한 프로그래머가 되는 법> - 읽어도 이게 된다고 느끼지 않았

그래서 결국 인턴을 해봤다는 것이다.

회사 프로세스 경험 / 기술문제 어케 해결했는지. 외주랑 플젝 많이 해봤다. 장고나 플라스크 리액트 이런거.

이제 협업을 어케 하는지 알게 됐단 점이 중요. 다른 친구들보다 개발할 때도 주먹구구식으로

그래서 책 말고 인턴으로 경험해봤더니 정말 그렇게 되더라.

/앱을 만들게 되면 새로 기능 만들고, 업뎃, 변경 기록…. 할게 많은데, 혼자 배우기 어려우니.

깃과 깃허브를 가장 제대로 써봤다. VCS. 이건 부족한 분이 많을 수밖에….

책이나 자료만 보고는 어렵다.

첨에 리액트 기반, 첫 테스크가 간단한 테스크였는데

코드 리뷰를 하다보니, 기초적인 것부터 문제가 생겼다. 변수 이름. 선언 위치. 테스트 케이스의 부족…. 이런 이야기들을 들으면서, 태스크가 30개 가까이 달려서 굉장히 당황했다.

코드 리뷰가 중요한 이유는, 한 줄 한 줄을 평가받게 되니까 굉장히 도움됨.

이젠 다른 사람도 이해할 수 있는 코드를 짜야 하는.

Rejected는 고통스럽지만, 시니어 엔지니어들에게 많은 평가를 받을 수 있

기능 개발 완료, 서버에 SFTP로 올린 다음, SSH로 접속해서 CLI로 직접 서비스에 반영.

이렇게 해야 내가 만든 기능이 서버에 올라가게 된다는 것.

버그가 어케 관리되는지 모르니 점점 더 많은 버그가 생기고…. 그런

어케 준비를 하는가?

1)    오픈 소스 기여

이슈, 풀 리퀘스트 찾아보면서 플젝이 어케 운영되는지를 본다. 딴 개발자들은 어케 작성하는지 본다. 본인도 아직은 안해봤. 기여 가이드라인도 봐라.

2)    팀플 해보자

고민을 하면서 팀플을 해보면 좋겠다. 팀플 진행해보며 협업툴에 익숙해지기. 슬랙과 트렐로. Lint, test framework, git에 익숙해지기. Lint를 따라 코드를 작성하는데 익숙해지기. ESlint. 서로 코드 리뷰도 진행하기. 남의 코드 읽는 것도 도움 되고, 문제점 파악하는 것에도 연습하게 됨.

3)    깃 미리 공부하기

모든 기능과 CLI를 알 필요는 없고, 직접 repository를 만든 뒤 포크를 진행하며 여러 가지를 진행해보면 굳굳

Commit push pull 로 기능 만드는데 급급했엇다 자기는. 버전관리가 무의미.

Git workflow라고 구글 검색하면 흐름들이 나오니 이것들 한 번 볼 것.

알고, 자구도 기본으로 중요하지만 오픈소스 플젝 팀플 경험을 더 많이 해볼 것

다양한 기술스택 경험.

스타트업 채용 박람회/ 본인은 스타트업 채용 페스티벌에 가서 많은 회사들을 만나보고 거기서 면접 일정을 잡고 인턴 기회를 잡게 되었다.

처음에 가면 내가 굉장히 부족하다는 것을 깨닫게 됨. 용기내서 직접 들어가서

어떤 직군을 실제로많이 뽑는지 뭘 준비해야 하는지 직접 물어보면서 알 수 있음!

학생들이 ~에 관심 있어서 왔다 이렇게 하면 많이 도와주려고들 한다

회사 담당자랑 이야기를 해볼 때, 나도 인사 담당자를 파악해보며 그들이 어떤 사람들인지 파악해보는 것이 필요하다.

기술 직군, 사내 문화, 개발팀 문화, 담당자 태도등을 알아볼 것. 보통 중소기업 등은 기술적으로 성장하기는 어렵다

 

 

 

3.     인턴이라면 꼭 해야할 3가지

1)    인턴 들어가기까지

체험형 인턴 공고가 딱 하나 있는 것을 보고 서류 통과와 코딩테스트 진행. NSML 체험형 인턴 공고. 프론트 엔드에 지원. 딥러닝 클라우드 플랫폼이 NSML과 동일.

AI는 잘 모르지만 새 경험을 해보고 싶어 들어감

 

-      입사 전 토이프로젝트

팀에서 쓰는 기술에 대해 더 준비가 되어 있으면 그 시간에 더 많은 것을 배울 수 있음.

검색도 많이 해봤다. 도커 활용해봄.

닮은 연옌 찾아보기. CLOVA AI API로 플젝. 플라스크 리액트 도커 aws 통해 배포

두번째는 날씨 알림 슬랙봇.

날씨 알림 api 사용해 도커 aws 슬랙 다크스카이 api

 

-      초심에서 변해도 포기하지 말자

인턴= 새내기 처음엔 열정적임. 그러나 실제 업무를 해보니 한계를 느껴 초심이 변화함. 처음 써보는 기술이 어려워서 그럴 수도 있는데, 서비스 구성에 대해 이해하기가 어려웠더라. 커널의 역할 같은 것들.

여기서 포기할 것인지 많이 배울 것인지마음가짐에 따라

한계를 느낀다면 질문을 해라.

인턴은 어쩌면 모르는게 당연. 입사하자마자 일주일 만에 모니터링 서비스를 만듦. 4초 동안 화면을 보여주고 담으로 넘어가는….

서버 개발이 익숙하지 않았고, 어드민 작업….

프론트엔드로 들어가서 혼자 배포까지 다 해본 좋은 경험.

리액트 플라스크 mysql docker 플라스크 pl 라이브러리. 이렇게 간단하더라도 하나의 서비스 구현.

두번째로는 주피터 노트북의 extensionkernel을 개발.

그림 그리거나 질문 리스트 만듦. 기획에 관련되서 어케 만드는지 질문을 함.

다른 사람의 코드를 보며 이 코드가 어케 돌아가는지, …. 플젝을 이해했다.

몰라도 결국 해낸다.

2)    원래 세번째인데 두번째가 뭐지 ㅠ 하튼 우리는 프로다

인턴도 프로답게 일을 해야 함. 회사 코드를 작성하는 것이므로 신경써서 해야 함

에러 핸들링을 해야했음. 이걸 신경써서 개발했어야 했음. 바로 찾을 수 있도록 해야함.

유지 보수 중요하고 다른 사람도 개발하기 쉽게 코딩해야.

예를 들어 jQuery 모르는 개발자더라도 자주 만드는 함수들을 미리 만들어 두어 그 기능을 쓸 수 있도록….

 

 

 

4.     뱅샐 인턴 하조은 님

신생 스타트업에 특화된 내용이다

가능성 무한 / 다양한 분야 망라 / -> 뭘하는지 모른다는 뜻임.

원하는 바를 이뤄보는 경험이 진짜 값진 경험

그냥 남들 다 하는 거니까이러면 안됨

회의가 너무 길다. 회의는 지루하고 오래 걸리는 작업인데…. 시작할 때 회의의 목표를 밝히고 진행할 때 두괄식으로 말해볼 것

예를 들어, “영상 한번 제작해볼래?” 라고 대표가 직무 무관한 일, 혹은 새로운 뭔가를 배워서 결과물을 내야 하는 경우, 이게 꼭 필요한 일이고, 지금 당장 중요하며 미래지향적인 일인지 한번 담당자에게 직접 물어보는 것도 굳.

회사에서의 기대와 내 기대를 분리. 노력한 만큼 보상 없고 서비스 출시가 미뤄지고 그러면 보통 권태가 오고 하기 싫어질텐데

회사의 일은 우리 힘으로 어케 할 수 없음. 언제든 플젝이 엎어지고 그럴 수 있음

개인 토이플젝 블로그 발표 등등의 작은 경험을 성공시켜 나가면서….

 

 

 

5.     멘토스와 인턴 콜라

CI 툴인 젠킨스, 트래비스 CI. 슬랙 및 깃헙과 연동할 수 있고 코드 올려놓는거 자동화할 수 있음. 프로봇이란 얘가 어디에 세미콜론 빠졌다 이런 거 알려줌.

 

멘토가 인턴에게 무엇을 기대할까

어떻게 인턴에서 정직원으로 전환되는가

어떻게 하면 정량적으로 인턴을 평가할 수 있을까

-      스스로 학습하는 능력 / 자신만의 학습 방법이 있다 / 모르는 게 있어도 일주일 만에 학습할 수 있다….? ->넌 효과적인 학습 방법이 있니? 온통 새로운 것 투성이인 회사, 빠르게 새로운 것을 익혀야 하는 환경. 그래서 인턴 선발 시 이런 것도 물어본다고 한다.

그리고 뭘 모르는지 알아라하는.

-      원인을 찾고 기록하는 습관. 이거 기록하는 사람 별로 없.

삽질 원인 해결책 TIL(today I learned)

평가에서 깎일까봐 질문을 못하지 말고 하기. 대신 구체적으로 제대로 하기

비동기 커뮤 메일 슬랙 풀 리퀘스트 이슈. 이렇게.

근거에 기반한 코드 리뷰

 

야근/주말 출근은 굳이 안해도 됨.

과제 완벽히 해낼 필요 없음. 인턴이 어느 수준인지 모름. 실제로 과제 시켜보지 않는 한은 모른다는겨. 어케 학습했는지가 더 중요.

모르는 것은 질문, 리뷰할 것은 근거와 함께 정확히.