Google Study Jam은 Google Cloud를 경험하기 위해 하는 것이다!
그런 측면에서 매우 좋은 프로그램이다!
그리고 나는 길을 잘못들었다
글을 잔뜩 썻는데, 그 후 내가 크나큰 오해를 가지고 있었다는걸 깨닫고 나의 멍청함을 한탄했다. 어쨋든 이건 최근에 있었던 일에 대한 이야기, 그리고 아무 준비도 없이 급하게 행동한 것에 대한 반성의 기록이다.
이 시점에서 나의 경력은 거의 개발 반, 교육 반이다. 올해가 지나가면 교육이 개발을 앞서기 시작할 것이다. 그것 때문에 여러가지 고민이 생겨서 전래없이 대외활동에 신경쓰기 시작했다. 파워 I의 입장에서는 외부인과 소통하는거 자체가 스트레스다 보니, 일거리만 있다면 굳이 나서서 뭔갈 하지 않는 성격이라 뭐 행사나 커뮤니티 같은건 나서서 하는 경우가 거의 없었다.
그 중 하나는 얼마 전, 9월 13일에 시작한 Google Study Jam이었다. 부끄럽게도 AI 회사 출신이면서도 AI 기술 그 자체에는 큰 관심이 없었던지라, 몇가지 용어들을 제외하면 실제 AI를 다뤄볼 기회가 전혀 없었다. 이는 아무래도 커리어의 큰 오점이다 보니, 여러가지 AI 기술을, 그것도 세계적인 빅테크 Google에서 운영하는 이 프로그램은 정말 매력적으로 다가왔다.
무엇보다 Google Cloud에서 실제로 사용되는 기능들을 이용해 공부를 할 수 있다? 여러 기술에 능통한 사람이라도 한번쯤 해보고 싶을 것이다. 일단 무료에, 구글 SWAG도 주는데! 그게 목적은 아니겠지
Study Jam의 종료일은 10월 13일이고, 보면 알겠지만 현제 2주 조금 넘는 시간이 지났다. 딸랑방구, 지방 방문 등의 스케쥴을 완전히 잊어버린 채, 아무 생각없이 추석 전에 시작하는걸로 신청했다가 정말 참여율이 저조해져 버렸다. 그래서 약간의 죄책감도 느끼며, 딸이 잠든 10시 이후, 다음날 일들을 정리한 뒤 적어도 두시간은 열심히 참여하려고 노력했다.
다만 결론적으론 이 프로그램이 매우 좋은, 도움이 많이 되는 프로그램이긴 하지만, 교육적인 측면에서는 내가 생각한 것과 사뭇 달랐다. 물론 이건 내가 정확히 읽고 시작하지 않은 탓이 제일 크지만. 어쨋든 여태까지 진행한 내용을 바탕으로 생각을 한번 정리해 보았다.
프로그램 대부분의 과정은 Google Clouds Skill Boost를 통해 진행한다. 공식 X 계정을 보면 Google Cloud Learning이라고도 부르고, Qwiklabs가 전신이라고 한다 (이름은 바뀌었는데, 오는 메일이나 설명은 여전히 Qwiklabs를 쓰기도 한다...). 여기서는 코스라는 단위로 강의를 전달하며, 각 코스는 여러 랩으로 구성되어 있다. 대략 아래와 같은 구조라고 보면 된다.
여기서 각 랩을 실행하게 되면 해당 랩을 진행하기 위한 Google 계정이 만들어지며, 그 계정을 이용하면 GCP의 서비스를 과금없이 사용할 수 있다. 코스에 해당하는 랩을 전부 진행하면 코스를 완수하는 것이 되며, 코스를 일정 갯수 완수하면 Study Jam을 수료한것이 된다! 즉 Study Jam의 진행은,
주의사항이 있다면, 랩을 진행하기 위한 계정도 그냥 평범한 Google 계정이다. 그래서 랩 진행을 위한 GCP 접속시 주의해야 한다. 실수하면 즉석 생성된 학생 계정으로 로그인 되는게 아니라, 내 계정으로 로그인이 되고, 이 경우 막을 세도 없이 과금이 된다(!!!). 기술적인 이슈라기보단 좋은 UX(손쉽게 여러 Google 계정들을 관리)가 특정 Use Case(다른 계정은 배제하고 하나만 쓰게 하는)에는 별로 좋지 못한 것이라 생각된다. 어쨋든 실제 Google (또는 IAM) 계정이고, GCP의 기능을 사용할 수 있으니, 비밀번호 없이 접속할 수 있으면 그 사이에 악성 사용자가 접근할 가능성을 생각해야 하니 어쩔 수 없는 선택이었을 것이다.
그래서 반드시 시크릿 창(Incognito)에서 접속하라고 권장하고 있다. 위 이미지는 그 안내문구.
GCP 콘솔을 여는 UI는 매우 직관적이며, 복잡한 자동생성 아이디도 자동으로 입력되어 있기 때문에 몇번 하면 금방 적응하게 된다. 그래서 다른 랩들을 진행하고자 하면 이 과정에서 소요 시간이 조금 줄어들지 않을까 생각된다. 다만, 랩 한번 당 계정 하나가 만들어지기 때문에, 한 시크릿 세션에서 오랫동안 여러 랩을 진행하면 여러 사용자 중 선택하는 익숙한 구글 로그인 화면을 보게 된다.
그리고 이는 결국 GCP의 자원을 사용하는 것이고, 이는 돈이다. 그래서 Lab을 실행하는데는 Credit이 소모된다. 1 Credit 당 대략 1달러 정도의 가치라고 한다. 그리고 Study Jam에 참여하면 200 Credit이 제공된다!!! 물론 이게 멀리 보면 AWS Free Tier, GCP Free Trial 처럼 이 클라우드 서비스에 묶어두기 위한 마케팅의 일환이긴 하지만, 어쨋든 컴퓨터 자원이 공짜는 아닌 만큼 정말 관대한 처사이다.
그래서 주어진 기간동안 지정된 Qwiklabs를 열심히 진행하면 끝에 수료하면서 SWAG를 제공해준다. 내 기준으로 12시 ~ 오전 2시 진행한다고 하면 코스 반개 정도....진행이 되는것 같다. 시간이 얼마 안남았는데 몇개 못해서 많이 걱정이다...만! 지금 진행한 코스가 두개이고, 여기서 느껴지는 부분들을 조금 작성해 보겠다.
제일먼저 눈에 들어오는건 결국 AI 관련 내용이다. 이름부터 Baseline, 기준선을 이름에 두고 있으니, AI 관련된 내용을 하고 싶다면 제일 먼저 접해야 될것같은 제목이었다. 하지만... 링크
Big data, machine learning, and artificial intelligence are today’s hot computing topics, but these fields are quite specialized and introductory material is hard to come by. Fortunately, Google Cloud provides user-friendly services in these areas, and with this introductory-level quest, so you can take your first steps with tools like Big Query, Cloud Speech API, and AI Platform.
이게 이 코스의 설명이다. 이걸 좀더 잘 이해했어야 되는데, 여기에는 애초에 AI에 대한 깊은 이해를 목적으로 한 코스가 아니라 AI를 사용할 수 있는 GCP의 기능들에 대한 코스였다. 큰 주제는 데이터, AI, 강화학습 순서로 진행하게 된다.
또한 AI의 경우 여러가지 랩 선택지 중 하나를 골라서 진행할 수 있는 코스였다. 위가 그 예시인데, 한 단계에서는 언어, 음성, 영상의 세가지 중 하나를 선택하면 코스를 진행한 것으로 취급해준다.
마지막에는 강화학습에 대한 내용이 있었다. 이 랩의 경우 대부분이 Jupyter Notebook을 이용해 진행되는데, 꽤나 길다. 그리고 어떻게 진행하느냐에 따라 의도데로 진행되지 않을 때도 있다. 강화학습의 본질 때문인가? 사실 이부분은 이해가 잘 안되기 때문에 정확히 설명하기 힘들것 같다......강화학습 뿐만 아니라 코스의 대부분의 랩이 단순한 따라치기로 구성되어 있었고, 이를 뒷받침하는 텍스트는 적거나 부실했다. 이게 이 글을 쓰겠다고 마음먹은 첫번째 이유다. 대략 이틀에 걸려서 이 코스를 끝낸 나에게는 아무것도 남아있지 않았다.
이건 코스 자체는 좀더 이해가 쉬웠는데, 기본적으로 AlloyDB라고 하는 Google Cloud의 데이터베이스 서비스이다. 현재 사실상 관계형 진영에서 대세(로 느껴지는)인 PostgreSQL 데이터베이스를 클러스터화 등의 기능을 덧붙여서 안정적이고 빠른 데이터베이스를 관리하는 서비스라고 볼 수 있겠다. 즉, 관계형 데이터베이스 서비스라는 아이디어를 머리에 담고 시작하기 때문에 좀더 접근이 쉬웠다. 링크
전반적인 과정이 클러스터 만들기, 다른 PostgreSQL 데이터베이스의 데이터를 AlloyDB로 이전하기, 관리하기, 성능 최적화 등의 내용이었기 때문에, 프런트든 백이든 적당히 웹 개발 공부를 해왔다면 진행하기 어려운 내용은 아니었다.
다만 이 코스는 검수가 제대로 안 되었다는 느낌을 많이 받았다. AlloyDB 클러스터를 만드는데 최소 7분 정도 걸려서 다음 과정까지 손가락 빨고 대기하는건 그렇다고 치더라도, 교육적인 측면에서 아쉬운 점이 많이 느껴졌다.
그 정도는......다른 글을 써보려고 생각하다가 이 글을 먼저 쓰게될 정도였다. 그게 이 글을 쓴 두번째 이유이다.
우선 이 코스 대부분의 랩이 Cloud Shell 설정부터 시작하게 된다. Cloud Shell은 GCP 전체의 인프라를 다룰 수 있게 해주는 CLI라고 생각하면 된다. 근데 이게 과정상 반드시 진행해야 하는 단계인지에 대한 어필이 전혀 안된다. 기본적으로 진행하는 내용은,
를 모든 랩에서 먼저 시작한다. 이건 Google Cloud Console에서 진행하는 랩은 전부 선행하는 듯 하다.
위는 실제로 확인할 수 있는 설명의 첫부분이다. 이걸 해야하는 이유에 대한 설명은 어디에도 찾아보기 힘들다. 실제 진행 중에서 등장은, 첫번째 랩에서는 AlloyDB 생성하는 방법 중 하나로 소개되며, 후반부 랩에서 Backup이 생성되었는지 확인하는 용도로 한번, 그 외에는 거의 사용되지 않는다. 물론 GCP의 대부분 기능을 사용할 수 있는 인터페이스인 만큼 사용할 수는 있겠지만, 그런 선택지에 대한 내용은 거의 소개되지 않는다.
목적이 무엇이었을까? 정상적으로 GCP에 접속했다? 잘못된 계정으로 접근하지 않았다? 이것도 이 글을 쓰다보니 떠오른 이야기지, 순서 상에 무엇을 확인하세요~ 라는 말 자체도 없다. 있으면 또 모르겠다. 그래도 해보고 정상적으로 접속했군! 이라고 생각이라도 할런지...아래 문구에 "Make sure it is the qwiklabs account, and not your personal account" 같은 내용이라도 있었으면 해보는 시늉이라도 하지...
넘어가려면 넘어갈 수도 있는 내용들이기도 한데, 불과 한달 반 전에 검수된 내용이라고 생각하면 조금 아쉬운 부분이다.
Create a cluster and instance인 만큼, 거의 가장 기초적인 부분임을 유추할 수 있다. 여기서는 햄버거 버튼을 이용해 Databases
>AlloyDB for PostgreSQL
을 찾으라고 하는데...
좀 긴 이미지인건 사과드린다. 근데 내용을 다 봐야해서......
우선 햄버거 메뉴에는 Databases
가 없다. 경험상 라이브로 강의할 경우 "없는데요?"라는 반응이 10명 중 2명 꼴로 등장하게 된다. 여기서는 VIEW ALL PRODUCTS
메뉴로 들어가서 직접 찾아야 된다.
그리고 찾는다고 그 이름으로 있지도 않다. 물론 이건 거의 딴지 수준이긴 하지만, 본인이 처음 진행할 때는 이게 맞겠지? 하면서 다음 단계들의 메뉴들과 비교했던 경험이 있다. 어떤 길의 초행자라면 명확한 랜드마크와 지시가 있어야 안심하고 따라갈 수 있는데, 이 설명은 메뉴를 찾아본 경험이 있는 사람에게 전하는 느낌이었다. 완전 초행이어도 안심하고 따라간 산티아고 순례길의 노란 화살표들이 생각나는 상황이다.
이런 자잘한 오류들이 한두가지가 아니었다. 누군가는 너무 예민한거 아니냐고 할지 모르겠지만, 라이브로 사람들에게 강의를 주로 하는 입장에서는 이런 미묘한 설명이 얼마나 많은 혼란을 야기하는지 경험을 자주 해봤기에 많이 아쉬웠다.
실제로는 헐씬 많은 오류들이 있었는데......너무 길어질듯 해서 제외한다. 이 글을 처음 시작한 뒤로 하나 더 했는데, 그쪽도 똑같다. 심지어 이쪽은 진행상황을 초기화하게 되는 오류라서, 오늘 오전 2시 반에 빡종해버렸다(...).
그 외에 "Read Pool" 같은 자체적인 용어를 "Replica Set"과 같은 일반적인 용어로 비유하지 않은것도 아쉬웠다.
랩을 진행하면 단계단계별로 잘 진행했는지 확인하는 절차가 있다. 내용을 전부 진행한 뒤 Check my progress
를 누르면 프로젝트의 상태(만든 파일, 데이터베이스 테이블 등)을 검증하는 방식으로 동작한다고 생각된다.
한번은 과정은 AlloyDB랑 연결된 PostgreSQL에 업데이트가 이뤄지면 AlloyDB에도 자동으로 데이터가 업데이트 되는 기능을 확인하는 과정이었다. 대부분의 과정은 문제 없이 흘러갔고, 데이터도 잘 전달되었다.
근데 위의 이미지를 보면 분명히 조회되어야 하는 데이터가 상적으로 조회 되는데도 불구하고, Please insert data in the source system.
메시지를 확인할 수 있다. 즉 실패했다는 의미이다. 이게 도대체 왜 이러나 했는데, 알고보니 과정중에 문제가 있어도 정상적으로 진행되는 있는 과정이 존재했었고, 나는 그 부분을 틀렸던 것이다.
그러니까 서버에 AlloyDB의 주소를 기록한 파일을 만드는 명령어를 실행하는 단계인데, 이때만 하더라도 FM으로 한다고 복붙하지 않고 일일히 타자를 쳐서 진행했다. 하지만 그렇게 만든 파일을 나머지 단계에선 전혀 사용하지 않았고, 목적인 데이터 마이그레이션은 정상적으로 이뤄졌다. 그래서 나도 그냥 잘 되었다 생각하고 나머지 단계를 진행했다.
그런데 알고보니 처음에 파일을 만들때 파일 이름에 오타가 있었던 것이다. 이것도 처음에는 이유를 알아내지 못했는데, 나중에 몇개의 랩을 진행하고 난 뒤에야 "혹시 파일이름이 문제가 아니었을까?" 하고 일부러 틀려서 재연한게 위의 이미지이다. 그리고 진짜 파일 이름 때문이었다!!! 심지어 재연했다 부분에서 추측할 수 있듯이, 이 부분이 코스의 모든 랩에 동일하게 걸쳐있는 과정이다!!!!!!
아마도 추측해 보자면, 서버안에 만들어진 텍스트 파일의 내용을 바탕으로 AlloyDB에 접근을 시도해야 하는데, 파일 이름이 바뀌어서 그 내용을 확인 못하고 접근에 실패하는 것이 아닐까? 원숭이도 나무에서 떨어지는데, 사람이 일일히 타이핑을 하다보면 오타 정도는 얼마든지 생길거라 생각하지 못했나? 아니면 당연히 명령어를 복사해서 진행할 것이라 기대한 것인가? 근데 솔까말 어차피 만들어야 하는 AlloyDB 클러스터의 주인 계정도, 형태도, 갯수 제한도 다 정해져 있는데, 내부 IP를 파일로 저장해두지 않는다고 그 클러스터에 접속하지 못한다는게 말이 되나?
마지막 오류를 경험한 뒤 나는 생각을 멈췄다. 그냥 대충 단계들을 읽고 복사 붙여넣기 하는 기계가 되기로 했다. 어쨋든 이 코스를 진행한 결과는 나쁘지 않았다. AlloyDB라는 좋은 GCP 상품을 알게 되었으니까? 그리고 여태까지 사용했던 AWS랑 다른 GCP의 환경을 경험한 것도 나쁘지 않았다. 나중에 실제로 GCP를 사용할 일이 있다면 좀더 긍정적으로 다가갈 수 있을듯 하다. 앞서 말했듯이 이런 교육 프로그램은 결국 자신의 서비스에 사용자를 묶어두기 위한 마케팅적 목적이 어느정도 있다고 생각한다. 그런만큼 구글 입장에서는 좋은 프로그램인거 같다.
하지만 나는 마케터가 아니고, 이 프로그램의 참여자이다. 그래서 컨텐츠를 바탕으로 이 프로그램에 대한 평가를 내리게 된다.
구글 클라우드 스터디잼은 개발자분들이 온라인으로 Google Cloud 에 대해 자가 학습하실 수 있도록 도움을 드리는 프로그램입니다.
자가 학습, 자습이라는 의미가 될것이다. 나는 학생 시절 자습서를 엄청 좋아했다. 여러 과목 공부한 티를 내기 좋아서. 특히 중고등 중간 기말 때, 전체과목 시험범위 자습서가 있었는데, 이걸 활용해서 시험공부 한 척을 하였다. 이게 무슨말일까? 내 경험상 자습서로 혼자 공부하기 위해서는 정말 엄청난 노력이 필요했다는 의미이다.
그리고 이번에 진행한 랩들에 대한 내 의견은, 사실상 자습서 수준도 아니라고 생각된다. 튜토리얼, 그것도 거의 대부분을 고민없이 진행할 수 있게 해준 튜토리얼이다. 대부분의 과정은 복붙 가능한 명령어로 구성되어 있으며, 해당 명령의 목적에 대한 설명이 상대적으로 부족하다고 느껴졌다. 물론 어느정도의 기반 지식이 있다면 명령어의 의미, 목적 등을 생각하면서 진행할 수 있을 것이다. 그런데 이 랩들은 그 목적이 매우 한정적이다. 하나의 랩이, 거의 한 서비스의 특정 기능을 소개하며, 이 기능들을 코스를 따라가며 사용해보는 정도이다.
그렇다면 이 프로그램에 참여함으로서 달성할 수 있는 가장 큰 이점은 무엇일까? 아마도 GCP 사용자들이 자신이 평소엔 사용해본적 없는 GCP의 기능을 사용해보는 기회 정도라고 생각된다. 그런데 이 코스가 소개된 곳에는 어떤 개발자들이 모이게 될까? 나처럼 링크드인이나 블로그의 입소문을 타고 온 개발자들일 것이다. 그렇게 모인 불특정 다수의, 경력 무관의 개발자들이 AI, 개발 등의 주제부터 일상적으로 사용하게 되는 Linux 명령어 등에 대해서 익숙할것을 확신할 수 있을까?
좋은 교육 자료, 또는 어떤 글이든, 가장 첫번째 조건은 독자 설정이라고 생각한다. 특히 다른 글들에 비해 교육 자료는 더욱 독자 설정이 중요하다고 생각한다. 교육이 필요하다는 의미 자체가, 전혀 모르는 내용을 다룬다는 의미일 테니까.
자동차를 생각해보자. 요즘 자동차에는 크루즈 컨트롤이 갖춰진 경우가 많이 있다. 이 크루즈 컨트롤의 가장 기초적인 기능은 "지정된 속도를 일정하게 유지"하는 것이다. 내 차를 기준으로 설명하면, 일정 속도까지 가속 한 다음 크루즈 컨트롤 레버의 버튼을 누르면 해당 속도가 고정이 된다. 이는 이후 브레이크를 밟거나 수동으로 중지하기 전까지 내 차의 속도를 유지해준다.
크루즈 컨트롤은 자동차를 운전하는 입장에서 매우 좋은 기능이다. 고속도로 등에서 악셀에 신경을 덜 쓰도록 해주니까. 중요한건 자동차를 운전하는 입장이라는 것이다. 즉 크루즈 컨트롤을 교육한다고 가정한다면, 그 대상은 당연히 이제 운전에 익숙해진 사람일 것이다. 운전을 못하는 사람에게 크루즈 컨트롤을 설명한다고 해봤자, "속도를 일정하게 유지"하는 것 외에는 공감이 가기 어려울 것이다. 일반적인 운전 상황을 경험해 본적 없을 테니까. 그 외에 완전 초보 운전자도 조금은 힘들것이다. "차선 변경해도 되나? 좌회전? 우회전?" 등으로 머리가 가득찬 운전자에게 "저 버튼 눌러봐" 만큼 방해되는 행동도 없을 것이다.
이번에 진행한 코스들은 전부 입문
단계의 코스들이었다. 클라우드 서비스 기준에서 입문은, 어느정도 개발의 지식은 있다는 의미일 것이다. 클라우드를 접한 시점에서 이미 어느정도는 클라우드가 필요한 정도의 개발을 했다는 의미가 될것이다. 간단한 웹 서비스의 배포라던지. 아마 이 코스들의 입문도 그정도 였을 것이다. 그렇다면 코스는 그런 수준에 맞게 만들어 졌는가?
두가지 코스를 생각해보면, 전자인 "Baseline: Data, ML, AI"가 독자 설정 부분에서 아쉬움이 좀 더 강했다. 이 코스는 기본적으로 AI의 주제를 아는 사람이 설정된 독자에 가깝다고 느꼈다. 코스 내용 자체가 상대적으로 AI 등에 대한 주제보단 GCP에서 AI 사용하기, AI를 사용하기 위한 데이터를 GCP에서 관리하기 등이었다. 즉, AI에 익숙한 사람이 GCP를 이용해 AI를 활용하고자 할 때 도움이 되는 코스에 가깝지 않을까 싶다.
그리고 코스들이 능동적 생각을 유도하지 않는다는 것이 아쉬웠다. 대부분의 경우 "어디를 클릭하세요", "어떤 명령을 입력하세요" 정도의 단계들로 구성되어 있었다. 물론 글귀로 많은 정보를 첨부하는 경우도 있긴 하였지만, 보통은 명령만 진행하고 내용을 정독하지는 않는게, 나만 그렇지는 않을거라 생각된다. 입문 레벨의 코스라서 그런가? 아무래도 잘못된 길로 가기 쉬워서 그랬을거라 생각된다.
그런데 그렇게 진행하다 몇가지 오류와 만나게 된다면, 내가 스스로 뭔가를 작성하기 보단 이미 쓰여진 내용을 그대로 진행하는 방향으로 쏠리게 된다고 생각한다. 그래서 이런 코스는 자료의 정확성이 무엇보다 중요하다고 생각한다.
사실상 활동의 대부분이 복붙인 상황에서, 이미 내용에 집중하기 쉽지가 않다. 이런 상황에서 자료가 잘못되었으면? 한치도 틀리지 않기 위해서 생각하기보단 있는 그대로 전달하는 컨베이어 벨트 위의 로봇 팔 같은 존재가 되지 않을까 싶다.
얼마전 어떤 뉴스 기사에서, 일타 강사 스타일로 교육을 진행한 학교 교사님의 사설을 보았다. 그분은 일타식 교육이 결국 사고력이 빠진 교육이라는 의견을 주셨다. 그리고 어느정도는 동의하였다. 옛날 수학 공부할때 삼각함수 공식들 외워 본적 있는지?
막 코코싸코(맞나?) 거리면서 공식들을 외웠었는데, 나는 도저히 안외워져서 하나만 외우고 변수 조정으로 나머지를 찾았다. 예를 들면, 위의 이미지의 상단 두 식을 더하면 좌변에 2cos(alpha)
가 나온다. 양변을 2로 나눈 다음 (alpha + beta) / 2 == a
, (alpha - beta) / 2 == b
로 치환해주면 좌변이 cos(a + b)
가 된다!....를 시험 보면서 써내리고 있었다.
사실 당시에는 주변에서 나만하는 정말 어처구니 없는 짓이었다. 하지만, 결국 공부의 목표가 성장이라면, 하나의 문제를 풀고 끝날 공식을 외우는 것이 아니라, 그 공식을 만드는 과정을 연습하는게 맞지 않을까? 곱셈공식을 외우면 문제 하나를 풀지만, 원리를 알게 되면 다른 대부분의 식들을 처리할 수 있다. 그리고 그런 작은 노력이 모여서 수학이라는 큰 학문을 만들어 내는 것이라고 생각한다. 이는 다른 학문과 기술, 즉 코딩의 영역에서도 필요한 노력이다.
다이나믹 프로그래밍이 상대적으로 알고리즘에서 어려운 측면에 든다고 생각한다. 정해진 형식이 없으니까. 결국 어떤 내용을 내가 기록해야 최종 결과에 도달할 수 있는지가 문제마다 다르기 때문에 어렵게 느껴진다고 본다. DP는 작은 결과를 모아 큰 결과를 만드는 것이지, 명확한 공식이 존재하지 않지 않는가. 즉, 문제 해결하는 방법에 대한 연구라는 알고리즘의 본래 목적에 상대적으로 가깝다는 것이다.
개발이라는 큰 분류도 동일하다고 본다. 하나의 프레임워크의 코드를 외우면 그 프레임워크만 사용할 수 있다. 그런데 그 프레임워크의 목적을 안다면, 다른 같은 목적의 프레임워크를 배우고 다루는게 더 편해진다. 언어만 보더라도 그렇다. 하나의 프로그래밍 언어를 안다면, 다른 언어를 배우는 것이 쉬워지는건 어떤 개발자든 느껴본적 있지 않을까?
이왕이면 실제로 실행되는 결과 보다는 그 과정에서 만든 것들이 무슨 역할을 하는지 좀더 초점이 맞춰졌으면 어떨까 라는 생각이 들었다.
아무튼....위의 이유들로 조금 실망을 하고 있었다. 스터디 하면 떠오르는게 공부라서 그런가? 공부를 체계적으로 할 수 있는 환경이 구축되었을 거라 생각했는데....
비록 안좋은 말을 많이 써놨지만, 이 프로그램 자체가 문제있는 프로그램이란 것은 아니다. 아니, 사실 정확히 잘 설계된 프로그램이다. 만약 내가 어느정도 연차가 쌓인, Cloud에 관심이 많은 개발자라면 상당한 비용의 클라우드 기술을 무료로 체험해 볼 수 있다. 그 경험은 나중에 실제로 서비스를 활용하는 시점에서 많은 도움이 될것이다. 그리고 실제로 그게 프로그램의 목적이라고 첫 페이지에 써있었다(...)
구글 클라우드 스터디잼은 개발자분들이 온라인으로 Google Cloud 에 대해 자가 학습하실 수 있도록 도움을 드리는 프로그램입니다.
위에도 첨부한 글귀인데, 이게 프로그램 소개 페이지의 첫줄에 있다. 결국 나는 처음 봤던 링크드인 글만 보고 참여를 마음먹었던 만큼 이 프로그램의 목적 자체를 잘못 봤던 것이다! 고품질의 교육이 목적이 아닌, 애초의 첫 목적이 GCP의 체험판이었다. 하긴 교육이란게 그렇게 쉽지는 않지, 몇시간 강의 들었다고 모두가 전문가가 될거였으면, 개발자 취업 시장은 AI 전에 이미 완벽한 정적에 휩쌓여 있었을 것이다...그래도 어쨋든 그동안 생각했던 것에 대한 내용을 좀 정리할 수 있었으니 괜찮은 경험이라 칭할만 하다.
아무튼 결론은, 위에 써둔 요약과 같다. 매우 좋은 프로그램! 하지만 내가 무엇을 원하는지 정확하게 이해하고 참여하길 바란다. 많은 Google Cloud 기술을 써볼 수 있다! AI 공부는......직접 할것.
남은 시간 열심히 참여해서 SWAG를 손에 넣어보겠다!