'FULL'에 해당되는 글 1건

  1. 2017.05.19 풀스택개발자(full-stack-developer)란 무엇일까요?
IT이야기/입코딩2017. 5. 19. 10:02

-풀스택개발자(full-stack-developer)란 무엇일까요?

인터넷에서 개발자 커뮤니티에 글을 보거나, 구직란을 보면 full-stack-developer라는 표현이 있더군요.

한국에 잡코리아나 사람인에 보면 그냥 자바 개발자, php 개발자 이런식으로 몇년차 이렇게 된게 고작인데, 

유독 해외에 취업을 목적으로 링크드인이나 인디드 같은 구인구직 사이트에서 개발자 항목을 봐도 자주 보입니다.

풀 스택 개발자라니?

제 개발세발 영어로 해석해 보자면 모든것(Full)을 쌓은(Stack) 개발자(developer)라는 뜻이 아닐까합니다.

Stack overflow 등에서 쓰이는 Stack이 (깔끔하게 정돈하여) 쌓다[포개다]; 쌓이다, 포개지다. 이런 뜻이니깐요.

okjsp나 그외 유명한 커뮤니티에서도 이런거다 정도만 사람들이 이야기 하지, 위키피디아에 등제되 있지는 않군요.

개발자로 오래 종사하신 분들의 이야기를 들어보면 다양한 견해가 많은데요.

간단히 정리하면 백엔드, 프론트 엔드 다 건드릴수 있는개발자다?!

정도로 보이기도 하고, 처음부터 끝까지 홈페이지 하나를 뚝딱 만들 수 잇는 개발자이겠군요.

한국말로 번역했을 때 범용적인 개발자인지 전천후(어떠한 기상 조건에도 제 기능을 다할 수 있음)개발자 정도로 번역하더군요.

너무 없어 보이는 설명인데, 일단 구글링해서 풀스택 개발자에 대한 정의를 내린 사이트 두개 참고하여 구체적으로 풀 스택 개발자라 칭할 수 있는 자들이 가지는 소양으로 어떤 것들이 있는지 정리해보았습니다. 하나는 sitepoint이라는 사이트고 하나는 laurencegellert입니다.


sitepoint

원문보기

사이트 소개를 하자면 1999 년 Mark Harbottle과 Matt Mickiewicz에 의해 설립되었다고 합니다..

개발자, 디자이너, 프로그래머, 제품 제작자 및 기업가와 같은 웹 전문가가 웹 전문가를 대상한 사이트입니다.


추상적으로 어떤거다 라고 하지 않고, 정확히 어떤 프로그램을 어떻게 다루라고 언급하고 있군요.


전체 스택 개발자가 필요로하는 주요 기술 스택을 세분화하고 분류했습니다.

-System administration(시스템 관리):

1.Linux and basic shell scripting(Linux 및 기본 셸 스크립팅)

2.Cloud computing: Amazon, Rackspace, etc.(클라우드 컴퓨팅 : Amazon, Rackspace 등)

3.Background processing: Gearman, Redis(백그라운드 처리 : Gearman, Redis)

4.Search: Elasticsearch, Sphinx, Solr(검색 : Elasticsearch, Sphinx, Solr)

5.Caching: Varnish, Memcached, APC / OpCache(캐싱 : Varnish, Memcached, APC / OpCache)

6.Monitoring: Nagios(모니터링 : Nagios)

-Web development tools:

1.Version control: Git, Mercurial, SVN(버전 관리 : Git, Mercurial, SVN)

2.Virtualization: VirtualBox, Vagrant, Docker(가상화 : VirtualBox, Vagrant, Docker)

-Back-end tech:

1.Web servers: Apache, Nginx(웹 서버 : Apache, Nginx)

2.Programming language: PHP, NodeJS, Ruby(프로그래밍 언어 : PHP, NodeJS, Ruby)

3.Database: MySQL, MongoDB, Cassandra, Redis, SQL / JSON in general (데이터베이스 : MySQL, MongoDB, Cassandra, Redis, SQL / JSON)

-Front-end tech:

1.HTML / HTML5: Semantic web(HTML / HTML5 : 시맨틱 웹)

2.CSS / CSS3: LESS, SASS, Media Queries(CSS / CSS3 : LESS, SASS, 미디어 쿼리)

3.JavaScript: jQuery, AngularJS, Knockout, etc.(JavaScript : jQuery, AngularJS, Knockout 등)

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 technologies.

1.iOS

2.Android

3.Hybrid: PhoneGap, Appcelerator

전체 스택 개발자가되는 것이 더 좋습니까?

풀 스택 개발자 란 신기술에 대한 열린 마음, 각각의 손을 더럽 히고 웹 응용 프로그램이 컨셉에서 완제품에 이르기까지 어떻게 완성되는지를 이해하는 것을 의미합니다.

