빅스비 세미나 - AI, 데이터 시대를 사는 SW 개발자를 위한 생존 가이드

코드위의승부사·2019년 12월 28일
0

프로그래밍의 변화

책을 통해서 개발을 배워나가는 예전의 시대(잔기술을 선배로 부터 직접 배움)
Jeff Atwood, Joel Spolsky 개발문화의 큰 영향을 준 두 사람
Stackoverflow - Gamification(ex. reddit, digg, blog, ebay)

Humans Need Not Apply(2014) by Jerry Kaplan

  • 인조지능과 인조노동자의 탄생
  • 관리와 통제의 상실, 부의 편중, 일자리 상실
  • 무용계급(useless class)의 출현
  • 직임대출, 공익지수, 기본소득
  • AI의 영향으로부터 개발자도 자유롭지 않음
  • 개발 환경의 변화 -> Programming 2.0

Software 2.0 by Andrej Karpathy

software 1.0 - 파이썬, 자바, C++ 같은 언어를 써서 명령어를 명시적으로 전달해주는 방식
software 2.0 - 뉴럴 네트워크의 웨이트 처럼 사람이 읽을 수 없는 숫자로 컴퓨터에게 할 일을 전해주는 방식
Software 2.0 공간의 확대(ex. 자율 주행, 교육, 채용, 주식, 헬스케어 등등)

Software 2.0 시대의 코딩
1. 풀고자 하는 목제와 목적을 설정(무엇을 예측, 분류, 추론할 것인가)
2. 컴퓨터가 탐색할 공간을 지정하는 코드의 얼개 작성(뉴럴넷 아키텍쳐)
3. 가능한 모든 자원을 동원해서 컴퓨터가 탐색을 수행하는 환경 제공

Software 1.0 개발자 vs Software 2.0 개발자
1.0 개발자
: 전통적인 코딩을 통해 Software 2.0 개발자가 작업하는 환경, 툴 , 분석, 시각화 인프라제공
2.0 개발자
: 데이터 정제, 레이블링, 전처리, 연계 통합, 관리, ML, DL 사용

Survival Guide

모든 것을 직접 경험하여 익히는 것은 불가능
DevOps나 Full stack 개발자는 모든 것을 경험한 사람이 아니라 어떤 일도 잘 할 것 같은 사람
하나의 경험을 통해 다른 일도 잘 할 수 있는 역량을 키워야
핵심은 일시적으로 유행하는 프레임워크나 API가 아닌
10년, 20년 유지되는 fundamental을 학습하는 것

Fundamental을 공부하라

  • 유행하는 프레임워크나 API의 수명은 길어야 3년(잔기술)

  • 객체지향, 함수형, TDD, 리팩토링, 패턴 등 원리와 패러다임은 10년이상

  • 문제 해결능력(원초적인 능력)

  • Clean Code, Code Complete, Programming Pearl, Design Patterns, The Mythical Manmonth 등 개발자들의 필독서는 습관과 태도에 대한 이야기

  • 문제 해결 능력을 키우는 것은 습관과 태도의 문제로 귀결

  • Fundamental을 공부하는 것 => 역시 바른 습관과 태도를 배양하는 것이 시작

올바른 습관과 올바른 태도

  • Fake it till you make it 일단 저지르자

  • Job vs Career 큰 그림을 보자

  • People skills 커뮤니케이션

  • Brand 자신만의 가치

  • How to quit 긍정적인 가치를 찾아서 이직, 부정적인 기분 때문에 이직은 좋지 않다

  • Technology is not a religion

  • Add value to others

  • Don't be afraid to look like an idiot

  • 환경이나 타인을 탓하지 않은 대범함

  • 실패에 좌절하지 않는 집요함

  • 흥분하지 않는 침착함

  • 자신을 사랑할 줄 아는 자존감

  • 긍정적인 밝은 에너지
    이러한 내면의 품성이 진짜 실력을 떠받드는 fundamental의 핵심 요소

멘토는 없다

정보에 대한 접근의 평준화 및 급변하는 기술 때문에 자기 경험을 도움이 되는 방식으로 후배에게 전수해줄 선배가 존재하지 않음
스스로 마음을 일으켜 공부하는것이 중요
정해진 길이 없으며 각자 가는 길이 모두 맞는 길
누구에게 배우는 것이 아니라 누구를 가르치는 게 더 좋은 공부

  • 공부는 혼자하는 것보다 여러 사람이 함께 하는것이 좋다
  • 자기가 공부하려는 내용과 회사의 일과 일치시키는 것이 가장 효과적

중요한 것은 물 분자의 회전이 아니라 팝콘을 튀기는 것이다 - Cassie Kozyrkov
전자레인지로 음식을 데울 수 있으며 충분하며 전자레인지를 사용하기 위해 전자공학을 공부할 필요는 없다
왜 사람들은 머신러닝에 대해 처음부터 만드는 법을 공부하는 것일까?
머신러닝 알고리즘을 개발하는 것과 활용하는 것은 다르다.
합리적인 테스트 방법이 있다면 머신러닝을 블랙박스처럼 다뤄도 좋다.

프로그래밍의 본질은

프로그래밍의 본질은 새로운 언어를 배우는 것 일까?
AI/데이터 시대를 맞이하여 선형대수, 통계, 미적분학을 처음부터 공부해야 할까

  • 프로그래밍의 본질은 문제를 해결하는 것, 팝콘을 튀기는 것
  • 공부부터 하고 해결할 문제를 찾는게 아니라, 문제를 해결하기 위해 필요한 공부를 하는 것이 진짜
  • 문제를 해결하는 경험을 쌓기 위해 좋은 커뮤니티를 찾고, 좋은 프로젝트를 수행하고, 좋은 회사를 다니는게 중요
  • 여기서 좋다는 것은 성장의 기회를 준다는 의미

Reference

profile
함께 성장하는 개발자가 되고 싶습니다.

0개의 댓글