필자는 UI 디자인을 전공한 사람이다. UI디자인에서 다양한 설계를 경험했지만, 시각적인 지점에서 머무는 것에서 만족할 수가 없었다. 실제로 오고가는 주요한 정보들과, 사용자가 입력하는 데이터들. 서비스 사용에 의해 만들어진 맞춤형 데이터 등을 직접 다루고싶다는 생각을 하게됐다. 그래서 방송 통신대 편입을 준비하면서, 여러 개발 언어를 확인해봤는데. 내가 추구하는 방향과 연결되는 언어는 크게 두가지였다.
자바와 파이썬
네이버나 카카오 등, 여러 개발자 공고를 확인해본 결과. 크게 자바와 파이썬. 두개의 언어가 백엔드 쪽 개발자에게 중요하다는걸 알게됐다. 결국 서버를 다뤄야하고, 데이터 템플릿을 다뤄야하기 때문에. 자바 스크립트 기반으로 node.js를 쓰건, 자바나 파이썬으로 서버를 다루건. 어느쪽은 꼭 해야하는 상황이었다.
그러나 node.js를 위한 자바스크립트는. 서버 쪽 메인이 아니라, 프론트 개발에 더 중요한 언어이다보니. 좀 더 나중에 공부하기로 마음먹었다. 반면 자바와 파이썬은 배우기도 쉬운 편이고. 내가 계속 공부해왔던 UI 설계, 정보분석 쪽과도 연관이 깊었다.
자바와 파이썬은 분명 서로 다른 언어이지만, 그중에 파이썬을 선택한건. 접근 난이도가 쉽다는 부분 떄문이었다. 물론 나중에는 자바나, SQL등, 서버를 다루기위한 다른 쪽 언어도 배워야겠지만. 기본적으로 자바와 파이썬은 다루는 분야가 비슷하니. 파이썬부터 시작해도 크게 문제가 없겠다고 생각이 들었다.
실제로 공부를 진행해보면서, 파이썬을 선택하기를 잘했다는 생각이 들었는데. 무엇보다 문법이 이해하기 쉬웠다. HTML과 자바스크립트에서 쓰였던 복잡한 괄호열기, 닫기로 스트레스를 좀 받았었는데. 파이썬의 경우 그런 지점이 매우 적었고. 명령어의 직관성이 상당히 높았다.
파이썬의 장점 : 실용성 / 확장성
파이썬은 매우 실용적인 개발 언어다. 개발 전공이 아닌 내게도, 사용자가 입력하는 내용들을 어떻게 정리해야하는지. 그리고 그걸 다시 어떻게 서버에 던져넣어야하는지를 머릿속으로 손쉽게 상상할 수 있었다. 예를 들어 회원가입시 입력한 정보관리나, 게시글 작성 관리, 커머스의 장바구니처럼. 개별 정보들의 시각적 요소만 사라졌을 뿐. 정보 단위가 가진 데이터 꾸러미들과. 그 꾸러미들 속에서 어떤 정보 구분이 필요한지를 빠르게 파악할 수 있었다.
비전공자가 입문할 때, 난이도가 어렵지않다는건 굉장히 큰 장점이다. 게다가 대부분의 개발 언어는 문법은 달라도, 추구하는 목적은 다들 비슷하다. 그래서 한 언어를 다뤄보면 다른 언어에서 어떤 것들을, 왜 알아야하는지를 체크하기도 쉬워진다. 그래서 어떤 언어를 배우건 간에, 전체 내용을 빠르게 쓱 훑어보고. 실제 실무에서 어떤 기능을, 왜 써야하는지를 알아내는 것이 매우 중요하다.
파이썬을 배워놓을 경우, 확장성도 좋은 편이다. 웹 크롤링을 손쉽게 구현할 수도 있고. 파이썬 기반 익스텐션을 사용해, 웹브라우저 기반의 자동화도 사용할 수 있다. 예를 들어 기업 내 상담용 카카오톡 메시지를, 개별 방마다 들어가면서. 내용을 복사한 후 서버에 입력해 상담 내용을 남긴다거나. 특정 페이지를 브라우징해 키워드가 기간별로 몇개나 되는지 체크하는 등의 일도 가능하다. 기업이나 개인 입장에서 편의성이 빠르게 올라가는데, 난이도도 그리 어렵지 않다.
필자처럼 개발 비전공자인 사람이라면. 개발언어를 공부할 때 파이썬을 다루는걸 추천해보고싶다. 눈 앞에서 의미없는 예제를 무작정 따라하는 것보다. 실무가 중요하다. 우리가 실제 생활이나, 업무에 적용할 수 있는 언어를 배운다는 것에서 재미를 느끼고, 그 범위를 늘려나갈 수 있다면. 개발 공부의 첫 시작으로는 아주 좋은 계기가 아닐까?
www.youtube.com/watch?v=i3zXATaxBHc
앞으로도 필자는 파이썬을 공부하면서 그날그날 공부한 내용들을 정리해서 고민지점들과. 해결방법 등을 함께 정리할 예정이다. 약 2년간 방송통신대에서 개발공부를 한 내용도 함께 정리해 올릴 예정이니. 나처럼 비 전공자가 개발 공부를 하는 다른 분들에게도 도움이 되었으면 좋겠다.
'웹개발' 카테고리의 다른 글
파이썬 스터디 : 003. 서비스마다 달라지는 정보구조 (0) | 2021.01.26 |
---|---|
파이썬 스터디 : 002. 실무에서는 어떤 데이터를 다루게될까? (0) | 2021.01.26 |
개발 스터디 : 포인터 (pointer)의 개념 / C언어 (0) | 2021.01.26 |
부트스트랩, 어떻게 사용해야할까? -파트 2 (번역본) (0) | 2020.12.01 |
부트스트랩, 어떻게 사용해야할까? -파트 1 (번역본) (0) | 2020.12.01 |
댓글