며칠 전, 같이 컴퓨터 공부를 하는 친구한테 카톡이 왔었습니다.
이번에 잇다에서 네이버에서 백엔드 개발자로 근무하시는 분의 특강이 생겨 공유 했다는 연락이었습니다.
저도 아직 확실히 진로를 정하지 못하였기에 관심이 생겨서 클래스를 신청을 했습니다.
클래스에서 평소에 고민하던 것들에 대한 방향도 잡을 수 있었고, 많은 분들께 도움이 될 만한 내용들이 많았던 것 같아 복기 및 공유 차원에서 글 적어봅니다!
해당 포스팅은 (잇다) 및 클래스 멘토셨던 개발자 유용우님께 미리 허락을 구한 뒤 포스팅 하는 글임을 밝힙니다!
잇다 Original | Real 100% 바닥부터 올라가는 개발자 커리어의 모든 것 → 수강한 잇다 클래스 입니다.
또, 잇다 클래스에서 동영상 녹화 및 스크린샷을 금지하고 있기 때문에, 클래스를 수강 하며 적은 필기를 바탕으로 포스팅을 하게 되었습니다.
때문에 일부 내용들이 생략 될 수 있습니다.
클래스는 다음의 순서로 진행되었습니다.
클래스의 전반적인 내용은 백엔드 업무의 심화적인 부분을 다루기 보단, 개발자로 취직을 준비하고, 더 나아가 좋은 개발자로 성장하기 위한 부분들을 다뤄 주셨습니다.
이번 클래스의 수강생이 아직 진로를 구체적으로 정하지 못한 대학생이나 취준생의 비율이 높아 그렇게 정하셨다고 하셨습니다.
+ part 2에 관한 내용은 강의를 따라가면서 필기하기가 힘들 것 같아 필기를 하지 않았습니다.
때문에 part 2에 관한 내용은 생략하겠습니다.
기회가 된다면 꼭 배우는 것에서 그치지 말고 내가 알고있는 지식을 다른 사람에게 설명 해 보기!
누군가를 가르치는 과정에서 비로소 그 지식이 완전히 나의 것이 된다.
내 옆에있는 개 쩔어보이는 저 사람도 아직 모르는 것은 있을 수 있다!
프로젝트는 어떤 프로젝트가 되었건 많이 해보는 것이 좋다.
프로젝트를 진행 하면서 어떠한 문제를 직면하게 된다면 그 문제를 해결 해 가는 과정에서 역량이 크게 성장한다.
토이프로젝트든 수업에서 하게 되는 프로젝트든 프로젝트는 많이 해보자.
프로젝트 중에서 팀프로젝트가 되면 더 좋다!
→팀원들간 커뮤니케이션을 익힐 수 있기 때문에.
커뮤니티에서 활동을 하는것도 좋다.
범용적인 커뮤니티 (StackOverflow, 카카오톡 오픈채팅방, 페이스북,,,)과 특정 분야에 특화된 커뮤니티( 파이썬 한국 커뮤니티 등,,,)들이 있으니 상황에 따라 필요한 곳에서 정보 교류를 하기.
커뮤니티에서 활동을 하면서 세션 진행, 발표의 기회가 있다면 더 좋다.
SNS나 개발자 블로그를 관리를 하는것은 Self PR에 도움이 된다.
Git hub 활동을 하거나, 이력서를 공개 해 두는것 역시 방법이다.
이러한 활동들을 통해 IT업계의 트렌드와 이슈를 빠르게 캐치할 수 있고, 이를 통해 시선이 바뀔 수 도 있다.
개발자 블로그를 할 때는 꾸준히 개발 활동 기록을 남기는 것이 중요하다.
Git과 기본적인 터미널 명령에 익숙해지기.도서
ex) commit, push, pull, branch,,,,
Git에 익숙해지기 위해서는 진행중인 프로젝트에 사용해보기.
특히 팀프로젝트에서 사용해 보면 Git에 대한 경험치가 크게 는다.
요즘 다양한 편리한 GUI기반 프로그램들이 많다. (Github desktop같은,,,)
But, 초반엔 일부러라도 터미널과 가깝게 지내기.
알고리즘과 자료구조를 어느정도 준비해야 하는 지에 대한 정답은 없지만, 당연히 기본은 해야함
→ 기본이 되는 정도 :
자료구조 : 연결리스트, 이진트리, 스택/큐, 해시 테이블
알고리즘 : DFS/ BFS, 이진탐색, 퀵 정렬, 트리 삽입/탐색
기타 개념 : 비트조작, 싱글톤/팩토리 디자인 패턴, 재귀, big-O 표기법
프로세스와 메모리 상관관계(low-level, stack memory)
기술 도서보다는 개념 위주의 도서를 읽는 것을 추천!
기술은 빠르게 변하며 유행을 타지만, 패러다임/ 개념은 크게 변하지 않는다.
+ 개발자로서의 행동 양식 / 가치관에 관한 책은 꼭 한번쯤 보기.
→어떤 회사에서도 나를 원할 수 있게 만드는 방법들.
ex)
기술 도서의 예 :
Java, Node.js 등,,,
개념 도서의 예 :
디자인 패턴
객체지향 / 함수지향 프로그래밍
테스트 주도 개발 등...
행동 양식 / 가치관 도서의 예 :
애자일 / 린 소프트웨어 개발론
실용주의 프로그래머
소프트웨어 장인정신
소프트 스킬
커리어 스킬 등...
part 2. 두서 없는 IT 업계 지식 (초급) -- 생략
한살이라도 어릴 때 일단 이력서 작성을 시작해보기.
이력서를 사용하다 보면 마음에 안들어서 부수고 새로 쓰는 과정들이 생긴다.
큰 틀을 적어두면 이력서를 다듬으면서 내용이 성숙해 진다.
이력서는 최대한 심플하게!
템플릿도 심플하게 유지, 전공/ 업무에 관련되지 않는 내용은 최대한 빼기.
나에게 기준이 되는 대표 이력서 하나정도는 있는 것이 좋다.
참고 : 개발자 이력서 작성하기 (워니로그)
면접 준비 시즌에는 손코딩 연습도 해두기 (종종 시켜보는 곳이 있다.)
면접관에게 불리한 질문을 받아도 좋은 기회를 뽑아 낼 수 있다.
Q . K라는 기술을 사용 해 본 적 있으신가요?
A . K를 사용해 본 적은 없습니다만, ~~프로젝트를 진행하는 과정에서 J를 이용해본 적은 있습니다.
Q . 오, 그럼 J에 대해서 한번 말씀 해보시겠어요?
면접관에게 해볼만 한 질문
1. 회사에 대한 순수 호기심 - "개발 문화나 프로세스는 어떤가요?" / "개발 조직의 규모가 어떻게 되나요?"
2. 좀 더 나를 기술적으로 어필 - "A라는 기술을 사용하시는 것으로 알고 있는데, 최근 있었던 ~~한 이슈에 대해 어떻게 대응 하시나요?"
3. 열정 어필 - "입사하게 된다면 ~~도 해보고 싶은데, 혹시 기회가 있을까요?" / "아까 제가 답변하지 못했던 T에 대해서 알려주실 수 있으실까요?"
면접은 많이 떨어져 보면서 느는것. → 가고싶은 회사를 나중에 지원하는 것도 하나의 방법이 될 수 있다.
큰 회사는 절차가 길고 오래걸리기 때문에 큰 회사 먼저 지원을 해 두는것이 일정 관리에 용이하다.
다양한 프로젝트들을 장황하게 나열하기 보단, 나를 어필 할 수 있는 강력한 프로젝트 몇개를 디테일하게 설명하는 것이 좋음.
포트폴리오를 통해 면접관에게 질문을 유도할 수 있다.
ex) ~~프로젝트에서 ~~라는 문제를 해결하려 했다 → 문제 해결방식에 대한 질문을 유도.
~~프로젝트에서 어떠한 이유로 ~~디자인 패턴을 사용했다. → 해당 디자인 패턴에 관련된 질문 유도.
Github는 포트폴리오 저장소가 아님.
Github을 통해 오랜 기간 꾸준히 자신의 코드를 관리하고, 오픈소스 활동을 하면서 쌓인 내용들이 포트폴리오 역할을 해 줄 수는 있지만, 포트폴리오로 사용하기 위해서 Github을 만드는 것은 좋지 않다.
평소에도 개발자로의 취직에서 그치지 않고, 개발자로의 삶을 만족스럽게 이어나가기 위해 어떻게 하면 좋을지 고민을 해 왔었는데, 그 고민들을 얻을 수 있는 방향을 얻어가는 만족스러운 클래스가 되었던 것 같습니다.
가끔 고민이 생길 때 다시 들어와서 복기하기 위해 포스팅을 작성 해 보았는데, 많은 분들께 도움이 되었으면 좋겠습니다.
다시 한번 좋은 클래스 열어주신 잇다와 큰 도움이 되는 말씀 해주신 유용우 개발자님께 감사인사 드립니다!