well-balanced

개발 트렌드를 읽는 방법들 본문

etc

개발 트렌드를 읽는 방법들

Cosmian 2020. 3. 1. 02:46

이 글은 Codeit트렌드를 읽는 방법 강의를 참고하여 작성하였습니다.

시간이 흐를수록 트렌드는 계속 변화하며 개발자로써 살아가면서 트렌드를 읽어내는 것은 정말 중요하다. 아직 프로그래밍에 대해 공부한 지 오래되지는 않았지만 특히나 이 IT 업계는 트렌드가 빠르게 변화하고 있으며 많은 개발자들은 트렌드에 민감하게 반응하며 공부를 평생의 숙명으로 안고 살아간다. 특히나 프레임워크 쪽은 트렌드에 따른 변화가 즉각 일어나고, 이에 따라 크고 작은 기회비용들이 발생할 수도 있기 때문에 어떤 언어를 배워야 하는 지, 어떤 프레임워크, 라이브러리를 배워야 하는 지를 선택하는 것은 시간적 손익을 가를 수 있는 중요한 기준이 되기도 할 것이다. 따라서 어느정도 트렌드에 어울리는 기술인 지 고민해보고 검토해 볼 정도의 시간을 갖는 것은 충분히 가치있는 행위일 것이다. 이에 참고할만한 몇 가지 기준들을 제시하고자 한다.

1. 활발한 기술

좋은 언어, 프레임워크는 그만큼 사용자가 많기 때문에 커뮤니티에서 이뤄지는 커뮤니케이션의 양도 방대하고, 자료 또한 많이 발생한다.

에러가 발생해서 이를 구글에 검색했을 때 활발한 기술은 Stackoverflow 등과 같은 사이트에서 이미 좋은 답변이 존재하거나 에러에 대해 질문을 했을 때 훨씬 빠른 답변을 얻을 수 있을 것이다.

RedMonk에서 제공하는 프로그래밍 언어 순위 (https://redmonk.com/)

이 그래프는 X축은 GitHub의 프로젝트 수, Y축은 Stack Overflow의 태그 수를 기반으로 그려진다. 최근 계속되는 웹 프로그래밍의 수요에 따라 JavaScript는 그래프상 가장 높은 곳에 랭크하고 있다.

구글트렌드를 기반으로 만든 PYPL에서 제공하는 프로그래밍 언어 순위 (http://pypl.github.io/PYPL.html)

점점 고도화되는 4차 산업사회에 많은 사람들이 프로그래밍에 관심을 가지며 범용성이 뛰어나고, 진입장벽이 낮은 고수준 언어인 Python, JavaScript 등이 강세를 보이는 듯 하다.

 

2. 인정받는 기술

트렌드를 검색해보고 알아보는 일들은 조금 귀찮은 일이 될 수도 있다. 잘 모를 때는 거대한 기업들이 채택한 기술들을 따라가는 것도 하나의 방법이다. 분명히 이 기업들 내부에서는 기술을 채택하기 전에 실력있는 개발자들간에 많은 고민들과 상의 끝에 결정된 기술일 것이다. 물론 무조건 이를 따라가는 것은 부작용을 나을 수도 있다. 그렇기 때문에 현재 자신의 상황과 목적 또한 고려해보면서 선택하는 것이 중요할 것이다. StackShare라는 웹사이트에 가보면 여러 기업들이 사용하는 언어, 프레임워크, 기술 등을 알 수 있다. 심지어 Slack, Jira 등과 같은 비즈니스 툴까지도 알아볼 수 있다.

Airbnb 기술 스택 (https://stackshare.io/airbnb/airbnb)

뿐만 아니라 기업에서 직접 만들거나 관리하는 기술도 있다. facebook에서는 React를 Oracle에서는 Java를 Apple에서는 Swift를 직접 관리하고 있다. 이런 경우 해당 기술이 안정적으로 성장할 가능성이 높다.

 

3. 유망한 기술

아무리 실력이 좋다고 하더라도 산업의 추세가 변화하면서 개발자의 입지가 늘어날 수도 있고, 줄어들 수도 있다. 스마트폰의 발전으로 인해 모바일 앱 시장이 등장했고, 앱을 개발하기 위한 기술스택이 어떤 플랫폼을 이용하냐에 따라 달라졌다. 당시에는 아이폰 앱 개발자가 될 것인지, 안드로이드 폰 개발자가 될 것인지, 아니면 윈도우 폰 개발자, 블랙베리 폰 개발자가 될 것인지를 선택해야 했다. 시간이 흘러서 결국에는 아이폰, 안드로이드 폰 어플리케이션이 입지를 굳히게 되었다. 이처럼 강물을 열심히 수영해서 넘어갈 수는 없기 때문에 항상 귀를 열고 정보를 수집해야 한다.

가트너에서 제공한 2020년 10대 IT 최신 트렌드 (https://www.gartner.com/en)

가트너에서는 매년 10대 전략 기술 트렌드를 발표한다. 잘 찾아보면 이를 풀어내서 설명해주는 자료들을 찾을 수 있다.

 

출처

'etc' 카테고리의 다른 글

express의 render 메소드  (0) 2019.12.06
HTTP란?  (0) 2019.11.26
Naming case (네이밍 케이스)  (0) 2019.11.14
'Object Model' 정리  (0) 2019.11.13
동기(Synchronous)와 비동기(Asynchronous)의 차이  (0) 2019.11.12
Comments