업무와 관련된 학습의 의지는 항상 불타지만, 게으른 자신을 탓하며 미루고 미루다보니 2017년이 되었습니다. 그래서 백엔드 웹 개발자인 저는 2017년 개인 KPI로 ‘새로운 개발 언어를 습득하고 웹사이트 1회 이상 제작하기’를 설정하였습니다.



일단 새로운 언어를 배우겠다고 하긴 했는데, 어떤 언어를 배워야 할지 감이 잡히지 않았습니다. 세상에는 많은 개발 언어가 있고 계속해서 새로운 언어가 생겨나고 있기 때문이죠.


개발 언어의 다양한 종류, 출처: GRIFF'S GRAPH


어떤 언어를 배워야 할까요? 그에 앞서 다양한 통계를 먼저 살펴보도록 하겠습니다.



통계로 보는 개발 언어


1. Developer Survey Results 2016

전 세계적의 많은 개발자들이 활동하고 있는 개발자 포럼인 Stack Overflow에서 전 세계 173개국의 56,033명의 개발자들을 상대로 실시한 설문입니다.


<조사에 참여한 개발자들의 직업 분포>


Full-Stack 웹 개발자(OS부터 서버, 데이터베이스, 백엔드, 프론트엔드 등 전반적인 웹개발을 아우르는 능력을 가진 개발자)라고 응답한 비율이 28%로 가장 많고 백엔드 웹 개발자, 모바일 개발자 등의 순서대로 비중을 차지했습니다.


<가장 대중적인 기술>


설문에 참여한 개발자 중 웹 개발자의 비율이 높은 만큼 50%가 넘는 응답자가 JavaScript를 사용한다고 답했습니다. 그 뒤로 Java와 C#, PHP, Python 등이 주로 사용하는 개발 언어를 차지했습니다.


<가장 사랑받는 & 원하는 기술>


Rust, Swift 등이 응답자가 사용해본 언어 혹은 기술 중에 가장 많이 사랑받고 있다는 결과가 나왔습니다.



현재 사용하고 있지 않는 언어나 기술 중에서 가장 써보고 싶은 것에는 Android, Node.js, Angular.JS 등이 상위권을 차지했습니다.



2.Language Trends on GitHub

버전관리 툴인 깃(Git)을 사용하는 프로젝트를 지원하는 서비스인 GitHub서 2015년에 발표한 통계도 흥미롭습니다.  



아래는 GitHub가 2008 년에 출시 된 이후부터 GitHub.com에서 사용 된 프로그래밍 언어의 빈도를 토대로 그 순위를 보여주는 그래프입니다. Java가 눈에띄는 성장세를 보였고, Stack Overflow의 ‘가장 대중적인 기술’의 결과와 비슷하게 JavaScript와 PHP 등이 높은 순위를 차지했습니다.



통계가 의미하는 것


이런 결과들이 의미하는 것은 무엇일까요? 사실 의미하는 바가 그리 크지 않다고 생각합니다. 물론 일부 개발자들의 생각과 언어 사용 빈도, 추세 등을 볼 수는 있습니다. 그리고 생각보다 재밌었습니다. 학창시절에 Java를 배웠었는데 Java 순위의 변화 추세를 보며 ‘그때 열심히 배워둘 걸’하는 생각도 했습니다.

이러한 통계도 ‘재미로’ 진행하지 않았을까 생각합니다. 온라인 설문 조사의 특성 상 응답자가 제한되어 있고 세계적인 트렌드라고 하기에는 표본 집단의 수가 적기 때문입니다. 또한, Node.js가 10년 전에는 존재하지 않았던 것처럼 빠르게 변화하는 개발 언어의 전망은 쉽게 예측할 수 없기 때문입니다.


왜 배우려고 하는가


사실 ‘어떤 언어가 인기있더라, 이 정도는 알아야 하더라’ 하는 ‘~카더라’ 통신이 난무하라도, 제일 중요한 것은 배우려는 목적입니다. 백엔드 웹 개발자가 스타일과 레이아웃에 더 많은 욕심이 생긴다면 HTML과 CSS를, 프론트 웹 개발자가 DB를 좀 더 잘 다루고 싶다면 SQL, PL/SQL 등을 배워 볼 수 있겠죠.

