하늘높이의 프로그래밍 이야기

알파고 이후의 딥러닝의 시대가 되었다.
부모들에게도 약간 쇼킹한 사건이었는지 아이들에게 소위 말하는 코딩교육을 한다고 한다.

그런데 어떤 전단지를 보면 자바가 써 있기도 하고 어디에는 C언어가 써 있다더라. 헉
개발을 잘 모르는 사람은 코딩이 인기라더라며 웹 코딩/퍼블리셔 직군에게 이게 코딩 아니냐며 코딩 교육을 할생각이 없냐는 이야기도 한다.

물론 Java, C, HTML 좋다. 그들의 원리를 조금 배워보는것 역시 좋다. 하지만 그들의 철학과 원리를 이해하기는 15년이 된 개발자도 어렵다.
(나만 그런가?)

그리하여 나의 생각은 아이들이 배울 것은 그것이 아닌데...
아이들이 당장 자바나 HTML 코딩을 배우면 뭐하겠는가... 나 역시 초3에 컴퓨터가 생기고 4학년때부터 뜯기 시작하고 6학년때 GW베이직을 처음 익히고 이 바닥으로 들어왔지만 사실 중요한것은 그것이 아니었다.

개발자가 된 것을 후회하는 것은 아니지만 컴퓨터에 빠져서 다른 기초학문이나 사상을 혹은 수학을 더더더더더 많이 익히지 못했던것을 후회한다.

또한 개발의 언어 외에도 업무의 언어를 더 많이 있히지 못함이 미안하다.

소위 딥러닝의 시대가 되면 더 그럴지 않을까.

현재도 3.5세대나 4세대 IDE툴 즉 개발환경을 제공해주는 툴 들, 예를들면 비주얼스튜디오나 이클립스등의 툴은 나름의 인텔리전스 기능을 가지고 있다. 코드 몇자를 치면 이 코드 쓰려는 거구나. 다 입력해줄테니 여기서 바꿔봐... 그리고 조금더 쉽게 쓸수 일는 프레임워크나 언어는 계속 나온다.

딥러닝 시대가 되면...이것이 더 발전할텐데...
ide가 (이제는 문법이 아니고) 너가 이 알고리즘을 쓰려는 거구나... 이렇게 짜보는 것이 어때?
너가 짠 코드는 이런 부분이 비 효율적이야. 내가 바꿔도 될까?

현재의 DB처럼 넌 맘데로 니멋대로 짜
코스트 기반의 옵티마이저가 분석해서 똑같은 결과 코드로 대체 할 것이다. 너가 짜려고 하는 코드는 스택오버플로우에 이미 있는거란다. 이것대로 해볼렴!! [사실 지금도 컴파일러가 비슷하게 하고 있지만... ]

정말 아쉽지만 결국 코드를 잘 짜는 개발자와 못 짜는 개발자의 차이가 적어진다. 즉 경력자와 초보자의 코드가 별 차이가 없어진다. 정말 잘짜고 효율적인 그리고 수학적인 개발자는 엔진 개발자, 코어 개발자등 한정 분야에만 존재 할 것이다.

그렇다면 나는 어떤 능력을 늘려야 하고 아이들에게는 무엇을 알려줘야 할까?

개발의 언어인가 사고의 능력인가.





저작자 표시 비영리 변경 금지
신고

COMMENT :0


얼마전에 아이들을 재우고 밤에 넷플릭스에서 영화 잡스를 보았다. 내가 좋아하는 철학의 애플 그리고 스티브잡스의 일대기

사실 이미 많은 부분이 알려져 있고 실존했던 인물의 긴 스토리를 짧게 영화로 보여주려고 하여.... 다른 영화들에 비해 영화의 스토리라인은 생략이 너무 많아 영화 구성 자체는 개인적으로는 조금 별로 였으나...

여러가지 생각이 들어 몆가지 적어 놓아야 할것 같아 기록을 한다.


스티브 잡스는 "천재인 것은 맞지만. 내 주변 저런 성격의 사람이 있지는 않았으면 좋겠다" 라고 생각이 드는 인물 중 하나였다.

이유는

- 출생의 문제로 세상에 대한 원망은 많고 자존감은 너무 높은 절대 갑
- 다른 직원/동료 들과 소통을 하지 못하는 독불 장군
- 뭐도 없으면서 허세만 부리는 전형적인 사기꾼
- 일에 빠져 가족이나 동료를 보지 못하는 일 중독자

주변 사람들로는 참 싫어하는 요소들이며 위에 것들만 보면 전형적인 한국 기업/한국 정치의 사람인데 라는 생각도 들었으나...

