Software engineer가 되기 위한 여정

A
Software engineer가 되기 위한 여정
오아리
발표자 소개
‣ Amazon Software engineer @Vancouver
‣ Kakao Mobility Software engineer
‣ Kakao corp. Software engineer
‣ 6년차 개발자
학교 졸업하고 뭐하나요?
진로 고민
‣ 개발자로 취직
‣ 대학원에 진학
어떻게 개발자가 될 수 있을까요?
1. 나는 개발자가 되고 싶은 걸까요?
2. 개발자로 취업을 준비합니다
3. 개발자로 취직을 합니다. 회사에서 열심히 성장합니다.
1. 개발자가 되고 싶나요?
개발자는 너무 광범위한 용어
‣ Software engineer
‣ Embedded system
engineer
‣ DevOps engineer
‣ Data engineer
‣ Security engineer
‣ QA (Quality Assurance)
engineer
‣ Network engineer
‣ System engineer
Software engineer
‣ IT 기술을 이용해서 비지니스 플랜을 실현시켜 주는 사람
‣ 흔히들 말하는 서버 개발자, 앱 개발자, 웹 개발자 등
‣ 소프트웨어 개발, 유지보수 및 관리
‣ 서비스 장애에 책임을 질 수 있는 사람
다양한 분야
‣ Front-end
‣ Back-end
‣ Full-stack
‣ Mobile application
‣ Window/MacOS application
https://www.linkedin.com/business/learning/blog/productivity-tips/the-american-city-that-pays-software-engineers-the-most
내가 좋은 영향을 미치고 싶은 분야는 어디인가요?
재미있는 걸 먼저 찾아보세요!
필요한 역량
https://insights.stackoverflow.com/survey/2019
필요한 역량 - 논리로 무장
‣ 우리가 하는 일은 problem solving
‣ 문제를 어떻게 해결할지 작은 조각들로 나눌 수 있어야 한다
‣ Critical 하게 사고해서 문제에 대한 해결 방법을 코드로 작성해야 한다
‣ 서비스를 개발하다 보면 커버 되지 않은 edge case가 있기 마련, 차분
하게 한 번 더 생각해봐야 한다
‣ 손이 머리보다 빠르지 말 것
필요한 역량 - 도전 정신
‣ 끊임 없이 새로운 일의 연속

“웹 사이트 만들어 주세요” -> “이번엔 API 서버 만들어 주세요”
‣ 점점 복잡해지는 문제의 난이도

“택시만 잡히면 좋겠다” -> “택시가 빨리 잡히고 결제 까지 되면 좋겠다”
‣ 끊임없이 나오는 새로운 기술
‣ 도전을 즐기지 않는다면 금방 도태됨
필요한 역량 - 빠른 습득력
‣ 하루가 멀다하고 쏟아지는 새로운 기술
‣ 변화에 빠른 습득력이 필요
어떻게 공부해야 할까?
‣ 시작은 한가지 기술에 대해 깊이 팔 것
‣ 공식 document를 먼저 읽어보고 찾는 습관
‣ 새로운 기술은 그 기술의 철학과 신념, 아키텍쳐를 먼저 이해하
려고 해야 한다
‣ Googling!

검색 키워드에 따라 나오는 결과페이지가 다르다