제가 언어를 배우려고 하는 목적을 생각해 보았습니다. 저는 업무에 도움이 되면서도, 생산성이 높은 언어를 배움으로써 경쟁력을 가지고 싶었습니다. 그래서 Ruby on Rails라는 프레임워크를 사용하여 상대적으로 빠르고 쉽게 웹사이트를 만들 수 있다고 알려진, Ruby라는 개발 언어를 배우기로 하였습니다.



시작이 반이다


새롭게 마음먹은 김에 바로 실행에 옮겨보았습니다. 먼저 AWS에서 리눅스 서버 호스팅을 신청하고, Ruby 가이드Ruby on Rails가이드를 보면서 설치를 했습니다.


그리고 home/hello라는 URL 세팅을 하고  


‘Hello, World!’를 출력했습니다 :)


이제 할 일을 다한 것 같은 기분이 들긴 하지만 시작이 반이라고 했습니다! 저는 개발계의 초석같은 ‘Hello, World!’를 출력함으로써 반이나 나아갔습니다(라고 믿고 있습니다).

어떤 개발 언어를 배울지, 어떤 언어가 요새 트렌드인지 고민하는 사이에 시간은 흐르고 있습니다! 당신이 배우고 싶은 개발 언어는 무엇인가요? 그게 어떤 것이든 개발 언어 공부의 시작을 응원합니다.



참고

What’s the Best Programming Language to Learn in 2017?




Posted by slowalk

지난 포스팅에서 개발자와 대화하고 싶은 비 개발자를 위한 참고서에 대한 글을 작성했습니다. 이번 포스팅에서는 개발자와 기획자 간 원활한 커뮤니케이션을 위해 저희 팀 내에서 초기 사용했던 방법이 현재는 어떻게 바뀌었는지 사례를 통해 보여드리겠습니다.

주의! 이 방법은 주로 슬로워크 1팀 기획자인 저와 개발자들이 사용하는 방식으로, 회사별로 팀별로 방법이 다를 수 있습니다. 가장 좋은 방법은 팀 내에서 서로 많은 대화를 해보는 것입니다.




1. 기획자와 개발자의 시간은 다르게 간다.

“이거 금방 되죠?” vs “이거 오래 걸려요”



초기에 기획자로서 흔히 했던 실수는, 개발자에게 정확한 기간이나 요건을 설명하지 않고 금방 될 것이라 추측한 것입니다. ‘금방’, ‘오래'와 같은 단어는 주관적입니다. 내가 생각하는 금방은 하루지만 상대방이 생각하는 금방은 3일일 수 있습니다. “이거 금방 되죠?"와 같은 질문을 받은 개발자는 당연히 금방 되지 않으니 오래 걸린다고 답할 수밖에 없습니다. 그러다 보니 서로 갈등과 오해가 생기게 됩니다. 기획자는 ‘분명 이전 프로젝트에서는 금방 해주었던 것 같은데, 왜 오래 걸린다는 거지’ 혼자 생각하고, 개발자는 ‘지금 요건에서 그 기능은 금방 추가할 수가 없는데 왜 금방 된다는 거지’ 하며 답답해 합니다.


시간에 대해 설명할 때는 구체적인 언급이 필요합니다. 모호하고 주관적 단어 대신 구체적인 단어를 선택해야 합니다.


“이런 기능 요건이 추가되었는데, 3일 안에 가능할까요?”

“이 기능은 지난 프로젝트에서 사용했지만, 이번 프로젝트 개발 구조와 달라 수정이 필요할 것 같아서 3일은 어렵고 5일이 소요될 것 같아요.”


위와 같이 서로 구체적인 기간을 언급하고, 그 이유를 설명해야 불필요한 오해의 소지를 줄일 수 있습니다. 또한, 고객에게 일정을 설명할 때도 정확한 기간을 언급해주는 것이 신뢰의 기본입니다.




2. 개발자와 기획자의 서로 다른 언어

이해관계자와 수많은 커뮤니케이션 vs 프로그래밍 언어로 컴퓨터와 커뮤니케이션




