SlideShare a Scribd company logo
AI시대, 개발자로서살아가는법
디지털 노마드 개발자
권영재
2024-05-11
1
목차
강연자 소개
AI 시대에 더 좋은 개발자로 살아가는 법
더 좋은 개발자란 무엇인지
AI의 도움을 받아 더 좋은 개발자가 되기
결론
2
디지털노마드
2019년부터 세계 여러곳을 여행하면서 업무
미국, 태국, 일본, 뉴질랜드, 대만, 인도네시아, 이탈리아, 프랑스 등
일반 여행과 다른 점
최소 2주 - 한달
인터넷 속도
제대로된 업무 테이블과 의자
한국과의 시차도 중요
3
4
5
6
디지털노마드가되기까지..
2014년 - 신입사원으로 LINE에 입사, iOS -> 서버 개발
2017년 - 사내커플로 개발자 아내와 결혼
2019년
스퀘어랩으로 이직, 항공/호텔 예약 서비스인 ‘카이트’ 를 개발
디지털 노마드 시작!
풀타임 리모트 워크
인터뷰: https://squarelab.co/blog/interview-youngjae/
2019년 말, 태국 치앙마이로 !!
7
치앙마이그리고코로나..
중국이후 태국이 첫 감염자 발생 지역
한국도 곧이어 확진자 발생
문제인식
코로나 확진자 관련 보도자료가 모바일
에서 보기 너무 힘들다
-> 매일 매일 누적되는 데이터를 대시보
드 처럼 보여주면 어떨까?
8
마치.. 해커톤..?
코로나보드의 시작
3일만에 개발해서 런칭
9
처음에는 손으로 한땀 한땀 데이터 수집 → 이후 크롤러를 통해 자동화
10
2020년 1월 29일 출시!
11
코로나보드성과
일 최대 200만뷰, 누적 2억 뷰
정적인 웹사이트 방식으로 한달
에 10만원 이내로 운영
쿠팡 파트너스, 구글 애드센스 등
으로 수익화
코로나보드 책 출간
12
AI시대, 개발자로서살아가는법
13
더이상개발자는필요하
지않을까?
엔비디아 공동 창업자 젠슨 황
"앞으로는 모든 사람이 프로그래머가 될
것"
"누구나 자연어로 SW를 만들 수 있다"
14
예시) 포인트적립/사용시스템을만들어줘
15
예시) 포인트적립/사용시스템을만들어줘
각 적립항목은 각각의 유효기간이 존재해야함
유효기간이 만료된 포인트는 사용 불가
정해진 시점에 사용가능한 포인트를 조회하여 보여줄 수 있어야함
적립했던 포인트를 다시 적립 취소할 수 있어야함
사용했던 포인트를 다시 사용 취소 할 수 있어야함
모든 트랜잭션은 원자성이 보장되어야 해야함
어뷰징 또는 네트워크 오류등으로 인한 재시도로 중복 적립, 중복 사용, 중복 취
소를 막을 수 있어야함
16
예시) 포인트적립/사용시스템을만들어줘
포인트 적립/사용 내역에는 모든 적립, 사용, 적립취소, 사용취소 내역이 각 트랜
잭션별로 시간순서로 정렬되어 표시되어야함
회계 장부 관리를 위해 월별 포인트 적립 총액, 사용 총액, 만료 총액을 알 수 있
어야 함
...
17
예시) 포인트적립/사용시스템을만들어줘
포인트 적립/사용 내역에는 모든 적립, 사용, 적립취소, 사용취소 내역이 각 트랜
잭션별로 시간순서로 정렬되어 표시되어야함
회계 장부 관리를 위해 월별 포인트 적립 총액, 사용 총액, 만료 총액을 알 수 있
어야 함
...
-> 아직까지는이런세세하고복잡한작업을AI를통해처리하
는것이쉽지않음
18
오예개발자개꿀..!
19
대체되는개발자
AI를 통해 실력있는 개발자의 업
무 효율이 향상됨
AI를 활용도 잘 하지 못하고 AI
의 결과물 보다 코드 퀄리티가 좋
지 않은 사람
20
그렇다면AI 시대에도살아남을수있는
더좋은개발자가되려면어떻게해야하나?
21
좋은개발자란?
1. 코드를 잘 작성하는 사람
2. 트러블 슈팅을 잘하는 사람
3. 목표를 명확히 인지하는 사람
4. 요구사항을 더 효율적으로 해결하는 사람
22
23
1. 코드를잘작성하는사람
최소 하나의 개발 언어에 대한 깊은 이해
많은 언어들이 해당 언어들만의 몇몇 특수한 기능을 제외한다면 대부분 비슷한
기능을 제공
주어진 요구 사항을 코드로 얼마나 명료하게 표현 할 수 있는가?
24
2. 트러블슈팅을잘하는사람
단순 코드 뿐만아니라 코드를 제외한 개발 환경에 대한 이해도가 높은 사람
CPU, Memory, Storage, GPU, ...
OS, Network, ...
호기심, 끈기, 많은 경험이 필요한 능력
예) 특정 서버 어플리케이션이 랜덤하게 종료되는데 어디가 문제인지 어떻게 찾
아낼까?
25
3. 목표를명확히인지하는사람
모호하게 요구 사항이 주어졌을 때 이것을 명확한 언어로 바꿀 수 있는 사람
개발 과정에서 발생할 수 있는 다양한 엣지 케이스들을 잘 찾아내는 사람
사용자 관점에서 봤을때 불편할 수 있는 부분을 캐치해서 더 좋은 방식을 제안할
수 있는 사람
예) 소셜 로그인 기능을 만들어 주세요
하나의 사용자 계정에 동시에 네이버, 카카오 등의 여러 소셜 로그인 연동이
가능한지?
26
4. 요구사항을더효율적으로해결하는사람
단순히 기능이 동작하는 것을 넘어서서, 더 효율적인 컴퓨팅 자원 사용으로 비용
을 절감
예시)
해결하려는 문제에 적절한 데이터 구조나 알고리즘을 사용하여 컴퓨팅 자원
을 절감
DB 쿼리 튜닝을 잘하고 캐시를 적절히 사용하면 더 작은 사양의 DB 서버로
더 많은 요청을 처리
27
좋은개발자란?
1. 코드를 잘 작성하는 사람
2. 트러블 슈팅을 잘하는 사람
3. 목표를 명확히 인지하는 사람
4. 요구사항을 더 효율적으로 해결하는 사람
-> 제한된시간안에주어진요구사항을더빠르고정확하게효
율적으로만들수있는개발자
28
AI의도움을받아더좋은개발자가되어보자!
1. 더효율적으로공부하자
2. 더빠르게일하자
3. 더많이경험하자
29
더효율적으로공부하자
검색엔진이없을때
어떤 책에 어떤 정보가 있는지 알기 힘들기 때문에 일단 책을 다양하게 많이 읽
어야함
효율성 낮음
30
더효율적으로공부하자
검색엔진시대
더 좋은 자료를 검색엔진에서 빨리 잘 찾아서 원하는 정보를 습득하는사람
좋은 자료를 찾더라도, 자료 내용이 이해가 가지 않거나 궁금한 점이 생기면 도
움이 될만한 또 다른 자료를 찾아서 계속 헤메이다 시간을 많이 씀
효율성 중간
31
더효율적으로공부하자
AI 시대
자신이 하고자하는 목표를 설정하고, 해당 목표에 도달하기 위해 질문을 계속 하
면 된다.
효율성 높음
32
더효율적으로공부하자
AI 시대
개발 공부를 할때 좋은 질문 패턴
새로운 키워드나 모르는 개념이 나오면 계속 꼬리에 꼬리를 물고 질문하자
예시를 들어달라고 요청
자신이 이미 알고있는 비슷한 것과 비교를 요청
장단점을 말해달라고 요청
해당 기술을 사용하는 best practice 를 알려달라고 요청
33
목표: API 서버에인증기
능을도입하고싶은데어떻
게만들면좋을까?
API Keys
Basic Auth
OAuth
JWT
34
Q: JWT가뭔지자세히설
명해주고, 장단점도알려줘
JWT 가 어떻게 동작하는지 설명
장단점도 알 수 있음
35
Q: JWT로인증기능을구
현하기위한best
practice는뭐야?
인증 과정을 어떻게 구현하면 될
지 Step by Step으로 설명해줌
36
Q: JWT로인증기능을구
현하기위한best
practice는뭐야?
그외 고려해야할 중요한 포인트
들에 대해 하나씩 찝어줌
Refresh Token 이 왜 필요할
까?
프로세스 무한 반복
37
더빠르게일하자
기존에사람만이할수있던일을AI의도움을받아서더빠르게
할수있음
명확하고 간단한 요구사항을 가진 코드는 AI에게 맡기자
예) 자동화를위한 쉘 스크립트 작성
예) SQL 쿼리 작성
38
더빠르게일하자
비정형데이터추출/변환
AI시대 이전 자동화의 범위
정형화된 데이터(예: JSON, CSV) 만 다룰 수 있음
코딩으로 해결 가능한 문제
39
더빠르게일하자
비정형데이터추출/변환
AI시대 이후 자동화의 범위 확장
정형화 되지 않은 데이터에서 정형화된 데이터를 뽑아낼 수 있음
코딩으로 해결하기 힘든 문제까지 해결할 수 있음
ex) 리뷰 내용이 긍정적인지 부정적인지 평가 등
40
더빠르게일하자
항상더좋은개발도구를사용하자
추천 도구:
https://www.letmecompile.com/ma
c-app-recommendation-for-
developer/
41
더많이경험하자
사이드 프로젝트
만들고 싶은게 있다면 사이드 프로젝트를 해보자!
만들고 싶은게 있어야 질문이 생긴다
내 주변에 불편한 문제를 해결하는 것 부터 시작
AI가 없었던 시절에 개발 경험이 없을때는 어디서 부터 어떻게 만들어야할지 막
막
뭘 모르는지 모르는 상태
42
AI의도움을받아더좋은개발자가되어보자!
1. 더효율적으로공부하자
2. 더빠르게일하자
3. 더많이경험하자
-> 요약: AI를어떻게하면더괴롭혀서더많은것을얻어낼수
있는지고민!
43
LLM을더잘사용
하는방법
OpenAI ChatGPT4
GitHub Copilot
영어에 익숙해지자
44
LLM을더잘사용
하는방법Tip
hallucination(환각) 현상 주의
100% 신뢰해서는 안되고 항
상 의심을 해야한다
세종대왕 맥북프로 던짐 사건
45
LLM을더잘사용하는방법Tip
간단한prompt engineering 개념알아두기
목표: 대량의 사용자 리뷰를 긍정/부정으로 분류하기
1. zero-shot
예시 없이 바로 작업을 시키기
예) 사용자 리뷰가 긍정적인지 부정적인지 분류해줘
46
LLM을더잘사용하는방법Tip
간단한prompt engineering 개념알아두기
2. few-shot
작업과 내용과 함께 몇가지의 input/output 예시를 제공하기
예) 사용자 리뷰가 긍정적인지 부정적인지 분류해줘
음식이 너무 맛있고 분위기도 좋았어요 → 긍정
다시 안올거같아요 → 부정
음식 맛도 평범하고 가격대비 양이 적네요 → 부정
47
LLM을더잘사용하는방법Tip
간단한prompt engineering 개념알아두기
3. Chain of Thought
“가격도 괜찮고 음식도 맛있지만 분위기가 평범합니다 재방문 의사는 없어
요” → 긍정인 부정인지 기준이 모호
작업 내용과 함께 해당 질문을 해결하기 위한 자세한 접근 과정도 같이 제공
예) 사용자 리뷰가 긍정적인지 부정적인지 분류해줘
가격, 음식, 분위기에 대한 긍정/부정 평가를 각각 진행해줘
그 후 가격, 음식, 분위기에 대한 평가 중 2개 이상이 긍정적이라면 긍정으
로 분류해줘 48
결론
- AI가너무나도빠른속도로발전하고있지만, 아직은개발자를
완전히대체할정도는아님
- 하지만어떤개발자들은대체될수있음
- AI를최대한이용해서더좋은개발자가되자
더 효율적으로 공부하자
더 빠르게 일하자
더 많이 경험하자
49
결론
- AI에의해대체당하는개발자를상상하기보다는, 지금당장
AI를이용해서기존에해결하지못했던문제를찾아서해결하려
고노력한다면더좋은기회가찾아올것!
50
마지막한마디:
주변에천재개발자들을보고좌절하지말자.
꾸준하기만해도개발자로성공할수있다.
51
Thank you!
52