"풀 스택 개발자 (full-stack developer)"라는 아이디어는 전문화가 이유가 있기 때문에 가능할 수 있는 모든 기술에 능통하지는 않습니다. 위의 각 영역에 대해 이해하고, 팀 구성원 간에 지능적으로 의사 소통하며, 상황에 따라 적절한 자산이 될 수 있도록 하는 것이 중요합니다.

풀 스택 개발자는 미래의 웹 개발에서 점점 더 중요한 역할을 담당하게 될 것입니다. 특히 개발 작업과 같은 개발 방법이 코드 개발을 담당하는 코드 개발자와 관리자 사이의 라인 인 소프트웨어 개발 회사의 필수 구성 요소가 될 때 더욱 그렇습니다 매일 설치 프로그램이 점점 더 가늘어지고 있습니다.

원문

Is it better to be a full-stack developer?

Being a full-stack developer means to have an open mind towards new technologies, having your hands dirty in each one and to have an understanding of how a web application gets done from a concept to design to the finished product.

The idea of a “full-stack developer” isn’t about being fluent in every possible technology there is, because specialization exists for a reason. It’s more about having an understanding in each of the areas above, to communicate intelligently between team members and to be a good asset if the situation needs it.

The full-stack developer will have an increasingly important role in the web development of the future, especially when development methods such as DevOps are becoming an essential part of software development companies, where the line between code developers and administrators who are responsible for code deployment and setup is getting thinner each day.

자 이중에서 제가 할줄아는게 뭐가 있는지 체크해봅시다.


리눅스 쉘스크립팅 언어, 클라우딩 컴퓨터(아마존 웹서버), 버전관리(cvs, svn, git), 가상화(virtualBox), 웹서버(Apache), 프로그래밍 언어(PHP, nodejs, java), 데이터베이스(Mysql, MongoDB, Oracle, Mssql)

시멘틱 웹(HTML, HTML5), CSS, javascript, Jquery, AngualrJS, AJAX, JSON, XML, Android, Hybrid Application 요정도 건드려봤네요.


나름 이것저것 건드려 봤다고 생각했지만 한 70%정도 밖에 만족을 못 시키는군요.

아쉽게도 저는 풀 스텍 개발자는 아닌가 봅니다. 


laurencegellert

원문보기

사이트를 소개하자면 미국 오리건 주 포틀랜드에 거주하는 소프트웨어 개발자인 Laurence Gellert의 웹 사이트입니다.

이 사이트의 글을 참고해 봅니다.

원문

Probably not, but Facebook can ask for it. I was told at OSCON by a Facebook employee that they only hire ‘Full Stack’ developers.  Well, what does that mean?

To me, a Full Stack Developer is someone with familiarity in each layer, if not mastery in many and a genuine interest in all software technology.

이게 뭔 말인가 하니, 페이스북(Facebook) 직원은 풀스택 개발자만 고용한다고 합니다.

풀스택 개발자는 모든 소프트웨어 기술에 대해 많은 지식과 진정한 관심을 가진 각 계층에 익숙한 사람입니다. 라고 정의하고 있군요.

layers of the full stack:

1. Server, Network, and Hosting Environment.(서버, 네트워크 및 호스팅 환경)

2. Data Modeling(데이터 모델링)

3. Business Logic(비즈니스 로직)

4. API layer / Action Layer / MVC(API 계층 / 액션 계층 / MVC)

5. User Interface(사용자 인터페이스)

6. User Experience(사용자 경험)

7. Understanding what the customer and the business need.(고객과 비즈니스에 필요한 것을 이해합니다.)

아마존에서 AWS 공짜로 1년치 사용하면서 리눅스 서버에 푸티로 접속해서 공부해 나갔습니다만 그것도 귀찮아서 안건드리고 있네요. 처음부터 끝까지 사이트 하나를 오픈할수 있어야 혼자 아르바이트를 하든 용돈벌이를 하든 하지 않을까 합니다.

나이 지긋하신 차장급 이상 개발자들은 한 우물을 파라고, java만 진득히 하다 보면, 다른 것들도 알게 될꺼라고 이야기하는 사람들도 있더군요. 

사실 한국 SI에서는 java만 해도 몇년을 먹고 살았고 앞으로도 먹고 살 수 있으니깐요.

어설프게 헛바람들 듯 트랜드 따라간다고 건드리고 제대로 못 배우는 것 보다는 한 언어를 좀더 깊이 있게 배울 시간도 모자를 수도 있구요.

목표로 저는 풀 스택 개발자를 목표로 공부해 나가 보고 싶습니다.


Posted by Joseph514