SlideShare a Scribd company logo
1 of 310
Download to read offline
그럴듯해 보이는 목차
• SW 개발자의 종류
• 개발자가 되기 위한 기본적 지식
• 성장하기
SW 개발자의 종류
• 이런 얘기를 하는게 아닙니다.
• 좋은 개발자, 나쁜 개발자
• 서버개발자, 웹개발자, 모바일 개발자, PM..
SW 개발자의 종류
• 이런 얘기를 할꺼에요
• 대기업 개발자, 중소기업 개발자, 해외 개발자
• 어차피 개발자가 하는 일은 비슷해요
개발자가 되기 위한 기본지식
• 이런 얘기는 안해요
• 자료구조, OS, 데이터베이스, C, Java
개발자가 되기 위한 기본지식
• 이런 얘기 할꺼에요
• Mobile, Web, Back-end, Front-End
성장하기
!
• 훌륭한 개발자가 되기 위한 가이드를 제시합니다.
• 잘 먹고 잘 살기를 기원합니다.
하필이면 개발자를..?
우리는 누구?
• 학생?
• 개발자?
• 기획자?
• 아들? 딸?
• 잠재적 군인?
아직은 잘 모르지만
누구든 될 수 있다.
정말 개발을 좋아하는 삶
어쩔수 없이 돈때문에..
이유야 어쨌든 개발자는
돈을 법니다.
왜?
• 먹고 살아야 하고
• 결혼도 하고
• 차도 사고
• 부모님 용돈도 드리고
• 여행도 가고
• 학자금도 값고..ㅠㅠ
대기업 느님
나머지는?
중소기업 시작
너 자신을 믿어라(Be Yourself)
-샘 올렌스(조지아주 법무장관)
갈 곳이 없다…
너 자신을 알라
- 그리스 격언
한국 IT 80%를 차지하는
SI
SI에 가면 뭐해요?
제 경우를 예를 들자면
- 아무생각없이 놀았습니다
• 밴드도 하고
• 스쿠버도 하고
• 인라인도 타고
• 검도도 하고
• 바이크도 타고
그러다 보니…
• 2009 년 30살의 나이로 졸업
동시에
서브프라임
서브 프라임?
100 여군데 이력서를 넣고..
!
하청업체라 불리는곳에 합격.
하청업체?
그건 아청이고…
그럼 하청은?
아 그렇군!!!
농협카드와 함께 봄날을 맞이함
구조
• 농협 - 농협정보시스템 - LGCNS - 회사 - 나
내가 생각했던 직장인
!
특히 금융권
프로젝트 투입
입사1년만에
5일의 휴가를 받음…
다시 프로젝트 투입
가능할까?
• 집 -> 회사 1시간 30분
• 1시~2시 퇴근
• 9시 정시 출근
• 토요일은 기본, 일요일은 옵션
애가 생겼어요!!
병원에 다녀야 해요..
충격적인 비밀을 들음
• 차세대를 하면 산부인과에 같이 못감
• 애 얼굴을 자주 못봄
• 돈이 많이 필요함
• 이게 평생 될꺼임.
목표가 생김(나름 대기업 간판)
입사할 수는 있으나.
• 오지 말라고 함
• 거기서 거기
이 바닥을 뜨자!!!
꺼져 이노무 회사!!!
살암인, 잡콜이야
대세는 웹, 모바일
갈곳이 없음..
Java 못함
C 못함
웹은 뭔지.
모바일???
엔지니어?
다 필요없고..
• 연봉/복지 안따짐
• 정시 퇴근만 하면 됨.
• 경력 세탁은 내가 할꺼임
처음으로..
!
집에 6시 30분에 도착..
회사를 옮겼더니
대학원, 스터디, 개발자 모임
Now..
• 제 직책은.
• 두 아들의 아빠
• 10시에 어린이집
• 장보기
• 4시에 어린이집
• 백수
Now..
• 오픈 프론티어 멤버
• URQA- 오픈소스 커미터
• Fullstack 개발자
• 할줄 아는거: javascript, angularJS, ruby, python, go,
redis, MongoDB, Scala, android, etc..
만족하며 살고 있음.
애초에 대기업을
가지?
대기업을 갑시다!!!
엄청 많음!!!
!
!
하지만 들어가고 못들어가고 문제가 아니라
실제 수행업무가 중요!!
1000 ft View
• 군대 문화
• 술, 회식
• 정치
외국 회사로!!
훨신 더 많아!!!
채용 프로세스
• 서류 면접
• 전화 면접
• 온사이트 (On-site) 면접
• 최소 3회 - 7 회
• 최소 5시간 - 12시간
프리랜서
Free + Lancer
프리랜서 = 용병
SI 산업
금융, 통신, 공공, 의료
사회 현상의 흐름을 파악
항상 새로운 것
• 새로운 업무 환경
• 새로운 사람들
• 새로운 업무
돈?
• 초급: 20대 후반
• 중급: 30대 초반
• 고급: 30대 후반
돈?
• 대한민국 평균 연봉보다 많다.
• IT 산업군과 비교해도 많다.
돈?
• 단, 퇴직금 제외
• 복지도 제외
경력?
경력?
• 원하는 경력대로 커리어 패스를 찍을 수 있다.
• 한 업무에 정통하면 인정받으면서 일할 수 있다.
• 찾지 않아도 찾아온다.
경력?
• 단, 스킬을 잘못 찍으면 망한다.
경력?
• 인생은 디아블로가 아님..
안정된 고용환경
업무 환경
업무 환경
• 이직이 쉬움
안좋은점
일자리
계약직
전문성
다 잘해야함..
!
노래, 춤은 기본
!
SSD도 혼자 교체, 손글씨, 양궁
Requirement
• 프로그래밍 실력은 기본
• 업무에 대해서도 빠삭해야 하고
• 전화응대도 잘해야 하고
• 분위기도 잘 맞춰줘야 하고(사무실, 회식)
• 치킨도 잘 튀겨야….
방법론
원래는 이렇게..
실제는…
그런게 어딨어.. 그냥 하는거지
일정
상황이 이러다 보니..
집에 못감..
일정이 이러다 보니..
!
개발자가 가고 싶은 회사들..
필요한 기술들..
• 면접: 기본 3차 ~ 7차
• 스킬: Java, JS, C, C++, php, python, ruby, object-C
HTML5, CSS, etc..
못감..
좋은 회사의 기준은
먹고 살만한 월급
!
최신 장비
!
기술 습득
!
이라고 보통 생각함
!
방법?
!
회사를 차리던가..
회사를 차리든.
!
회사에 입사를 하든.
!
알면 도움이 되는 기본 지식들..
Python.
-Language
Framework?
소프트웨어 프레임워크(software framework)
는 복잡한 문제를 해결하거나 서술하는 데 사용
되는 기본 개념 구조이다. 간단히 뼈대, 골조(骨
組), 프레임워크(framework)라고도 한다.
Full Stack
Server, Network, and Hosting Environment.
Data Modeling
Business Logic
API layer / Action Layer / MVC
User Interface
User Experience
Understanding what the customer and the business need.
납땜에서 영업까지
1인 기업
프로그래밍 언어
• 언어는 내 생각을 구현하기 위한 도구
• 모바일 - Java, Objective C, C#
• 웹서버 - CGI, ASP, PHP, JAVA
• 게임 - C#, C++
• 디자인? - 포토샵, 일러스트레이터, 페인트?
• 관리 - 엑셀, 파워포인트
프레임워크
• Ruby - Rails, Sinatra
• Python - Django, Flask
• Java - Spring, Spark
• C# - .Net, Micro
왜?
영역이 다르다
• DB - Backend - Frontend - UX - 고객
• 영역 별로 사용하는 언어가 다름
과장님은 엑셀로 이야기해요
고객
• Design
• Speed
• UI/UX
• Pay
UI/UX(기획자)
• UI/UX
• Cost
• Cash Cow
Front-end
• Fast Script
• Layout
• Dynamic
Back-end
• High Availability
• High Tech
• Simple/Complex
• High Performance
Database
• Shard
• Replication
• Data
1000 ft View
개략적으로 살펴봅시다
뭐 먹고 살지 고민중…
!
아이디어가 하나 떠오름!!!
웹 페이지도 만들고
!
앱도 하나 만들어야징!!
대박 날것 같음!!
당연한 얘기지만.
• 컴퓨터 부터 구입…
• 혹은 집에 있는 컴퓨터.
• 또는 학교
당연한 얘기지만.
• 언어를 배워야함
code school
code academy
code.org
lynda.com
일단 게시판부터…
• HTML로 만들고
• 로그인 기능 추가해서 게시판 만들어야지
게시판 글을 어딘가 저장
을… 해야 하네?
데이터 베이스
• 데이터베이스(database)는 여러 응용 시스템들의 통합된
정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음이
다.
• 무료로 제공되는 Mysql 로 시작..
게시판 만들고 DB 연결
했더니..
뭔가 이쁘게 만들어 봐야
겠다..
bootstrap
foundation
skeleton
gumbyframework
CSS frameworks are pre-prepared software frameworks that
are meant to allow for easier, more standards-compliant web
design using the Cascading Style Sheets language
그럴듯하게 페이지를 만듬
문제는..
• 개인 컴퓨터(집, 학교)는 항상 켜놓아야 함…
• 호스팅을 알아봄
페이스북 만큼은 아니지만..
그래도.. 사람들이 꾸준히 들어옴
요청도 들어옴
• 페이스북으로 로그인 하게 해주세요
• 채팅 할수 있게 해주세요
• 바로가기 메뉴 추가 해주세요.
• 모바일도 추가해 주세요
로그인 연동시키자
openID, auth
• OpenID (OID) is an open standard and
decentralized protocol by the non-profit OpenID
Foundation that allows users to be authenticated
by certain co-operating sites (known as Relying
Parties or RP) using a third party service
!
• OAuth is an open standard for authorization.
사이트가 자꾸 죽어요
이유?
튜닝
Load Balance
Load Balance
어느 정도까지는 커버됨.
- 모바일이 추가 되기 전까지
모바일을 대응하기 위해
• REST-API!
• 2000년 로이 필딩(Roy Fielding)이 박사학위 청구 논문에서
REST(Representational State Transfer)를 소프트웨어 아키텍처 스타
일로 제안한 후 OPEN API를 개발하는 기본으로 급속도로 확산되고 있다.!
!
• REST는 SOAP이 서비스 지향 구조인 것과 달리 자원지향구조(ROA:
Resource Oriented Architecture)로 웹 사이트의 컨텐츠(Text, 이미지,
동영상), DB의 내용 등을 전부 하나의 자원으로 파악하여 각 자원의 고유한
URI(Uniform Resource Identifier)를 부여하고, 해당 자원에 대한
CRUD(Create, Read, Update, Delete) 작업을 HTTP의 기본 명령어인
POST, GET, PUT, DELETE를 통해서 처리한다.
REST!!!
Sinatra
Flask
Django + python
MySQL
현재상황..
갑자기
 증가하는
 사용자