More Related Content

Similar to AI시대, 개발자로서 살아가는 법 - AI를 이용해서 더 좋은 개발자로 성장하기

미국 IT기업 일하는 방식 및 미국진출 전략
미국 IT기업 일하는 방식 및 미국진출 전략미국 IT기업 일하는 방식 및 미국진출 전략
미국 IT기업 일하는 방식 및 미국진출 전략Jinhee Lee
 
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화Terry Cho
 
예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기수보 김
 
진화하는 소셜 큐레이션 서비스와 관련 기술
진화하는 소셜 큐레이션 서비스와 관련 기술진화하는 소셜 큐레이션 서비스와 관련 기술
진화하는 소셜 큐레이션 서비스와 관련 기술Taegon Kim
 
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로Sungwoo Park
 
호갱노노 이렇게 만듭니다
호갱노노 이렇게 만듭니다호갱노노 이렇게 만듭니다
호갱노노 이렇게 만듭니다Ohgyun Ahn
 
현장에서 사용하는 Software production
현장에서 사용하는 Software production현장에서 사용하는 Software production
현장에서 사용하는 Software productionJinho Yoo
 
어쩌다로봇
어쩌다로봇어쩌다로봇
어쩌다로봇민건 주
 
MongoDB in Banksalad [Rainist]
MongoDB in Banksalad [Rainist]MongoDB in Banksalad [Rainist]
MongoDB in Banksalad [Rainist]MongoDB
 
