Developer Hiring Trends in 2017

-- IT Trend 2017. 3. 17. 14:10
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

Developer Hiring Trends in 2017
https://stackoverflow.blog/2017/03/09/developer-hiring-trends-2017/


[주목할만한 스킬]

React
그동안 프론트엔드 영역에서는 구글이 개발한 Angular의 경우 큰 인기를 끌게됩니다. 하지만 2010년대 초반 스마트폰이 인기를 끌게되면서 모바일에서 성능 이슈가 부각되기 시작하는데, 왜냐하면 양방향 데이터 바인딩을 하기 위해 더티 체킹을 하기 때문이었죠. 뿐만아니라 Apple이 iPhone에서 Flash를 퇴출하기로 결정함에 따라 RIA(Rich Internet Application)의 시대도 막을 내렸습니다.

다시말해 Javascript 만이 웹 프론트엔드 개발의 유일한 선택지가 된 것 입니다.

그리고 2013년 Facebook에서 공개한 React.

React는 Angular의 성능 문제를 종식 시켰습니다. 성능 문제 해결을 위해 단방향 데이터 흐름, 버추얼 돔과 같은 개념이 도입 되었으며, 재사용 가능한 컴포넌트 기반 개발 방식을 도입 하였습니다.



Go
Go 언어의 특징은 컴파일 언어이지만 컴파일러의 컴파일 속도가 매우 빨라 인터프리터 언어처럼 쓸 수 있다는 점에 있다. 이는 언어의 문법 구조를 개선함으로써 달성하였다. 컴파일러가 소스 코드를 해석하는 pass 수를 줄여서 달성한 것으로 보인다. 

접근하기 어렵지 않고, 코드 역시 간결하면서도 컴파일 언어답게 높은 성능을 낼 수 있다는 점이 호평을 받는다. 자료형 체계에 있어 정적 타입(static type) 검사가 이루어지는만큼, Python 등에 익숙해져 있다가 넘어올 경우 조금 애로사항이 꽃필 수 있다. 간결하게 코드를 작성할 수 있으면서도 풍부한 라이브러리 등의 덕택에 막강한 기능을 쉽게 구현할 수 있다는 것은 큰 장점이다.



Apache Spark
MapReduce는 슈퍼컴퓨터 없이도 저렴한 서버를 여러 대 연결하여 빅데이터 분석을 가능하게 해 준 혁신적인 기술이지만 10년이 지나니 여러 가지 단점들이 보이게 되었습니다. 우선 과도하게 복잡한 코드를 짜야합니다. 아래는 간단한 Word Count 예제를 MapReduce로 구현한 것인데 매우 어렵고 복잡합니다.

이의 대안으로 SQL을 MapReduce로 변환해주는 Hive 프로젝트가 있어 많은 사람이 잘 사용하고 있지만, 쿼리를 최적화하기가 어렵고 속도가 더 느려지는 경우가 많다는 어려움이 있습니다.

MapReduce의 대안으로 최근 아주 뜨거운 기술이 있는데 바로 Apache Spark입니다. Spark는 Hadoop MapReduce와 비슷한 목적을 해결하기 위한 클러스터 컴퓨팅 프레임웍으로, 메모리를 활용한 아주 빠른 데이터 처리가 특징입니다. 또한, 함수형 프로그래밍이 가능한 언어인 Scala를 사용하여 코드가 매우 간단하며, interactive shell을 사용할 수 있습니다.


posted by 어린왕자악꿍