키워드를 어떻게 검색해야할 지 모르겠다면 공식 document를
참고하거나 주변 개발자에게 키워드를 물어보자
개발자의 커뮤니케이션 스킬
‣ 정말 중요합니다
‣ 혼자 개발하지 않아요. 결국은 팀워크
‣ 대부분의 요구사항은 일반 사용자나 기획자 등 비 개발자로 부터 온다
‣ 서비스 기획, 사업 기획, 디자이너 등 비 개발자 직군 에게 ‘얼마나 걸릴
지’, ‘왜 안 되는지’, ’시스템 구성을 어렵지 않게 설명’ 할 수 있어야 한다
‣ 모든 문제는 명확하게 정의하고 지금 우리에게 필요한게 뭔지, 장기적으
로 생각했을 때 어떤게 필요할 지 잘 논의하고 정리할 수 있어야 한다
2. 개발 직군 취준생이 됐다
이력서
‣ 분량은 A4 기준 1장~2장
‣ 묻기 전까진 넣지 않아도 될 것
‣ 사진
‣ 취미, 주소, 생년월일 등 과도한 개인 정보
‣ 아주 오래된 일들 (e.g. 10년 전..)
‣ 희망 연봉
‣ 봉사활동 내역
https://brunch.co.kr/@aria-grande/17
https://brunch.co.kr/@aria-grande/17
1. 프로젝트 소개
2. 구체적으로 한 일과 성과 (증명할 데이터가 있다면 꼭 적기)
3. 사용 기술 나열
이력서
‣ 지양해야 할 포맷팅
https://brunch.co.kr/@aria-grande/18
이력서
‣ 지양해야 할 포맷팅
https://brunch.co.kr/@aria-grande/18
이력서
‣ 지양해야 할 포맷팅
https://brunch.co.kr/@aria-grande/18
이력서
‣ 지양해야 할 포맷팅
https://brunch.co.kr/@aria-grande/18
이력서
‣ 지양해야 할 포맷팅
https://brunch.co.kr/@aria-grande/18
이력서
‣ 지양해야 할 포맷팅
https://brunch.co.kr/@aria-grande/18
이력서
‣ LinkedIn 에 주기적으로 업데이트하자
‣ 물론.. 학생 때에는 연락 안온다. 경력이 쌓이면 오기 시작한다
면접
https://brunch.co.kr/@aria-grande/20
‣ 서류에 적었던 경험/프로젝트에 대한 구체적인 설명이 가능해
야 한다

e.g. 지금의 ‘나'라면 다시 이 프로젝트를 진행할 때, 어떻게 설계할 것인가요?
‣ 프로젝트 진행 시 겪었던 어려움과 이를 해결하기 위해 시도했
던 것들을 미리 정리해서 가면 좋다
이력서 포트폴리오 관련 질문
면접
https://brunch.co.kr/@aria-grande/20
‣ 한국에서는 신입에게 주로 많이 물어본다
‣ 북미권 major IT 회사에서는 신입~경력 관계 없이 물어본다
‣ 자료구조, 알고리즘 (Problem solving) 질문이 일반적

e.g. HashTable이 어떻게 동작하나요?

e.g. BST 에서 특정 노드는 어떻게 찾나요?
‣ 노트에 미리 정리해두고 필요할 때마다 쉽게 찾아볼 수 있도록 하자

- 정의

- 특징/특이사항

- 접근시간

- 사용 상황 구분

기본적인 CS 지식
면접
https://brunch.co.kr/@aria-grande/20
‣ 지원한 팀에서 사용하고 있는 기술, JD의 요구사항에 있는 기술
에 대한 질문을 하곤 한다

e.g. React.js는 어떤 특징이 있나요?

e.g. 웹사이트를 만들어야 하는데 어떤 기술을 사용하면 좋을까요?
‣ 다이어그램을 그려가면서 설명하면 훨씬 있어보이고 면접관 입장에서
도 내가 무슨말을 하는지 더 쉽게 이해함
도메인 지식
면접 태도
https://brunch.co.kr/@aria-grande/20
‣ 모르는 질문이 들어왔다면?
•‘모르겠어요’ 하고 끝 (X)
•기죽고 쭈뼛하게 있는 것보다 왜 이걸 몰랐는지 설명하자
•‘그건 모르지만 비슷하게 이런건 알아요’ 하고 그 쪽으로 화제를 돌리면서 설명하자
‣ 내가 갖고 있는 개발 철학/가치관 공유하자
•개발은 비지니스를 도와주는 도구라서 디자인 패턴도 중요하지만, 비지니스 일정도 고려를 하면서 진행해야 한다
•내가 작성한 코드에 대한 책임감을 가지고 있다
‣ 내가 잘할 수 있는 것에 대해 어필
•협업을 잘할 수 있는 사람임을 어필
•열정적인 사람임을 어필 -> 신입일 때는 다들 이해 할거에요