[1216 박민근] 게임회사취업및이직에관한조언
[1216 박민근] 게임회사취업및이직에관한조언[1216 박민근] 게임회사취업및이직에관한조언
[1216 박민근] 게임회사취업및이직에관한조언MinGeun Park
 
[우리가 데이터를 쓰는 법] 스타트업이 데이터를 활용해야 하는 10가지 이유 - Gonnector(고넥터) 고영혁 대표
[우리가 데이터를 쓰는 법] 스타트업이 데이터를 활용해야 하는 10가지 이유 - Gonnector(고넥터) 고영혁 대표[우리가 데이터를 쓰는 법] 스타트업이 데이터를 활용해야 하는 10가지 이유 - Gonnector(고넥터) 고영혁 대표
[우리가 데이터를 쓰는 법] 스타트업이 데이터를 활용해야 하는 10가지 이유 - Gonnector(고넥터) 고영혁 대표Dylan Ko
 
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기Hyunjung Kim
 
Getting Real Overview(한글)
Getting Real Overview(한글)Getting Real Overview(한글)
Getting Real Overview(한글)parkchanwook
 
Pivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinonePivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinoneVMware Tanzu Korea
 
Learning dataanalyst 2020oct_yonsei
Learning dataanalyst 2020oct_yonseiLearning dataanalyst 2020oct_yonsei
Learning dataanalyst 2020oct_yonseiIsabel Myeongju Han
 
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)Eunchan Lee
 