Ideal
또한번의 튜닝
Load Balancer
REST REST REST
MariaMysql Mongo …
Scalability
변하는
 요구조건
앞으로
 가야할
 상황..
아… 혼자는 못하겠다.
-팀웍
필요한 툴들
이슈 트래커
trello.com
unfuddle.com
pivotal tracker
사람도 확보했고..
Worker
Queue
URQA - 실습편
• URQA - Android Crash report
• 350개 개인/업체 사용중
URQA Committers
무료 어플리케이션
개인
69%
회사
31%
유료 어플리케이션
개인
75%
회사
25%
안드로이드
 마켓
 개발자
 현황
개인
 개발자:
 73%
출처 : http://offers2.compuware.com/rs/compuware/images/Mobile_App_Survey_Report.pdf
50% 이상이 앱이 죽거나 멈추거나!
느려지는 문제를 겪는다.
출처 : http://offers2.compuware.com/rs/compuware/images/Mobile_App_Survey_Report.pdf
사후
 크래쉬
 리포트
 서비스로
 
 
그나마
 다양한
 문제를
 대처할수
 있음
BugSense
 
77%
Airbrake
 
0%
zubhium
 
0%
HockeyApp
 
2%
Crittercism
 
5%
ACRA
 
15%
not
 use
 
81%
Airbrake
 