그에게는 성공을 할 수 있는 절대적으로 부러운 점 세가지가 있었다.

- 메인프레임 시대에 개인적으로 세계 최소 형 컴퓨터를 만들 수 있는 천재 스티브 워즈니악이 친구로 있었고 그를 동료로 만들수 있었다.

- (애플이) "세상을 바꿀 수 있다"는 사명감을 머리에 두고 그것을 기초로 결정하고 행동하고 있었다.(설령 그 행동이 잘못되고 너무 극한의 방향이라 인간적이지는 않았디만 그의 행동은 결정 자체가 달랐다.)

- 마지막 아름다움에 대한 디테일
(동료와는 소통하지 못했지만 소비자의 니즈는 정확히 파악하고 아름답게 만들었다.)

즉 사람과 비전 그리고 완성도

나는 매 순간 어떤 생각을 가지고 코드를 짜고 계획을 하며 그것을 동료들에게 전파 하고 있는 것일까?

앞으로 나는 어떤 기준을 머릿속에 넣고 생활하고 판단하여 전파해야 할까?

진지하게 나에게 물어봐야 할듯 싶다.

Hello world가 아닌 Change the world 할 수 있을까?


[몇년전 쿠퍼티노에서 찍은 사진을 추억하며...]








저작자 표시 비영리 변경 금지
신고

COMMENT :0

티맥스 OS 발표 행사를 보고 핑을 남긴....

원문링크 : 똑똑한 개발자들을 바보로 만드는 방법


글을 보고 혼자 드는 생각은
티맥스의 문제 만으로 보기는 어렵다.
회사의 윗선 들도 철학, 환경, 배경 등 저렇게 하는 이유가 있겠지....


그리고 나 역시 나이가 들어가는 개발자라서 업계의 이런 문제가 점점 고민스럽다.


- 관리인가? 개발인가?
- 모든것을 다 컨트롤 해야하는가? 외주에게 맡겨도 되는가?
- 빠른 개발 속도가 우선인가? 돌다리 모두 두드려 보는 안정성인가?
- 실험인가? 익숙함인가?
(계속된 실험을 하는 페이스북 역시 꾸준한 버그도 보여 준다.)
- 중앙 관리 체계인가? 지방 자치 체제인가?
- 성장인가? 분배인가?
- 방패를 부쉴 창인가? 창을 막을 방패인가?



Thinkin' about the code

저작자 표시 비영리 변경 금지
신고

COMMENT :0

Software-development

과거 하드웨어 반도체의 축이던 인텔
그리고 2년 아니 18개월 마다 반도체의 집적도는 전에 비해 2배가 된다는 무어의 법칙

무어의 법칙의 세 가지 조건은 다음과 같다.
출처: 위키피디아

  1. 반도체 메모리칩의 성능 즉, 메모리의 용량이나 CPU의 속도가 18개월에서 24개월마다 2배씩 향상된다는 '기술 개발 속도에 관한 법칙'이다.
  2. 컴퓨팅 성능은 18개월마다 2배씩 향상된다.
  3. 컴퓨팅 가격은 18개월마다 반으로 떨어진다.


어느덧 무어의 법칙은 하드웨어 세상에만 존재하는 법칙이 아닌 비트의 세상, 즉 소프트웨어 세상에도 존재하는듯 하다.

소프트웨어의 세상 역시 제곱, 즉 기하급수적으로 팽창하고 있다.

자고 일어나면 새로운 오픈소스, 개념, 철학
AI, 딥러닝, 클라우드, 아마존, 페이스북, 구글, 마이크로소프트 업체들마다 다들 새로운 계획과 구성을 필요로 한다.

어느 정도 완성되어 마지막 부분만 학습하여도 구현 되는 부분이 있긴하나 제대로 알고 발전시키며 남들에 비해 우위에 있으려면 기초 학습인 수학이나 통계 역시 알아야 좋다.(어느 정도 능력도 요함) 게다가 사상의 패러다임의 변화까지 변화를 주어 신 개념 혹은 철학까지 필요로 한다.

나 혼자 아무리 똑똑하려 해봐야 양적으로 할 수 없는 시기가 도래 하였다.
(모두 이해하려면 아이언맨이나 베트맨 정도 되어야지 나같은 일반인은 잘 모르겠다.)

사람들과 더 함께 일하고 그들은 발전 시키고 함께 성장하는 방법을 찾아야 한다. 그렇게 하면 변화의 양을 감당할 수 있을까?


저작자 표시 비영리 변경 금지
신고

COMMENT :0