기획자는 여러 이해관계자와 다양한 수준의 커뮤니케이션을 합니다. 이를 통해 일을 정리하고 상대방을 설득하며, 개발자에게도 설명합니다. 즉 기획자가 하는 모든 일은 다른 사람들에게 상대방의 생각을 올바르게 커뮤니케이션해주는 과정에 있습니다. 개발자는 해당 내용을 결과물로 보여주기 위해 일반인이 이해하기 힘든 프로그래밍 코드를 작성하고, 컴퓨터와 대화를 주고 받습니다. 기획안을 오랫동안 설명하였는데 나의 기획과 다른 개발 결과물이 나오는 일도 있고, 반대로 기획자가 가져온 그대로 개발하였는데 번복하는 상황이 생기기도 합니다.


서로가 대화하는 대상이 다름을 인지하는 것이 가장 중요합니다.

기획자는 자신뿐만 아니라 상대방의 생각도, 고객의 요구도 반영해야 합니다. 개발자는 그러한 결과물을 구현해주기 위해 컴퓨터와 끊임없이 대화하고 수정합니다. 그렇기 때문에 서로의 커뮤니케이션 대상자가 다름을 이해할 때 서로 불필요한 오해를 줄일 수 있습니다. 특히 개발언어는 정량적 측정이 어렵기 때문에 정확한 기간을 말하기 힘들 때가 있습니다.


커뮤니케이션 대상자는 다르지만 하나의 결과물을 위해 함께 협업해야 한다는 점을 기억하세요.



3. 개발자와 기획자의 논리적인 대화를 위한 3단계

“이 기능 간단하죠? 전에 한 거랑 같은데.” vs “이거 달라요, 여기엔 안 돼요.”




기획과 개발은 서로 함께 하나의 목표를 위해 달려가는 협업과정입니다. 그 과정에서 서로가 생각하는 바가 다르기도 하고 머릿속에 있는 것을 말로만 설명해서는 이해하기가 어렵습니다. 막바지에 이르러 서로 다른 결과물을 가지고 볼 수도 있습니다. 따라서 대화 전에 아래와 같은 사전 기획서 혹은 간단한 문서를 통해 대화하면 조금 더 논리적이고 오해가 적은  커뮤니케이션을 할 수 있습니다.


1) 자신의 생각을 정리한다

2) 생각을 구체적으로 손으로 그리거나 툴을 이용해 누구나 이해할 수 있게 그린다

3) 1:1로 직접 보고 대화한다


<실제 1팀에서 기획자와 개발자 간에 대화를 위해 작성한 페이퍼프로토타입, ppt 문서>



슬로워크 1팀에서 기획자는 주로 moqups.com과 ppt를 사용합니다. 와이어프레임을 그려 디자이너와 개발자에게 전달하고 내부 세미나를 합니다. 또 역으로 개발자가 기획자에게 관리자 화면이나 기획안 수정 및 요청을 할 때가 있습니다. 주로 직접 그려서 주거나 엑셀 표에 작성해서 전달합니다. 또 가까운 공간에 서로 함께 일하기 때문에 끊임없이 이야기하면서 커뮤니케이션 능력을 서로 업그레이드시키고 있습니다. 특히 제가 개인적으로 선호하는 방식은, 개발자에게 먼저 묻고 일정과 협의를 진행하는 것입니다. 그렇게 되면 일정이나 서로 개발범위에 따른 오해의 소지가 반 이상 줄어들고, 서로 존중하는 프로젝트가 진행됩니다. 개인적으로 짐작하거나 말을 걸기 두려워 지레짐작하다 보면 프로젝트는 산으로 가기 십상입니다. 최근 1팀의 대화는 이렇습니다.


“ A와 B를 통해서 C가 나오도록 해주세요, 10일간의 일정에 가능할까요? “

“네, A와 B를 OO코드로 C가 나오도록 구현할게요. 일정은 10일이면 가능할 것 같아요. ”



4. 마무리

‘우리는 모두 한 배를 타고 있다.’ 서로의 언어에 관심을 가지는 것이 시작입니다.