추천하는 면접 준비 과정
‣ 평소라면?
‣ PS 문제 풀기; 백준OJ, Leetcode, HackerRank, AlgoExport.io
‣ 그룹 스터디 진행 (https://github.com/monkeys-code/save-the-monkey)
‣ 면접이 잡히면?
‣ 채용 담당자에게 어떤 것을 준비해 가야할지 물어보세요
‣ 이력서에 기입한 경험/프로젝트의 try/fail/learn 포인트 정리
‣ PS 문제 복습
‣ 꼭 모의 면접을 하자!
https://brunch.co.kr/@aria-grande/20
면접
‣ 추천하는 면접 준비 과정
•평소 - Leetcode, HackerRank, AlgoExport.io
•면접이 잡히면 - 이력서에 있던 내용은 꼭 다시 숙지하고 가
기, 꼭 모의 면접을 하자!
신입을 뽑긴 하나요?
‣ 공채 뿐만 아니라 수시 채용도 많다
‣ 채용 페이지를 자주 체크하고 주변 네트워킹을 통해서 정보를 빨리 수
집할 수 있도록 합니다
‣ N년 이상의 경험을 요구하고 있지 않다면, 그 말은 신입도 뽑겠다는
의미
‣ 공고를 봤고 관심이 간다면 일단 들이대 봅니다. 적극적인 사람이 더
많은 기회를 얻습니다
‣ LinkedIn jobs, Wanted, Programmers, 학교 온라인 게시판, …
취준생을 위한 공부 키워드
#자료구조 #알고리즘
#재귀 #BFS #DFS #Tree #Stack #Queue #Heap
#SystemDesign
#OOP
3. 취직 했어요.

이젠 뭘 하는거죠?
Junior와 Senior
Junior
‣ 프로젝트 내 작은 기능 구현, 버그 픽스
‣ 주어진 문제를 해결
‣ Development lifecycle에서 한 부분
을 맡아 개발할 수 있는 사람
‣ 코드 작성 >> 리뷰
‣ 열정도 120%! 더 빨리 배우고 성장
할 수 있는 사람
‣ 팀 내 영향을 미치는 사람
Senior
‣ 시스템 디자인, 아키텍팅
‣ 문제를 찾아내고 장기적인 솔루션 제
공
‣ 전반적인 development lifecycle을
리딩 할 수 있는 사람
‣ 주니어 멘토링
‣ 리뷰 >> 코드 작성
‣ 팀, 조직 내 영향을 미치는 사람
Software를 개발하실거에요
개발자의 daily life
‣ 커피 마시기
‣ Stand-up
‣ 미팅
‣ 기획자와 스펙 논의
‣ 디자이너의 시안 공유
‣ 개발 팀 내 기술셋 결정, 시스템 디자인 리뷰 등
‣ 코딩
‣ 문서 읽고 작성
소프트웨어 디자인 패턴과 아키텍쳐
‣ 소프트웨어 개발 생산성, 유지보수성을 높이기 위한 패러다임
‣ 사용하는 언어, 프레임워크 별로 추천하는 개발 패턴들이 있다
‣ 개발 패턴을 공부해서 실제 프로덕에 도입해 볼 수 있음
#FactoryDesignPattern
#PubSub (Publish-Subscribe pattern)
#DDD (Domain Driven Design)
#DI (Dependency Injection) #MSA (Micro Service Architecture)
#CleanArchitecture #BLoC (Business Logic Component)
…
https://en.wikipedia.org/wiki/Software_design_pattern
마지막으로 하고 싶은 말
‣ 내가 하고 싶은 일이 뭘지 생각해보세요. 

다양한 상황 속에서 나를 놓아야, 내가 어떤 사람인지 알아야겠죠?
✓ 사이드 프로젝트, 인턴십
✓ 리더로서의 경험, 팀원으로서의 경험
‣ 커리어에 대한 고민은 계속 하는 것 같아요. 자연스러운 일이에요!
‣ 공부는 정말 끝이 없더라구요. 즐겨야 할 것 같아요!
‣ 주변 사람으로 인해 좋은 기회가 많이 오더라구요
‣ 적극적으로 재밌게 살아보아요 :)
https://brunch.co.kr/@aria-grande
Software engineering is all about solving problems through code
1 de 41

Recomendados

코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월) por
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)Suhyun Park
31.8K vistas45 diapositivas
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들 por
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들Chris Ohk
31.4K vistas44 diapositivas
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장 por
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장Dylan Ko
4.1K vistas26 diapositivas
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점 por
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점Wonha Ryu
4.5K vistas44 diapositivas
(독서광) 비전공자도 이해할 수 있는 AI 지식 por
(독서광) 비전공자도 이해할 수 있는 AI 지식(독서광) 비전공자도 이해할 수 있는 AI 지식
(독서광) 비전공자도 이해할 수 있는 AI 지식Jay Park
1.3K vistas9 diapositivas
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018 por
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018devCAT Studio, NEXON
8.3K vistas75 diapositivas

Más contenido relacionado

La actualidad más candente

