7. 디지털노마드가되기까지..
2014년 - 신입사원으로 LINE에 입사, iOS -> 서버 개발
2017년 - 사내커플로 개발자 아내와 결혼
2019년
스퀘어랩으로 이직, 항공/호텔 예약 서비스인 ‘카이트’ 를 개발
디지털 노마드 시작!
풀타임 리모트 워크
인터뷰: https://squarelab.co/blog/interview-youngjae/
2019년 말, 태국 치앙마이로 !!
7
8. 치앙마이그리고코로나..
중국이후 태국이 첫 감염자 발생 지역
한국도 곧이어 확진자 발생
문제인식
코로나 확진자 관련 보도자료가 모바일
에서 보기 너무 힘들다
-> 매일 매일 누적되는 데이터를 대시보
드 처럼 보여주면 어떨까?
8
16. 예시) 포인트적립/사용시스템을만들어줘
각 적립항목은 각각의 유효기간이 존재해야함
유효기간이 만료된 포인트는 사용 불가
정해진 시점에 사용가능한 포인트를 조회하여 보여줄 수 있어야함
적립했던 포인트를 다시 적립 취소할 수 있어야함
사용했던 포인트를 다시 사용 취소 할 수 있어야함
모든 트랜잭션은 원자성이 보장되어야 해야함
어뷰징 또는 네트워크 오류등으로 인한 재시도로 중복 적립, 중복 사용, 중복 취
소를 막을 수 있어야함
16
17. 예시) 포인트적립/사용시스템을만들어줘
포인트 적립/사용 내역에는 모든 적립, 사용, 적립취소, 사용취소 내역이 각 트랜
잭션별로 시간순서로 정렬되어 표시되어야함
회계 장부 관리를 위해 월별 포인트 적립 총액, 사용 총액, 만료 총액을 알 수 있
어야 함
...
17
18. 예시) 포인트적립/사용시스템을만들어줘
포인트 적립/사용 내역에는 모든 적립, 사용, 적립취소, 사용취소 내역이 각 트랜
잭션별로 시간순서로 정렬되어 표시되어야함
회계 장부 관리를 위해 월별 포인트 적립 총액, 사용 총액, 만료 총액을 알 수 있
어야 함
...
-> 아직까지는이런세세하고복잡한작업을AI를통해처리하
는것이쉽지않음
18
24. 1. 코드를잘작성하는사람
최소 하나의 개발 언어에 대한 깊은 이해
많은 언어들이 해당 언어들만의 몇몇 특수한 기능을 제외한다면 대부분 비슷한
기능을 제공
주어진 요구 사항을 코드로 얼마나 명료하게 표현 할 수 있는가?
24
25. 2. 트러블슈팅을잘하는사람
단순 코드 뿐만아니라 코드를 제외한 개발 환경에 대한 이해도가 높은 사람
CPU, Memory, Storage, GPU, ...
OS, Network, ...
호기심, 끈기, 많은 경험이 필요한 능력
예) 특정 서버 어플리케이션이 랜덤하게 종료되는데 어디가 문제인지 어떻게 찾
아낼까?
25
26. 3. 목표를명확히인지하는사람
모호하게 요구 사항이 주어졌을 때 이것을 명확한 언어로 바꿀 수 있는 사람
개발 과정에서 발생할 수 있는 다양한 엣지 케이스들을 잘 찾아내는 사람
사용자 관점에서 봤을때 불편할 수 있는 부분을 캐치해서 더 좋은 방식을 제안할
수 있는 사람
예) 소셜 로그인 기능을 만들어 주세요
하나의 사용자 계정에 동시에 네이버, 카카오 등의 여러 소셜 로그인 연동이
가능한지?
26
27. 4. 요구사항을더효율적으로해결하는사람
단순히 기능이 동작하는 것을 넘어서서, 더 효율적인 컴퓨팅 자원 사용으로 비용
을 절감
예시)
해결하려는 문제에 적절한 데이터 구조나 알고리즘을 사용하여 컴퓨팅 자원
을 절감
DB 쿼리 튜닝을 잘하고 캐시를 적절히 사용하면 더 작은 사양의 DB 서버로
더 많은 요청을 처리
27
28. 좋은개발자란?
1. 코드를 잘 작성하는 사람
2. 트러블 슈팅을 잘하는 사람
3. 목표를 명확히 인지하는 사람
4. 요구사항을 더 효율적으로 해결하는 사람
-> 제한된시간안에주어진요구사항을더빠르고정확하게효
율적으로만들수있는개발자
28
31. 더효율적으로공부하자
검색엔진시대
더 좋은 자료를 검색엔진에서 빨리 잘 찾아서 원하는 정보를 습득하는사람
좋은 자료를 찾더라도, 자료 내용이 이해가 가지 않거나 궁금한 점이 생기면 도
움이 될만한 또 다른 자료를 찾아서 계속 헤메이다 시간을 많이 씀
효율성 중간
31
33. 더효율적으로공부하자
AI 시대
개발 공부를 할때 좋은 질문 패턴
새로운 키워드나 모르는 개념이 나오면 계속 꼬리에 꼬리를 물고 질문하자
예시를 들어달라고 요청
자신이 이미 알고있는 비슷한 것과 비교를 요청
장단점을 말해달라고 요청
해당 기술을 사용하는 best practice 를 알려달라고 요청
33
42. 더많이경험하자
사이드 프로젝트
만들고 싶은게 있다면 사이드 프로젝트를 해보자!
만들고 싶은게 있어야 질문이 생긴다
내 주변에 불편한 문제를 해결하는 것 부터 시작
AI가 없었던 시절에 개발 경험이 없을때는 어디서 부터 어떻게 만들어야할지 막
막
뭘 모르는지 모르는 상태
42
47. LLM을더잘사용하는방법Tip
간단한prompt engineering 개념알아두기
2. few-shot
작업과 내용과 함께 몇가지의 input/output 예시를 제공하기
예) 사용자 리뷰가 긍정적인지 부정적인지 분류해줘
음식이 너무 맛있고 분위기도 좋았어요 → 긍정
다시 안올거같아요 → 부정
음식 맛도 평범하고 가격대비 양이 적네요 → 부정
47
48. LLM을더잘사용하는방법Tip
간단한prompt engineering 개념알아두기
3. Chain of Thought
“가격도 괜찮고 음식도 맛있지만 분위기가 평범합니다 재방문 의사는 없어
요” → 긍정인 부정인지 기준이 모호
작업 내용과 함께 해당 질문을 해결하기 위한 자세한 접근 과정도 같이 제공
예) 사용자 리뷰가 긍정적인지 부정적인지 분류해줘
가격, 음식, 분위기에 대한 긍정/부정 평가를 각각 진행해줘
그 후 가격, 음식, 분위기에 대한 평가 중 2개 이상이 긍정적이라면 긍정으
로 분류해줘 48