
몇 달 전, 저는 Apple의 마케팅 부서에서 일하시는 분을 만났어요. 제가 데이터 과학자라고 말했더니 그 분의 답변이 제게 놀라웠어요.
"아, 그러니까 백엔드 쪽을 하시는 거죠?"
이 답변을 듣고 나는 당황했어요. 왜냐하면 제가 제 직업을 "그냥 백엔드 작업"으로 생각해 본 적이 없었거든요. 데이터 과학/인공지능 열풍 속에서 우리는 AI를 우리 시대의 주요 기술로 생각하는 것에 익숙해져 있었지만, 실제로는 그것이 전체 기술 태양계가 도는 핵심적인 것처럼 보인 적은 없었어요.
내 친구인 Copernicus라고 부르자면, AI가 우주의 중심이 아닌 퍼즐 한 조각에 불과하다는 것을 상기시켜 준 친구가 있었어요. 이것이 나에게 호기심을 일으켰고, 기술 '태양계'의 다른 '행성'들에 대해 더 알고 싶어졌습니다. 그리고 결국 웹 개발을 배우기로 결정했어요. -창업 잠재력 - 제품/SaaS 아이디어가 생길 때, 무료로 스스로 만들 수 있는 전체 제품과 앱을 제작할 수 있는 능력이 필요했어요 -ML 엔지니어링 - 주피터 노트북에 남아 있는 ML 모델은 아무에게도 가치를 더하지 못해요. 그래서 ML 엔지니어링은 현재 데이터 과학 분야에서 가장 핫한 분야 중 하나이며, 이 분야로 이동할 수 있는 기술을 배우고 싶었어요. 웹 개발은 많은 도움이 되는데, API를 생성하고 모델을 제품화하여 실제로 사람들이 상호 작용할 수 있도록 도와주기 때문이에요 -이해관계자에게 인상을 주기 - 하드코어한 데이터 열광가조차 (비즈니스 이해관계자는 말할 것도 없죠!) BigQuery 테이블이나 .py 파일로 감정을 자극받기는 어렵습니다. 내 모델이 어떻게 작동하는지 사람들에게 보여주기 위해 시각적 사용자 인터페이스를 구축하여 실제로 상호 작용할 수 있게 하고 싶었어요, 그리고 웹 개발이 이를 할 수 있게 도와줍니다 -스킬 쌓기 - 훌륭한 데이터 과학자들도 많고, 놀라운 웹 개발자들도 많아요. 그러나 두 가지 모두를 할 수 있는 사람은 별로 없어, 이것이 흔하지 않고 가치 있는 특수 분야가 되었습니다. 나처럼 모든 것에 손대며 하나에는 전문가가 되길 원하는 사람에게는 엄청 매력적이에요.
위의 욕망 중 어느 것이 당신과 공감되는지 물어본다면, 저는 정말, 정말 웹 개발을 배우기를 강력히 추천합니다.
조금의 격려가 필요하다면: 저는 약 4개월 전에 매주 몇 번의 저녁에 웹 개발을 시작했고, 2개월 후에 처음으로 제 프로덕션 웹사이트인 theSQLgym.com을 출시했어요. 제 말은: 짧은 기간에도 상당히 멀리 갈 수 있다는 것이죠!
데이터 과학자로 웹 개발을 배우는 방법
팁 #1: 하버드 대학에 가보세요
저는 절대적으로 가장 먼저 하버드 대학의 CS50의 Web Programming with Python and JavaScript 강의를 시청하는 것을 권장합니다. 이 강의는 freeCodeCamp의 YouTube 채널에서 무료로 제공되며 웹 개발에 필요한 모든 주요 사항을 소개하는 14시간 간의 대학 수준의 과정입니다. (참고: 이 강의는 Python 지식을 기본 수준으로 전제합니다. 만약 이전에 코드를 작성해본 적이 없다면, 먼저 하버드의 코딩 입문자를 위한 "코딩 소개" 과정인 CS50x를 확인하는 것이 좋습니다).
왜 이 특정 강좌를 추천하는지 궁금하시겠죠? 첫째, 무료이기 때문에요. 둘째, 할배드대학이 제공하는 강좌니까요! 셋째, 파이썬을 이용한 웹 개발을 가르친다는 점이죠. 이는 이미 많은 데이터 과학자들이 갖고 있는 기술입니다. 다른 웹 개발 강좌들은 주로 자바스크립트나 PHP부터 시작하는데, 이는 데이터 과학자 사이에서 흔치 않은 언어들이에요. 빨리 결과를 얻고 싶다면 이미 알고 있는 언어로 웹 개발을 배우는 것이 훨씬 더 좋습니다. 그리고 웹 개발을 이렇게 하는 것이 부정적인 방법이라고 생각하지 마세요. 인스타그램, 스포티파이, 유튜브와 같은 세계적인 대형 웹사이트들도 파이썬으로 만들어졌답니다.
그리고 제 세 번째 이유는 이 강좌가 웹 개발 전체에 대한 좋은 개요를 제공하기 때문입니다. 이 특정 강좌를 찾기 전에 다른 몇몇을 시도해봤는데, 그들은 모두 너무 특정한 주제에 초점을 맞추기 때문에 웹 개발 전체의 큰 그림 개요를 주지 않았어요. 이는 초보자에겐 꼭 필요한 부분이죠.
마지막 팁 하나 더 — 이 강좌는 빠르게 진행돼요, 특히 처음의 HTML과 CSS 섹션을 통해요. 이 섹션을 마치고 나면 freeCodeCamp의 "반응형 웹 디자인" 강좌의 HTML 연습 문제 몇 개를 풀어나가면 이해를 더욱 공고히 할 수 있어요.
팁 #2: HTML, CSS, 그리고 장고(Django)를 배워보세요. 여기까지입니다.
웹사이트를 개발할 때 필요한 언어는 HTML, CSS 및 Django 세 가지 뿐이에요! HTML는 가장 쉬운 언어로, 하루만에 전체 내용을 배워볼 수 있어요. 또한, 무료로 제공되는 freeCodeCamp 코스나 전통적인 W3Schools 튜토리얼을 활용할 수 있어요.
CSS는 조금 복잡할 수 있지만, freeCodeCamp 자료를 참고하거나 ChatGPT에 질문하면 금방 익숙해질 거예요. 가끔씩 막힐 때가 있지만, “div를 가운데로 정렬하는 방법”을 시도해보면 무슨 말인지 알게 될 거에요.
마지막으로 Django - Django는 정말 멋진 프레임워크에요. Python으로 웹 개발을 할 수 있게 도와주는 도구로, 그 byline을 읽자마자 저는 반해서 버렸답니다:
“그게 나야!” 라며 @ed의 감정은 느낄 수 있었어요.
만약 풀타임 직장을 가지고 있는 상황에서 웹 개발을 배우려고 노력 중이라면(제가 그랬던 것처럼), 새로운 복잡한 프레임워크를 배우는 데 머무를 시간이 무한하리라는 보장은 없습니다. Django는 사물을 간단하게 유지하며 "전부 포함된(batteries included)" 철학을 가지고 있어, 전체 웹사이트를 구축하는 데 필요한 거의 모든 것을 가지고 있다고 할 수 있습니다. 저는 Real Python의 Django를 사용하여 처음부터 블로그를 만드는 방법에 대한 자습서를 정말 좋아했습니다.
팁 #3: 진짜로 만들고 싶은 것을 만들어보세요
웹 개발을 "재미있게 한다"고 배우려고 한다면, 곧 포기하게 될 것입니다. 초보자로서, 0부터 완전히 작동하는 웹사이트를 만드는 데는 20~50시간이 걸릴 수 있으므로, 당신을 동기부여할 "재미"보다 나은 것이 필요할 것입니다.
대신, 만들고 싶은 웹사이트를 생각해보세요. 개인 블로그, 글루텐 프리 레시피 웹사이트, 또는 PDF.ai와 같은 LLM-챗봇 스타일의 웹사이트일 수 있습니다. 제 경우에는 "사람들이 SQL 문제를 연습할 수 있는 간단한 웹사이트" 였습니다. 아이디어가 떠오르지 않는다면, Product Hunt나 1000Tools에서 제품을 스크롤하고 너무 복잡해 보이지 않는 웹사이트를 찾아보고, 더 나은 것을 만들어보세요. 진짜로 유용하고 실제로 쓸모 있는 것을 만든 만족감은 그 무엇과도 비교할 수 없습니다!
팁 #4: 가능한 빨리 운영화하기. Heroku, GoDaddy, 그리고 CloudFlare를 좋아해요
웹사이트는 사람들에게 이용 가능할 때 비로소 좋은 것입니다. 온라인으로 만들기 위해 필요한 4가지는 다음과 같아요:
- 서버 (인터넷을 통해 웹사이트를 "제공"할 수 있는 원격 컴퓨터)
- 데이터베이스 (웹사이트 페이지와 데이터를 저장하는데 사용, 유저 로그인, 블로그 포스트 등 포함)
- 도메인 (www.당신의웹사이트.com 같은 것)
- 웹사이트 관리 도구 (웹사이트의 DNS를 설정하고 www.당신의웹사이트.com이 서버/데이터베이스를 가리키도록 하는 작업)
솔직히 말하자면, 이러한 것들을 설정하는 일은 재미있지 않아요. 가능한 한 짧은 시간에 해결하고 싶을거예요.
저는 개인적으로 서버와 데이터베이스에 Heroku를 선호합니다. 사용하기 쉽고 초보자에게 적합하기 때문이에요. RealPython의 'Heroku에서 Django 프로젝트 호스팅하기' 가이드를 추천합니다.
도메인의 경우, GoDaddy나 CloudFlare와 같은 이미 알려진 도메인 판매자를 추천해요. 처음 도메인을 FastHosts.com에서 구매했는데, 고객 서비스에 연락이 되지 않았고 웹사이트도 매우 버그가 많았어요. CloudFlare는 무료 티어가 풍부하고 사용자 친화적인 인터페이스를 가지고 있어 좋아요.
여기까지입니다!
독서해 주셔서 감사합니다. 도움이 되셨기를 바라며, 트위터나 링크드인에서 저와 소통하실 것 또한 환영합니다! :-)
한 가지 더
저는 AI in Five이라는 무료 뉴스레터를 작성하고 있어요. 매주 최신 AI 뉴스, 코딩 팁, 데이터 과학자/분석가들을 위한 경력 이야기 등 5가지 내용을 공유하고 있어요. 이런 내용이 괜찮다면 여기에서 구독해주세요!