[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 por
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유Hyojun Jeon
15.8K vistas243 diapositivas
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019 por
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019devCAT Studio, NEXON
14.2K vistas69 diapositivas
How to build massive service for advance por
How to build massive service for advanceHow to build massive service for advance
How to build massive service for advanceDaeMyung Kang
13.2K vistas90 diapositivas
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019 por
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019devCAT Studio, NEXON
6K vistas75 diapositivas
개발을잘하고싶어요-네이버랩스 송기선님 por
개발을잘하고싶어요-네이버랩스 송기선님개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님NAVER D2
13.4K vistas45 diapositivas
사용자 스토리 기반의 스크럼 por
사용자 스토리 기반의 스크럼사용자 스토리 기반의 스크럼
사용자 스토리 기반의 스크럼Junyi Song
22.2K vistas23 diapositivas

La actualidad más candente(20)

[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 por Hyojun Jeon
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
Hyojun Jeon15.8K vistas
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019 por devCAT Studio, NEXON
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
devCAT Studio, NEXON14.2K vistas
How to build massive service for advance por DaeMyung Kang
How to build massive service for advanceHow to build massive service for advance
How to build massive service for advance
DaeMyung Kang13.2K vistas
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019 por devCAT Studio, NEXON
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
개발을잘하고싶어요-네이버랩스 송기선님 por NAVER D2
개발을잘하고싶어요-네이버랩스 송기선님개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님
NAVER D213.4K vistas
사용자 스토리 기반의 스크럼 por Junyi Song
사용자 스토리 기반의 스크럼사용자 스토리 기반의 스크럼
사용자 스토리 기반의 스크럼
Junyi Song22.2K vistas
중앙 서버 없는 게임 로직 por Hoyoung Choi
중앙 서버 없는 게임 로직중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직
Hoyoung Choi8.2K vistas
2015 py con word2vec이 추천시스템을 만났을때 por choi kyumin
2015 py con word2vec이 추천시스템을 만났을때 2015 py con word2vec이 추천시스템을 만났을때
2015 py con word2vec이 추천시스템을 만났을때
choi kyumin25.8K vistas
소프트웨어 엔지니어의 한국/미국 직장생활 por Joon Hong
소프트웨어 엔지니어의 한국/미국 직장생활소프트웨어 엔지니어의 한국/미국 직장생활
소프트웨어 엔지니어의 한국/미국 직장생활
Joon Hong20.7K vistas
화성에서 온 개발자, 금성에서 온 기획자 por Yongho Ha
화성에서 온 개발자, 금성에서 온 기획자화성에서 온 개발자, 금성에서 온 기획자
화성에서 온 개발자, 금성에서 온 기획자
Yongho Ha49K vistas
데이터는 차트가 아니라 돈이 되어야 한다. por Yongho Ha
데이터는 차트가 아니라 돈이 되어야 한다.데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.
Yongho Ha56.5K vistas
로그 기깔나게 잘 디자인하는 법 por Jeongsang Baek
로그 기깔나게 잘 디자인하는 법로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법
Jeongsang Baek16K vistas
서버학개론(백엔드 서버 개발자를 위한) por 수보 김
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
수보 김29.6K vistas
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부) por Hyojun Jeon
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
Hyojun Jeon5.7K vistas
Profiling - 실시간 대화식 프로파일러 por Heungsub Lee
Profiling - 실시간 대화식 프로파일러Profiling - 실시간 대화식 프로파일러
Profiling - 실시간 대화식 프로파일러
Heungsub Lee9.7K vistas
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵 por Javajigi Jaesung
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵소프트웨어 학습 및 자바 웹 개발자 학습 로드맵
소프트웨어 학습 및 자바 웹 개발자 학습 로드맵
Javajigi Jaesung12.2K vistas
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막) por Heungsub Lee
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
Heungsub Lee43.8K vistas
학생 개발자, 인턴십으로 성장하기 por 재원 최
학생 개발자, 인턴십으로 성장하기학생 개발자, 인턴십으로 성장하기
학생 개발자, 인턴십으로 성장하기
재원 최9.3K vistas
GA로 게임 로그 분석하기 por Alan Kang
GA로 게임 로그 분석하기GA로 게임 로그 분석하기
GA로 게임 로그 분석하기
Alan Kang15.4K vistas
2204 Kakao talk on Hate speech dataset por WarNik Chow
2204 Kakao talk on Hate speech dataset2204 Kakao talk on Hate speech dataset
2204 Kakao talk on Hate speech dataset
WarNik Chow263 vistas