사실 커뮤니케이션 방법에 정답은 없습니다. 우리 팀에서 잘 맞고, 우리 팀원들과 적합한 커뮤니케이션 방식을 찾아가는 것 또한 업무의 일환이라고 생각합니다. 다만 서로에 대한 배려와 이해하고자 하는 마음 그리고 조금 더 구체적으로 서로의 업무를 설명하는 것이 신뢰를 위한 첫 걸음입니다.



Posted by slowalk




만약 나무가 말을 할 수 있다면, 어떤 말을 건낼지 궁금한적이 있지는 않으신가요?  이 프로젝트 "Talking Tree" 에서는 이런 질문에 대한 답을 내립니다. 브뤼셀 도시안에서 100년동안 서 있던 나무 위에, 먼지측정기, 오존 측정기, 라이트미터, 날씨측정기, 웹캠과 마이크를 설치하였습니다. 이 각각의 기구들은 나무의 눈과 코, 입, 귀가 되어 나무가 보고 듣고 마시고 체험하는 모든 감각을 대신하여 수행합니다. 







컴퓨터 프로그램 처리 과정을 거쳐서 여기서 수합된 정보들은 마치 나무가 이야기하는 것처럼 웹사이트에 올라오게 되지요.







한 곳에 서있는 나무는 자신이 바라보는 풍경이 날씨, 계절별로 달라지는 그 흔적에 대해서 쭉 지켜보기도 하구요.






그날 그날, 자신의 앞을 지나가는 자동차, 사람들을 지켜보면서 "오늘은 사람이 많았어요~. 오늘은 많이들 안오시네요~" 라며 이야기를 건넵니다.



식물도 하나의 생명체고, 우리들과 함께 더불어 살아가는 존재라는 사실을 다시금 떠올릴 수 있게 만들어주는 귀여운 프로젝트입니다.^^ 나무가 건네는 이야기를 듣고 싶다면 이곳(talking tree 웹사이트) 에 방문해보세요~


출처: http://talking-tree.com/


Posted by slowalk






웹서핑 도중 스크랩 해놓았던 재미있는 기사가 있었습니다.

바로 세계 언어가 멸종위기에 처해 있다는 기사였지요.
 

자연계의 종들이 멸종하듯, 언어마져 사라져가고 있는 현실이 안타깝습니다.

지구를 건강하게 하게 만드는 것이 바로 다양성이니까요.

 

세계의 언어 숫자는 대략 6,700여개입니다. 그 중에서 표준중국어,영어,스페인어가

세계인구의 25%가 세가지 언어를 사용하고 있습니다.

중국어야 중국인구(중화)가 워낙 많아서 그렇고

영어야 인구도 인구지만 팍스아메리카의 영향력 때문이고

스페인이야 제국주의의 선봉에서 식민지를 개척했기 때문이겠지요.

 

결국 언어의 소멸은 착취의 역사와 그 궤를 같이 하는 것 같습니다.


도표는 유네스코 자료입니다.

 

도표를 살펴보면 전체 언어의 62.7%가 살아있고,

멸종된 언어는 3.7%

빠른 시간안에 사라질 위기에 처해 있는 언어가 15,5%

점차 사라질 언어가 9.4%

사라질 위기로 부터 안전하지 못한 언어가 9.6%입니다.

 

미국에서만 53개의 언어가 1950년대에 사라졌습니다.

인디언을 짓밟고 큰 미국이기에 당연히 사라질 수 밖에 없지요

 

 

언어는 한 국가의 정체성이면 문화입니다.

한국어도 잘 못쓰면서,

영어를 외친다는게 사실 웃기는 이야기지요.


외국어를 많이 배울 필요가 있다고 합니다.

뻔한 이야기로 들릴지 몰라도, 외국어를 배울려면 그 나라의 문화를

제대로 이해하는 것이 전제되어야 하지요.

 

그래서 영어보다, 인문학적 소양이 전제되어야 하는 것입니다.

 

사라진 모든 언어에 대해 숙연해 질 수 밖에 없네요.







공감하시면 아래 손가락 모양 클릭^^ - 더 많은 사람들과 이야기를 나눌 수 있습니다






제 블로그가 마음에 들면 구독+해 주세요







Posted by slowalk