0%
zubhium
 
0%
HockeyApp
 
0%
Crittercism
 
1%
ACRA
 
3%
BugSense
 
14%
not
 use
 
90%
Airbrake
 
0%
Zubhium
 
0%
Critticism
 
0%
HockeyApp
 
0%
ACRA
 
3%Bugsense
 
7%
새로운
 앱
 중
 Bug
 report를
 사용하는
 앱
전체
 앱
 중
 Bug
 report를
 사용하는
 앱2013년
 Play
 마켓
 앱
 개수
 
버그리포트
 시장
 점유율
왜
 안쓰지?
 불편한가?
3~7세
 어린이
 신발
 살때
 기준은?
귀여운
  기능성
Pain
 Point
비즈니스
 모델
 캔버스는
 창업자들이
 생각한
 가설이고,

고객
 개발은
 창업자들이
 생각해낸
 해결책을
 검증하기
 보다는
 

창업자들이
 가정한
 문제가
 진짜
 고객의
 문제인지
 검증하는
 것
이다!



Steve
 Blank
 
!
Lean
 Startup의
 아버지
 
Customer
 Development
 Method
 저자
고객의
 
 문제를
 해결하자!

=

 우리
 소프트웨어의
 핵심가치
 찾기
Sleep
 If
 U
 Can
 Sleep
 If

More Related Content

Viewers also liked

Viewers also liked (10)

위대한개발문화
위대한개발문화위대한개발문화
위대한개발문화
 
소프트웨어개발자는누구인가?
소프트웨어개발자는누구인가?소프트웨어개발자는누구인가?
소프트웨어개발자는누구인가?
 
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
 