Similar a Software engineer가 되기 위한 여정

예비 개발자를 위한 소프트웨어 세상 이야기 por
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기수보 김
1.1K vistas29 diapositivas
개발자로 사는 길!!! 20141114 por
개발자로 사는 길!!! 20141114개발자로 사는 길!!! 20141114
개발자로 사는 길!!! 20141114GeniNetworks
1.4K vistas33 diapositivas
My Way, Your Way por
My Way, Your WayMy Way, Your Way
My Way, Your WayChris Ohk
1.7K vistas54 diapositivas
커뮤니티와 함께한 예비개발자 성장기- 조성수님 por
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님NAVER D2
7.7K vistas84 diapositivas
(독서광) 필독! 개발자 온보딩 가이드 por
(독서광) 필독! 개발자 온보딩 가이드(독서광) 필독! 개발자 온보딩 가이드
(독서광) 필독! 개발자 온보딩 가이드Jay Park
1.1K vistas8 diapositivas
현장에서 사용하는 Software production por
현장에서 사용하는 Software production현장에서 사용하는 Software production
현장에서 사용하는 Software productionJinho Yoo
2.8K vistas92 diapositivas

Similar a Software engineer가 되기 위한 여정(20)

예비 개발자를 위한 소프트웨어 세상 이야기 por 수보 김
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기
수보 김1.1K vistas
개발자로 사는 길!!! 20141114 por GeniNetworks
개발자로 사는 길!!! 20141114개발자로 사는 길!!! 20141114
개발자로 사는 길!!! 20141114
GeniNetworks1.4K vistas
My Way, Your Way por Chris Ohk
My Way, Your WayMy Way, Your Way
My Way, Your Way
Chris Ohk1.7K vistas
커뮤니티와 함께한 예비개발자 성장기- 조성수님 por NAVER D2
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님
NAVER D27.7K vistas
(독서광) 필독! 개발자 온보딩 가이드 por Jay Park
(독서광) 필독! 개발자 온보딩 가이드(독서광) 필독! 개발자 온보딩 가이드
(독서광) 필독! 개발자 온보딩 가이드
Jay Park1.1K vistas
현장에서 사용하는 Software production por Jinho Yoo
현장에서 사용하는 Software production현장에서 사용하는 Software production
현장에서 사용하는 Software production
Jinho Yoo2.8K vistas
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우 por NAVER Engineering
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
NAVER Engineering453 vistas
프로젝트실무와기획의역할 por Amy Young Ah Kim
프로젝트실무와기획의역할프로젝트실무와기획의역할
프로젝트실무와기획의역할
Amy Young Ah Kim2.3K vistas
프로젝트실무와 기획의 역할 por Amy Young Ah Kim
프로젝트실무와 기획의 역할프로젝트실무와 기획의 역할
프로젝트실무와 기획의 역할
Amy Young Ah Kim4.9K vistas
2022 경희대학교 테크콘서트 por JongyoonJeong1
2022 경희대학교 테크콘서트2022 경희대학교 테크콘서트
2022 경희대학교 테크콘서트
JongyoonJeong11.4K vistas
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.) por CONNECT FOUNDATION
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
CONNECT FOUNDATION52 vistas
How To Become Better Engineer por DaeMyung Kang
How To Become Better EngineerHow To Become Better Engineer
How To Become Better Engineer
DaeMyung Kang20.6K vistas
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로 por Sungwoo Park
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
Sungwoo Park7.3K vistas
호갱노노 이렇게 만듭니다 por Ohgyun Ahn
호갱노노 이렇게 만듭니다호갱노노 이렇게 만듭니다
호갱노노 이렇게 만듭니다
Ohgyun Ahn2.4K vistas
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자 por Yurim Jin
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
Yurim Jin6.3K vistas
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대) por Jaewon Choi
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
Jaewon Choi3.3K vistas
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD) por VMware Tanzu Korea
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
VMware Tanzu Korea3.2K vistas
Better softwareengineer han por DaeMyung Kang
Better softwareengineer hanBetter softwareengineer han
Better softwareengineer han
DaeMyung Kang4K vistas
미국 IT기업 일하는 방식 및 미국진출 전략 por Jinhee Lee
미국 IT기업 일하는 방식 및 미국진출 전략미국 IT기업 일하는 방식 및 미국진출 전략
미국 IT기업 일하는 방식 및 미국진출 전략
Jinhee Lee2.2K vistas
To. 지식 공유를 시작하려는 개발자에게 por Yeoneui Hong
To. 지식 공유를 시작하려는 개발자에게To. 지식 공유를 시작하려는 개발자에게
To. 지식 공유를 시작하려는 개발자에게
Yeoneui Hong1.9K vistas