어렸을 때는 윈도우나 리눅스가 새로 나오면 베타테스트 때부터 설치해보고 그랬었는데...
윈도우, 리눅스 등 OS 설치만 해도 몇 천번은 되지 않을까? 리눅스 하루에 열댓개씩 나눠깔던 시기도 있었으니까...

이제는 플랫폼도 다양해지고....
나이도 먹고 생활에 시간도 없다보니...

이제서야 겨우 윈도우 10을 깔았다.
열정이 식었나? 나이가 들었나?
가정이 생겨서? 관리하는게 너무 많아서?
뭐 이런 저런 이유가 있겠지...

이것도 최근에 하고자 하는것이 이슈가 있어서 겨우 설치...

재미있는 경험 아이디어가 나왔으면 좋겠는데
생각하다 보면 몸은 하나고...
모든것을 다 할수는 없고

지금은
남 혹은 서로를 믿고 이용하고 그들에게 맡기는 법 부터 배워야 한다.

저작자 표시 비영리 변경 금지
신고

COMMENT :0

롤 모델[Role model]: 자기가 마땅히 해야 할 직책이나 임무 따위의 본보기가 되는 대상이나 모범.

롤 모델의 변화.

사람이라면 누구나 하고 싶은 일과 하기 싫은 일이 있을 것이다.  하고 싶은 일들의 모여 꿈이라는 것이 되고 또 그것들이 변화돼 삶의 목적, 목표가 될 것이다. 그럼 생각해보자. 나는 하고 싶은 것이 무엇일까?

나의 어렸을 때 장래 희망은 단순한 프로그래머였는데..... 프로그래머라는 직업으로 7년 동안 살아온 현재의 나의 꿈은 무엇인가? 그리고 앞으로 내가 해야 할 것, 나의 꿈은 무엇인가? 라는 생각을 해보게 된다.

후회는 아니지만 만약에 내가 .....뭐 뭐를 했다면.... 이라고 생각해보자.
만약에 내가 어렸을 때 컴퓨터를 접하지 않았다면?
만약에 내가 졸업을 하고 프로그래머의 길로 들어 서지 않았다면?
만약에 내가 다른 분야의 일을 했다면?

지금의 나는 어디서 무엇을 하고 있었을까?

요즘에 나는... 나 나름 대로 굉장히 중대한 결정을 내리고 있다.
그렇다면 이 결정을 내리는데 있어서 가장 중요한 원인은 무엇일까?

가장 큰 원인은 나의 롤 모델이 변화하고 있는 것 같다.


세상이 나에게 묻고 있다. 당신의 꿈은 무엇이냐? 당신은 누구처럼 되고 싶으냐?

만약 7년 전 아니 2년 전까지만 해도 누군가 나에게 그 질문을 한다면....

나는 이렇게 대답했을 것이다. "은퇴할 나이가 들어서도 코딩이 주 직업인 아름다운 프로그래머...."

지금은 아닌 것 같다. 그럼 무엇이라고 대답할 것인가? 그것은 아직 찾고 있다. 나만의 롤 모델을..

아마 현재 생각하고 있는 단어는.... "행복한  아키텍쳐 그리고 컨설턴트"

   

어느 것이 정답인지는 계속 살아보면 알겠지.
오늘도 이렇게 고민하며 또 잠이 든다.

신고

COMMENT :0

최근에 누군가 나에게 물었다...

개발자로서의 당신의 원칙은 무엇인가?
대답할 수가 없었다. 혹은 말도 안되는 말을 하며 둘러대었던것 같다.

"개발자로서의 나의 원칙은 무엇인가?"
생각을 많이 하게 하는 질문이다. 하지만 쉽게 답변할 수도 없는 질문인것 같다.

개발자로서의 6년째....
어렸을때부터 꿈꿔온 프로그래머....

하지만 나의 개발 원칙은 무엇인가?라는 질문에 나는 당황할 수 밖에 없었다.
그렇다면 지금까지 내가 개발 한것은 원칙없이 개발한 것들 뿐이라는 것일까?
지금까지 내가 프로그램을 작성할때 생각한 원칙은 무엇일까?

한 단어로 집약되지 않는 모호한 잡념뿐이다.
당분간은 이 질문에 대한 답변을 찾아야겠다.
어쩌면 이것에 대한 답변을 얻는것이
앞으로 5년 혹은 10년간 나의 생활에 있어서 하나의 잣대가 될것이라고 생각한다.

찾아보고 고민해보자... 개발의 원칙...개발자의 원칙...
어렵다. 그 원칙을 찾아 이곳에 정리 할수 있는 날이 오겠지?


신고

COMMENT :0

티스토리 툴바