호기심, 관심사

풀스택(Full Stack) 개발자

난 웹개발자는 아니다. C/C++ 로 Windows Application 과 Embedded OS 기반 Application ,Device Driver 를 주로 개발해봤다. 최근 웹에 급 관심을 갖고 적극적으로 배우고 있으니 곧 웹 개발자가 될것 같다. ^^

웹을 선택한 이유에 대해 곰곰히 생각해봤다. 다른 것도 많은데 난 왜 웹을 해보고 싶은걸까. 

첫번째는 플랫폼 프리한 특성. 요새 왠만한 기기들은 인터넷이 연결이 가능하고 웹을 이용할 수 있다. 따라서 웹으로 서비스를 만들어 놓으면 기기가 안드로이드든 iOS든 윈도우든 상관없이 실행할 수 있다.
 
두번째로는 확장 가능성. IFTTT, Zapier 와 같은 웹 오토메이션 서비스를 보며 Open API 가 조합되면서 예전에는 단독으로 만들기 요원했던 기능들을 서로 연결하면서 자동화할 수 있는 것을 발견했다. API가 홍수인 시대라 외부에서 빨대를 잘 꼽아 쓸 수 있는 서비스들이 많다. 내 것 역시 누군가가 빨대를 꼽아 쓸 수 있도록 홈을 잘 만들어놓기만 하면 된다. Thing 들이 기하급수적으로 증가하고 있고 크기나 기기 사양은 컴팩트해지는 추세다. 기기들이 네이티브하게 갖고 있을 수 있는 기능은 한정적일 수 밖에 없지만 웹을 통해서는 기능확장이 무한정 가능하다.

마지막으로는 호기심이다. 프로그래밍 개발업무에서 손을 뗀지는 수년이 넘었다. 웹 자체가 진입장벽이 낮다고는 하지만 각종 서비스들의 API 가 많아진데다가 손품발품을 줄여주는 각종 프레임워크도 많고 클라우드 기반 인프라, 가상화 지원 등이 잘 되있는 상황이니 할만하다고 느꼈다. 생각없이 웃고 들어왔다가 울고 나갈 수도 있다. 나이와 주변환경을 봤을때 지금 아니면 늦을 것 같은 절박한 심정도 한몫했다.

오픈튜토리얼에서 제공하는 웹프로그래밍 수업을 듣고 나니 이런 기사도 눈에 쓱 들어온다. 웹세계에 이제 막 들어선 이 시점에 제목만 봐도 왠지 값싸고 저렴하게 일당백 해주실 수 있는 개발자 뽑아요. 라는 구인문구가 떠오른다. 풀스택 개발자는 뭐하는 사람일까. 설마 모든 레이어의 기술을 마스터하고 있는 사람을 이야기 하는 건 아니겠지...


웹 개발자가 되는 진입장벽은 낮으나 관련 기술은 갈수록 복잡해지고 있다. 업계의 다이나믹한 특성때문에 당시 가장 인기있고 유망한 툴과 언어를 습득하는게 필요하다. 개발자에게 한개의 언어 혹은 특정 프로세스만 요구하는 시대는 갔다. 요새는 멀티 플랫폼을 걸친 다양한 기술을 꿰차고 있어야 한다.

풀스택 개발자란 어떤 사람을 말하는가?

풀스택 개발자라함은 프론트 엔드, 백엔드 기술 모두를 가지고 일할 수 있는 개발자를 뜻한다. 좀더 상세하게 하자면 DB를 다룰줄 알고, PHP, HTML, CSS, JavaScript 그리고 프론트 엔드 코드에 필요한 포토샵 디자인 기술까지 포함한다.

풀스택 개발자는 위 모든 기술을 마스터해야할 필요는 없다. 그것은 거의 불가능하기 때문이다. 그저 저 기술들을 가지고 일하는게 익숙하거나 편하면 되는 것이다. 

풀스택 개발자를 카테고리를 나누고 세분화해보면

System Administration
  1. Linux and basic shell scripting
  2. Cloud computing : Amazon, Rackspace, tec
  3. Background processing : Gearman, Redis
  4. Search : Elasticsearch, Sphinx, Solr
  5. Caching : Varnish, Memcached, APC/OpCache
  6. Monitoring : Nagios

Web development tools
  1. Version control : Git, Mercurial, SVN
  2. Virtualization : VirtualBox, Vagrant, Docker

Back-end tech
  1. Web servers: Apache, Nginx
  2. Programming language: PHP, NodeJS, Ruby
  3. Database: MySQL, MongoDB, Cassandra, Redis, SQL / JSON in general

Front-end tech
  1. HTML / HTML5: Semantic web
  2. CSS / CSS3: LESS, SASS, Media Queries
  3. JavaScript: jQuery, AngularJS, Knockout, etc.
  4. Compatibility quirks across browsers
  5. Responsive design
  6. AJAX, JSON, XML, WebSocket

Design
  1. Converting website design into front-end code
  2. UI
  3. UX

Mobile Technology
  1. iOS
  2. Android
  3. Hybrid: PhoneGap, Appcelerator


,
호기심, 관심사

생활코딩 오프라인 수업 후기


일요일 아침 선릉 D캠프에서 참여한 생활코딩 오프라인 수업, 웹 어플리케이션을 만드는 전체 과정을 훑어주는데 무료인데다가 8시간짜리다. 생활코딩 사이트에도 물론 동영상 강의가 있고 자료가 쌓여있지만, 들어야지 들어야지 세월아 네월아 하고 있는 관계로 직접 수업에 와서 짧고 굵게 듣기로 했다.

기억하기론 몇년전 생활코딩 사이트는 초보들을 대상으로 웹프로그래밍을 소개하는 곳이였다. 요즘은 MOOK 와 비슷한 것 같으면서도 살짝 다른게 컨텐츠를 생산하고 소비하는 사람들을 연결하는 공공재 역할을 하고 있다. 이름도 오픈 튜토리얼스로 바뀌었다. (https://opentutorials.org/)

수업 내용도 내용이지만 강사분은 웹을 두루두루 이해하고 있고 사람들에게 쉽게 전파하는 것을 즐기는 것 같다. 웹과 인터넷의 차이. 웹이 어떻게 해서 만들어졌는지 이런 저런 스토리를 조곤조곤 알려주던게 기억에 남았다. 기술도 배경을 알면 이해하기 쉬운법. 팀버너스리가 유럽입자물리연구소에서 웹이 필요할 수 밖에 없었겠구나. HTML 을 그가 다 만들지는 않았지만 링크라는 것을 만들었기 때문에 웹의 아버지로 불리고 있다는 것도 알게되고, 이후 CSS, JS 가 출현한 배경도 어느새 이해할 수 있었다.


수업 막판에 보여준 그래프. 배우는 것이 교양과 직업으로 나뉘게 되는 접점이 있으니 잘 찾으라는 당부를 해주셨다. 프로젝트나 일도 어느 수준을 넘어서려면 노력과 시간투자가 반드시 필요하고 전문가가 되려면 반드시 넘어야할 단계다. 삶의 당연한 원칙이지만 잊고 산거 같다. 무료 이상의 경험을 한 하루다.



,
  [ 1 ]  

최근 댓글

최근 트랙백

알림

이 블로그는 구글에서 제공한 크롬에 최적화 되어있고, 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.

태그

링크

카운터

Today :
Yesterday :
Total :