Software engineer가 되기 위한 여정

  • 1. Software engineer가 되기 위한 여정 오아리
  • 2. 발표자 소개 ‣ Amazon Software engineer @Vancouver ‣ Kakao Mobility Software engineer ‣ Kakao corp. Software engineer ‣ 6년차 개발자
  • 4. 진로 고민 ‣ 개발자로 취직 ‣ 대학원에 진학
  • 5. 어떻게 개발자가 될 수 있을까요? 1. 나는 개발자가 되고 싶은 걸까요? 2. 개발자로 취업을 준비합니다 3. 개발자로 취직을 합니다. 회사에서 열심히 성장합니다.
  • 7. 개발자는 너무 광범위한 용어 ‣ Software engineer ‣ Embedded system engineer ‣ DevOps engineer ‣ Data engineer ‣ Security engineer ‣ QA (Quality Assurance) engineer ‣ Network engineer ‣ System engineer
  • 8. Software engineer ‣ IT 기술을 이용해서 비지니스 플랜을 실현시켜 주는 사람 ‣ 흔히들 말하는 서버 개발자, 앱 개발자, 웹 개발자 등 ‣ 소프트웨어 개발, 유지보수 및 관리 ‣ 서비스 장애에 책임을 질 수 있는 사람
  • 9. 다양한 분야 ‣ Front-end ‣ Back-end ‣ Full-stack ‣ Mobile application ‣ Window/MacOS application https://www.linkedin.com/business/learning/blog/productivity-tips/the-american-city-that-pays-software-engineers-the-most
  • 10. 내가 좋은 영향을 미치고 싶은 분야는 어디인가요? 재미있는 걸 먼저 찾아보세요!
  • 12. 필요한 역량 - 논리로 무장 ‣ 우리가 하는 일은 problem solving ‣ 문제를 어떻게 해결할지 작은 조각들로 나눌 수 있어야 한다 ‣ Critical 하게 사고해서 문제에 대한 해결 방법을 코드로 작성해야 한다 ‣ 서비스를 개발하다 보면 커버 되지 않은 edge case가 있기 마련, 차분 하게 한 번 더 생각해봐야 한다 ‣ 손이 머리보다 빠르지 말 것
  • 13. 필요한 역량 - 도전 정신 ‣ 끊임 없이 새로운 일의 연속
 “웹 사이트 만들어 주세요” -> “이번엔 API 서버 만들어 주세요” ‣ 점점 복잡해지는 문제의 난이도
 “택시만 잡히면 좋겠다” -> “택시가 빨리 잡히고 결제 까지 되면 좋겠다” ‣ 끊임없이 나오는 새로운 기술 ‣ 도전을 즐기지 않는다면 금방 도태됨
  • 14. 필요한 역량 - 빠른 습득력 ‣ 하루가 멀다하고 쏟아지는 새로운 기술 ‣ 변화에 빠른 습득력이 필요
  • 15. 어떻게 공부해야 할까? ‣ 시작은 한가지 기술에 대해 깊이 팔 것 ‣ 공식 document를 먼저 읽어보고 찾는 습관 ‣ 새로운 기술은 그 기술의 철학과 신념, 아키텍쳐를 먼저 이해하 려고 해야 한다 ‣ Googling!
 검색 키워드에 따라 나오는 결과페이지가 다르다
 키워드를 어떻게 검색해야할 지 모르겠다면 공식 document를 참고하거나 주변 개발자에게 키워드를 물어보자
  • 16. 개발자의 커뮤니케이션 스킬 ‣ 정말 중요합니다 ‣ 혼자 개발하지 않아요. 결국은 팀워크 ‣ 대부분의 요구사항은 일반 사용자나 기획자 등 비 개발자로 부터 온다 ‣ 서비스 기획, 사업 기획, 디자이너 등 비 개발자 직군 에게 ‘얼마나 걸릴 지’, ‘왜 안 되는지’, ’시스템 구성을 어렵지 않게 설명’ 할 수 있어야 한다 ‣ 모든 문제는 명확하게 정의하고 지금 우리에게 필요한게 뭔지, 장기적으 로 생각했을 때 어떤게 필요할 지 잘 논의하고 정리할 수 있어야 한다
  • 17. 2. 개발 직군 취준생이 됐다
  • 18. 이력서 ‣ 분량은 A4 기준 1장~2장 ‣ 묻기 전까진 넣지 않아도 될 것 ‣ 사진 ‣ 취미, 주소, 생년월일 등 과도한 개인 정보 ‣ 아주 오래된 일들 (e.g. 10년 전..) ‣ 희망 연봉 ‣ 봉사활동 내역 https://brunch.co.kr/@aria-grande/17
  • 19. https://brunch.co.kr/@aria-grande/17 1. 프로젝트 소개 2. 구체적으로 한 일과 성과 (증명할 데이터가 있다면 꼭 적기) 3. 사용 기술 나열
  • 20. 이력서 ‣ 지양해야 할 포맷팅 https://brunch.co.kr/@aria-grande/18
  • 21. 이력서 ‣ 지양해야 할 포맷팅 https://brunch.co.kr/@aria-grande/18
  • 22. 이력서 ‣ 지양해야 할 포맷팅 https://brunch.co.kr/@aria-grande/18
  • 23. 이력서 ‣ 지양해야 할 포맷팅 https://brunch.co.kr/@aria-grande/18
  • 24. 이력서 ‣ 지양해야 할 포맷팅 https://brunch.co.kr/@aria-grande/18
  • 25. 이력서 ‣ 지양해야 할 포맷팅 https://brunch.co.kr/@aria-grande/18
  • 26. 이력서 ‣ LinkedIn 에 주기적으로 업데이트하자 ‣ 물론.. 학생 때에는 연락 안온다. 경력이 쌓이면 오기 시작한다
  • 27. 면접 https://brunch.co.kr/@aria-grande/20 ‣ 서류에 적었던 경험/프로젝트에 대한 구체적인 설명이 가능해 야 한다
 e.g. 지금의 ‘나'라면 다시 이 프로젝트를 진행할 때, 어떻게 설계할 것인가요? ‣ 프로젝트 진행 시 겪었던 어려움과 이를 해결하기 위해 시도했 던 것들을 미리 정리해서 가면 좋다 이력서 포트폴리오 관련 질문
  • 28. 면접 https://brunch.co.kr/@aria-grande/20 ‣ 한국에서는 신입에게 주로 많이 물어본다 ‣ 북미권 major IT 회사에서는 신입~경력 관계 없이 물어본다 ‣ 자료구조, 알고리즘 (Problem solving) 질문이 일반적
 e.g. HashTable이 어떻게 동작하나요?
 e.g. BST 에서 특정 노드는 어떻게 찾나요? ‣ 노트에 미리 정리해두고 필요할 때마다 쉽게 찾아볼 수 있도록 하자
 - 정의
 - 특징/특이사항
 - 접근시간
 - 사용 상황 구분
 기본적인 CS 지식
  • 29. 면접 https://brunch.co.kr/@aria-grande/20 ‣ 지원한 팀에서 사용하고 있는 기술, JD의 요구사항에 있는 기술 에 대한 질문을 하곤 한다
 e.g. React.js는 어떤 특징이 있나요?
 e.g. 웹사이트를 만들어야 하는데 어떤 기술을 사용하면 좋을까요? ‣ 다이어그램을 그려가면서 설명하면 훨씬 있어보이고 면접관 입장에서 도 내가 무슨말을 하는지 더 쉽게 이해함 도메인 지식
  • 30. 면접 태도 https://brunch.co.kr/@aria-grande/20 ‣ 모르는 질문이 들어왔다면? •‘모르겠어요’ 하고 끝 (X) •기죽고 쭈뼛하게 있는 것보다 왜 이걸 몰랐는지 설명하자 •‘그건 모르지만 비슷하게 이런건 알아요’ 하고 그 쪽으로 화제를 돌리면서 설명하자 ‣ 내가 갖고 있는 개발 철학/가치관 공유하자 •개발은 비지니스를 도와주는 도구라서 디자인 패턴도 중요하지만, 비지니스 일정도 고려를 하면서 진행해야 한다 •내가 작성한 코드에 대한 책임감을 가지고 있다 ‣ 내가 잘할 수 있는 것에 대해 어필 •협업을 잘할 수 있는 사람임을 어필 •열정적인 사람임을 어필 -> 신입일 때는 다들 이해 할거에요

  • 31. 추천하는 면접 준비 과정 ‣ 평소라면? ‣ PS 문제 풀기; 백준OJ, Leetcode, HackerRank, AlgoExport.io ‣ 그룹 스터디 진행 (https://github.com/monkeys-code/save-the-monkey) ‣ 면접이 잡히면? ‣ 채용 담당자에게 어떤 것을 준비해 가야할지 물어보세요 ‣ 이력서에 기입한 경험/프로젝트의 try/fail/learn 포인트 정리 ‣ PS 문제 복습 ‣ 꼭 모의 면접을 하자! https://brunch.co.kr/@aria-grande/20
  • 32. 면접 ‣ 추천하는 면접 준비 과정 •평소 - Leetcode, HackerRank, AlgoExport.io •면접이 잡히면 - 이력서에 있던 내용은 꼭 다시 숙지하고 가 기, 꼭 모의 면접을 하자!
  • 33. 신입을 뽑긴 하나요? ‣ 공채 뿐만 아니라 수시 채용도 많다 ‣ 채용 페이지를 자주 체크하고 주변 네트워킹을 통해서 정보를 빨리 수 집할 수 있도록 합니다 ‣ N년 이상의 경험을 요구하고 있지 않다면, 그 말은 신입도 뽑겠다는 의미 ‣ 공고를 봤고 관심이 간다면 일단 들이대 봅니다. 적극적인 사람이 더 많은 기회를 얻습니다 ‣ LinkedIn jobs, Wanted, Programmers, 학교 온라인 게시판, …
  • 34. 취준생을 위한 공부 키워드 #자료구조 #알고리즘 #재귀 #BFS #DFS #Tree #Stack #Queue #Heap #SystemDesign #OOP
  • 35. 3. 취직 했어요.
 이젠 뭘 하는거죠?
  • 36. Junior와 Senior Junior ‣ 프로젝트 내 작은 기능 구현, 버그 픽스 ‣ 주어진 문제를 해결 ‣ Development lifecycle에서 한 부분 을 맡아 개발할 수 있는 사람 ‣ 코드 작성 >> 리뷰 ‣ 열정도 120%! 더 빨리 배우고 성장 할 수 있는 사람 ‣ 팀 내 영향을 미치는 사람 Senior ‣ 시스템 디자인, 아키텍팅 ‣ 문제를 찾아내고 장기적인 솔루션 제 공 ‣ 전반적인 development lifecycle을 리딩 할 수 있는 사람 ‣ 주니어 멘토링 ‣ 리뷰 >> 코드 작성 ‣ 팀, 조직 내 영향을 미치는 사람
  • 38. 개발자의 daily life ‣ 커피 마시기 ‣ Stand-up ‣ 미팅 ‣ 기획자와 스펙 논의 ‣ 디자이너의 시안 공유 ‣ 개발 팀 내 기술셋 결정, 시스템 디자인 리뷰 등 ‣ 코딩 ‣ 문서 읽고 작성
  • 39. 소프트웨어 디자인 패턴과 아키텍쳐 ‣ 소프트웨어 개발 생산성, 유지보수성을 높이기 위한 패러다임 ‣ 사용하는 언어, 프레임워크 별로 추천하는 개발 패턴들이 있다 ‣ 개발 패턴을 공부해서 실제 프로덕에 도입해 볼 수 있음 #FactoryDesignPattern #PubSub (Publish-Subscribe pattern) #DDD (Domain Driven Design) #DI (Dependency Injection) #MSA (Micro Service Architecture) #CleanArchitecture #BLoC (Business Logic Component) … https://en.wikipedia.org/wiki/Software_design_pattern
  • 40. 마지막으로 하고 싶은 말 ‣ 내가 하고 싶은 일이 뭘지 생각해보세요. 
 다양한 상황 속에서 나를 놓아야, 내가 어떤 사람인지 알아야겠죠? ✓ 사이드 프로젝트, 인턴십 ✓ 리더로서의 경험, 팀원으로서의 경험 ‣ 커리어에 대한 고민은 계속 하는 것 같아요. 자연스러운 일이에요! ‣ 공부는 정말 끝이 없더라구요. 즐겨야 할 것 같아요! ‣ 주변 사람으로 인해 좋은 기회가 많이 오더라구요 ‣ 적극적으로 재밌게 살아보아요 :)
  • 41. https://brunch.co.kr/@aria-grande Software engineering is all about solving problems through code