SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)Suhyun Park
 
[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기NAVER D2
 
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019devCAT Studio, NEXON
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)수보 김
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101DaeMyung Kang
 
Trends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_businessTrends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_businessSANG WON PARK
 
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편Seongyun Byeon
 
NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현noerror
 
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기AWSKRUG - AWS한국사용자모임
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)Hyojun Jeon
 
실리콘 밸리 데이터 사이언티스트의 하루
실리콘 밸리 데이터 사이언티스트의 하루실리콘 밸리 데이터 사이언티스트의 하루
실리콘 밸리 데이터 사이언티스트의 하루Jaimie Kwon (권재명)
 
데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.Yongho Ha
 
검색엔진에 적용된 ChatGPT
검색엔진에 적용된 ChatGPT검색엔진에 적용된 ChatGPT
검색엔진에 적용된 ChatGPTTae Young Lee
 
중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직Hoyoung Choi
 
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)Seongyun Byeon
 
Little Big Data #1. 바닥부터 시작하는 데이터 인프라
Little Big Data #1. 바닥부터 시작하는 데이터 인프라Little Big Data #1. 바닥부터 시작하는 데이터 인프라
Little Big Data #1. 바닥부터 시작하는 데이터 인프라Seongyun Byeon
 
훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기Changyol BAEK
 
신입 개발자 생활백서 [개정판]
신입 개발자 생활백서 [개정판]신입 개발자 생활백서 [개정판]
신입 개발자 생활백서 [개정판]Yurim Jin
 
게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법Chris Ohk
 
실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략YEONG-CHEON YOU
 

Was ist angesagt? (20)

코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
 
[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기
 
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101
 
Trends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_businessTrends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_business
 
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편
 
NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현
 
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
 
실리콘 밸리 데이터 사이언티스트의 하루
실리콘 밸리 데이터 사이언티스트의 하루실리콘 밸리 데이터 사이언티스트의 하루
실리콘 밸리 데이터 사이언티스트의 하루
 
데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.
 
검색엔진에 적용된 ChatGPT
검색엔진에 적용된 ChatGPT검색엔진에 적용된 ChatGPT
검색엔진에 적용된 ChatGPT
 
중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직
 
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
 
Little Big Data #1. 바닥부터 시작하는 데이터 인프라
Little Big Data #1. 바닥부터 시작하는 데이터 인프라Little Big Data #1. 바닥부터 시작하는 데이터 인프라
Little Big Data #1. 바닥부터 시작하는 데이터 인프라
 
훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기
 
신입 개발자 생활백서 [개정판]
신입 개발자 생활백서 [개정판]신입 개발자 생활백서 [개정판]
신입 개발자 생활백서 [개정판]
 
게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법
 
실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략
 

Ähnlich wie Software engineer가 되기 위한 여정

240326_패스트캠퍼스_캠프콘_오원종_2024년_프론트엔드_트렌드_발표자료
240326_패스트캠퍼스_캠프콘_오원종_2024년_프론트엔드_트렌드_발표자료240326_패스트캠퍼스_캠프콘_오원종_2024년_프론트엔드_트렌드_발표자료
240326_패스트캠퍼스_캠프콘_오원종_2024년_프론트엔드_트렌드_발표자료WonJongOh1
 
예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기수보 김
 
개발자로 사는 길!!! 20141114
개발자로 사는 길!!! 20141114개발자로 사는 길!!! 20141114
개발자로 사는 길!!! 20141114GeniNetworks
 
"행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한...
"행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한..."행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한...
"행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한...Myeongseok Baek
 
My Way, Your Way
My Way, Your WayMy Way, Your Way
My Way, Your WayChris Ohk
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님NAVER D2
 
(독서광) 필독! 개발자 온보딩 가이드
(독서광) 필독! 개발자 온보딩 가이드(독서광) 필독! 개발자 온보딩 가이드
(독서광) 필독! 개발자 온보딩 가이드Jay Park
 
어쩌다로봇
어쩌다로봇어쩌다로봇
어쩌다로봇민건 주
 
현장에서 사용하는 Software production
현장에서 사용하는 Software production현장에서 사용하는 Software production
현장에서 사용하는 Software productionJinho Yoo
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018devCAT Studio, NEXON
 
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우NAVER Engineering
 
프로젝트실무와기획의역할
프로젝트실무와기획의역할프로젝트실무와기획의역할
프로젝트실무와기획의역할Amy Young Ah Kim
 
프로젝트실무와 기획의 역할
프로젝트실무와 기획의 역할프로젝트실무와 기획의 역할
프로젝트실무와 기획의 역할Amy Young Ah Kim
 
2022 경희대학교 테크콘서트
2022 경희대학교 테크콘서트2022 경희대학교 테크콘서트
2022 경희대학교 테크콘서트JongyoonJeong1
 
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)CONNECT FOUNDATION
 
How To Become Better Engineer
How To Become Better EngineerHow To Become Better Engineer
How To Become Better EngineerDaeMyung Kang
 
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로Sungwoo Park
 
호갱노노 이렇게 만듭니다
호갱노노 이렇게 만듭니다호갱노노 이렇게 만듭니다
호갱노노 이렇게 만듭니다Ohgyun Ahn
 
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자Yurim Jin
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)Jaewon Choi
 

Ähnlich wie Software engineer가 되기 위한 여정 (20)

240326_패스트캠퍼스_캠프콘_오원종_2024년_프론트엔드_트렌드_발표자료
240326_패스트캠퍼스_캠프콘_오원종_2024년_프론트엔드_트렌드_발표자료240326_패스트캠퍼스_캠프콘_오원종_2024년_프론트엔드_트렌드_발표자료
240326_패스트캠퍼스_캠프콘_오원종_2024년_프론트엔드_트렌드_발표자료
 
예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기
 
개발자로 사는 길!!! 20141114
개발자로 사는 길!!! 20141114개발자로 사는 길!!! 20141114
개발자로 사는 길!!! 20141114
 
"행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한...
"행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한..."행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한...
"행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한...
 
My Way, Your Way
My Way, Your WayMy Way, Your Way
My Way, Your Way
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님
 
(독서광) 필독! 개발자 온보딩 가이드
(독서광) 필독! 개발자 온보딩 가이드(독서광) 필독! 개발자 온보딩 가이드
(독서광) 필독! 개발자 온보딩 가이드
 
어쩌다로봇
어쩌다로봇어쩌다로봇
어쩌다로봇
 
현장에서 사용하는 Software production
현장에서 사용하는 Software production현장에서 사용하는 Software production
현장에서 사용하는 Software production
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
 
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
200819 NAVER TECH CONCERT 09_Case.xcodeproj - 좋은 동료로 거듭나기 위한 노하우
 
프로젝트실무와기획의역할
프로젝트실무와기획의역할프로젝트실무와기획의역할
프로젝트실무와기획의역할
 
프로젝트실무와 기획의 역할
프로젝트실무와 기획의 역할프로젝트실무와 기획의 역할
프로젝트실무와 기획의 역할
 
2022 경희대학교 테크콘서트
2022 경희대학교 테크콘서트2022 경희대학교 테크콘서트
2022 경희대학교 테크콘서트
 
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
 
How To Become Better Engineer
How To Become Better EngineerHow To Become Better Engineer
How To Become Better Engineer
 
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
 
호갱노노 이렇게 만듭니다
호갱노노 이렇게 만듭니다호갱노노 이렇게 만듭니다
호갱노노 이렇게 만듭니다
 
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
 

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