임태현, 프로그래머 생존 가이드
임태현, 프로그래머 생존 가이드임태현, 프로그래머 생존 가이드
임태현, 프로그래머 생존 가이드태현 임
 
로켓 스타트업 CTO들의 대화: Omnious의 개발 문화
로켓 스타트업 CTO들의 대화: Omnious의 개발 문화로켓 스타트업 CTO들의 대화: Omnious의 개발 문화
로켓 스타트업 CTO들의 대화: Omnious의 개발 문화Jun-Cheol Park
 

Similar to AI시대, 개발자로서 살아가는 법 - AI를 이용해서 더 좋은 개발자로 성장하기 (20)

미국 IT기업 일하는 방식 및 미국진출 전략
미국 IT기업 일하는 방식 및 미국진출 전략미국 IT기업 일하는 방식 및 미국진출 전략
미국 IT기업 일하는 방식 및 미국진출 전략
 
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
 
예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기
 
진화하는 소셜 큐레이션 서비스와 관련 기술
진화하는 소셜 큐레이션 서비스와 관련 기술진화하는 소셜 큐레이션 서비스와 관련 기술
진화하는 소셜 큐레이션 서비스와 관련 기술
 
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
 
호갱노노 이렇게 만듭니다
호갱노노 이렇게 만듭니다호갱노노 이렇게 만듭니다
호갱노노 이렇게 만듭니다
 