MongoDB World 2015 - A Technical Introduction to WiredTiger
MongoDB World 2015 - A Technical Introduction to WiredTigerMongoDB World 2015 - A Technical Introduction to WiredTiger
MongoDB World 2015 - A Technical Introduction to WiredTiger
 
품질관리 기본교육자료 #
품질관리 기본교육자료 #품질관리 기본교육자료 #
품질관리 기본교육자료 #
 
애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발
애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발
애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발
 
테스트자동화 성공전략
테스트자동화 성공전략테스트자동화 성공전략
테스트자동화 성공전략
 
Ui test 자동화하기 - Selenium + Jenkins
Ui test 자동화하기 - Selenium + JenkinsUi test 자동화하기 - Selenium + Jenkins
Ui test 자동화하기 - Selenium + Jenkins
 
개발자의 현재와 미래
개발자의 현재와 미래개발자의 현재와 미래
개발자의 현재와 미래
 
빅데이터의 활용
빅데이터의 활용빅데이터의 활용
빅데이터의 활용
 

Similar to OSS개발자 포럼 캠프

좋은 디자이너, 나쁜 프로젝트매니저, 이상한 개발자
좋은 디자이너, 나쁜 프로젝트매니저, 이상한 개발자좋은 디자이너, 나쁜 프로젝트매니저, 이상한 개발자
좋은 디자이너, 나쁜 프로젝트매니저, 이상한 개발자
Suyeol Jeon
 

Similar to OSS개발자 포럼 캠프 (20)

2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
 
백엔드 개발자로 1인분하기
백엔드 개발자로 1인분하기백엔드 개발자로 1인분하기
백엔드 개발자로 1인분하기
 
호갱노노 이렇게 만듭니다
호갱노노 이렇게 만듭니다호갱노노 이렇게 만듭니다
호갱노노 이렇게 만듭니다
 
PHP로 웹개발을 해보자
PHP로 웹개발을 해보자PHP로 웹개발을 해보자
PHP로 웹개발을 해보자
 
삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf
 
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
Open Source is My Job
Open Source is My JobOpen Source is My Job
Open Source is My Job
 
티켓몬스터를 위한 PHP 개발 방법
티켓몬스터를 위한 PHP 개발 방법티켓몬스터를 위한 PHP 개발 방법
티켓몬스터를 위한 PHP 개발 방법
 
BD Talk 2017 봄 - 원정코딩
BD Talk 2017 봄 - 원정코딩BD Talk 2017 봄 - 원정코딩
BD Talk 2017 봄 - 원정코딩
 
좋은 디자이너, 나쁜 프로젝트매니저, 이상한 개발자
좋은 디자이너, 나쁜 프로젝트매니저, 이상한 개발자좋은 디자이너, 나쁜 프로젝트매니저, 이상한 개발자
좋은 디자이너, 나쁜 프로젝트매니저, 이상한 개발자
 
About Programmer 2021
About Programmer 2021About Programmer 2021
About Programmer 2021
 
개발자로 사는 길!!! 20141114
개발자로 사는 길!!! 20141114개발자로 사는 길!!! 20141114
개발자로 사는 길!!! 20141114
 
초고속 웹사이트 개발을 위한 Codeigniter PHP Framework
초고속 웹사이트 개발을 위한 Codeigniter PHP Framework초고속 웹사이트 개발을 위한 Codeigniter PHP Framework
초고속 웹사이트 개발을 위한 Codeigniter PHP Framework
 
화성에서 온 개발자, 금성에서 온 기획자
화성에서 온 개발자, 금성에서 온 기획자화성에서 온 개발자, 금성에서 온 기획자
화성에서 온 개발자, 금성에서 온 기획자
 
T13_2_이은호_비개발자 대표의 3개월 서비스 개발기
T13_2_이은호_비개발자 대표의 3개월 서비스 개발기T13_2_이은호_비개발자 대표의 3개월 서비스 개발기
T13_2_이은호_비개발자 대표의 3개월 서비스 개발기
 
OSS개발자포럼(2017.01) 파이썬 소개자료
OSS개발자포럼(2017.01) 파이썬 소개자료 OSS개발자포럼(2017.01) 파이썬 소개자료
OSS개발자포럼(2017.01) 파이썬 소개자료
 
12-1 ignite(2)
12-1 ignite(2)12-1 ignite(2)
12-1 ignite(2)
 
PyCon2020 NLP beginner's BERT challenge
PyCon2020 NLP beginner's BERT challengePyCon2020 NLP beginner's BERT challenge
PyCon2020 NLP beginner's BERT challenge
 
최웅규
최웅규최웅규
최웅규
 

Recently uploaded

Recently uploaded (8)

JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 

OSS개발자 포럼 캠프