현장에서 사용하는 Software production
현장에서 사용하는 Software production현장에서 사용하는 Software production
현장에서 사용하는 Software production
 
어쩌다로봇
어쩌다로봇어쩌다로봇
어쩌다로봇
 
MongoDB in Banksalad [Rainist]
MongoDB in Banksalad [Rainist]MongoDB in Banksalad [Rainist]
MongoDB in Banksalad [Rainist]
 
[1216 박민근] 게임회사취업및이직에관한조언
[1216 박민근] 게임회사취업및이직에관한조언[1216 박민근] 게임회사취업및이직에관한조언
[1216 박민근] 게임회사취업및이직에관한조언
 
[우리가 데이터를 쓰는 법] 스타트업이 데이터를 활용해야 하는 10가지 이유 - Gonnector(고넥터) 고영혁 대표
[우리가 데이터를 쓰는 법] 스타트업이 데이터를 활용해야 하는 10가지 이유 - Gonnector(고넥터) 고영혁 대표[우리가 데이터를 쓰는 법] 스타트업이 데이터를 활용해야 하는 10가지 이유 - Gonnector(고넥터) 고영혁 대표
[우리가 데이터를 쓰는 법] 스타트업이 데이터를 활용해야 하는 10가지 이유 - Gonnector(고넥터) 고영혁 대표
 
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
 
Getting Real Overview(한글)
Getting Real Overview(한글)Getting Real Overview(한글)
Getting Real Overview(한글)
 
User stories
User storiesUser stories
User stories
 
Pivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinonePivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - Coinone
 
Learning dataanalyst 2020oct_yonsei
Learning dataanalyst 2020oct_yonseiLearning dataanalyst 2020oct_yonsei
Learning dataanalyst 2020oct_yonsei
 
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)
 
임태현, 프로그래머 생존 가이드
임태현, 프로그래머 생존 가이드임태현, 프로그래머 생존 가이드
임태현, 프로그래머 생존 가이드
 
로켓 스타트업 CTO들의 대화: Omnious의 개발 문화
로켓 스타트업 CTO들의 대화: Omnious의 개발 문화로켓 스타트업 CTO들의 대화: Omnious의 개발 문화
로켓 스타트업 CTO들의 대화: Omnious의 개발 문화
 
애자일의 모든것
애자일의 모든것애자일의 모든것
애자일의 모든것
 

AI시대, 개발자로서 살아가는 법 - AI를 이용해서 더 좋은 개발자로 성장하기