그 많던 유닉스/리눅스 프로그래머는 다 어디로 갔을까?

jachin의 이미지

이 글의 제목은 '그 많던 싱아를 누가 다 먹었을까'라는 책의 제목을 흉내내었습니다. 과거에 대한 아련한 향수와 더 이상 유닉스/리눅스 프로그래머로서 존재할 수 없는 프로그래머의 현실에 대해 말하고자 합니다.

최근 어린 아해에게 유닉스 시스템 프로그래밍을 가르치기로 결정하고 이런 저런 설명과 더불어 옛날부터 모아왔던 고대의 문서들을 다시 탐독하기 시작하였습니다. 유닉스의 구동 동작과 간단한 시스템 콜에 대해 한자어를 섞어가며 써 놓은 유닉스 시스템 설계 책에서부터 한창 번역서가 범람하던 시기의 책들, 신간 해외 원서, 국내 저서 등 유닉스 시스템, System V Release, Linux System Programming 관련 책을 한 번씩 훑어보았습니다. 최근엔 책이 많이 나왔는데도 아해들은 무슨 책을 읽고 어떻게 공부해야 할지 몰라서 고민을 하고 있더군요.

한 편으로는 이 많은 책들이 나오는 동안, 유닉스/리눅스 프로그래머들은 모두 어디로 갔을까 하는 궁금증이 생겼습니다. 책은 있는데 정작 이 책을 썼을 법한 사람들은 다들 어디로 갔는지... 모두들 연구기관이나 대형 전산환경에서 구동하는 서버 프로그래밍에 열중하고 계실까요? 한 때에는 질문 게시판에 스레드~ 스레드~ 노래가 흐른 적도 있었는데, 요새는 그런 내용도 못 본 것 같습니다. 메뉴얼에서 시스템 콜은 찾아보고들 계신가요?

유닉스/리눅스 개발자는 이젠 직업군에서조차 찾아보기 힘든 세상이 되어갑니다. 병렬처리, 클러스터링, 분산처리와 관련한 심화된 분야가 이들 직종이 발전한 모습으로 남아있습니다. 하지만 우리나라에서 이런 심화된 분야에 대한 수요는 별로 없습니다. 대형 금융사에서도 쓰일 법하고, 정부 주요기관과 연구기관에서 쓰일 법한 심화된 기술을 국내의 엔지니어가 처리한다는 이야기는 들어본 적이 없습니다. 아니, 어쩌면 국내 대기업 개발실에서 개발해서 납품했는지도 모르겠습니다. 그런데 정말 쓰이고 있기는 한가요?

국외에선 '협업'을 통해 새로운 기술과 페러다임, 시장을 열어가고 있다며 강연까지 하러 한국에 옵니다. 외국 커미터들도 '한국에선 연구개발에 참여할 만한 사람들이 없냐'고 물어봅니다. 한국의 대학교는 연구기관을 두고 있지도 않고, 말만 그럴싸하게 연구한다고 합니다. 연구라기 보다는 저렴한 비용의 고학력 노동자들을 이용하여 연구사업이라고 이름붙이고 사업비가 쏠쏠한 분야를 적당적당히 넘기기 위해 노력하고 있지요. 그나마 그 적당적당히 하는 분야라도 조금은 심오한 부분을 했으면 좋겠는데, 정부에서 내어주는 과제가 그런게 있을리가요.

학교 수업으로 유닉스/리눅스 시스템에서 cp, mv, ls, ps 만들면 끝나는 유닉스 시스템 프로그래밍... 거기에 TCP/IP 프로그래밍 공부하고 나면 서버 개발자가 되는 시절도 아닙니다. 요새 서버 개발을 하면 어디에 쓴답니까? 서버 성능이 부족하다고 생각하면 서버를 늘리는 것으로 해결본 덕분에 효율좋은 서버 프로그래밍 할 이유도 별로 없어졌습니다.

그래도 오랜 시간 개발도 하고 연구도 해야 합니다. 암요. 그래야죠. 그런데 이렇게 연구하고 개발해도 밥 먹기 힘든 세상이 되었으니, 막막합니다. 어린 아해에게 유닉스 시스템 프로그래밍을 가르치며, 이걸가져다 뭐에 써먹을지 얘기해주면서 이 아해 취직시킬 곳이 있을까 생각해봅니다. 역시 구글이나 네이버 뿐일까요?

댓글

mirr187의 이미지

최근 회사에서 사람을 구하면서 찾다보면 unix/linux programeer로 지원하는 사람을 보기 힘들더군요...학교 과정에서 배우고 있긴 한가... 싶을정도로..

window 기반의 java 개발자와 unix/linux c 개발자를 동시에 구해보니 50:1 정도가 되더군요....

unix/linux c 개발자로서 나중에 회사를 옮기게 되면 어디로 가야할까 생각해보니.. 통신쪽이나 금융쪽 외에는 생각이 나질 않습니다..
뭐.. embeded쪽도 있긴한데.. 지금 하고 있는 일이 DBMS개발인지라.. 맞지 않을거 같고...

그래서 고민하다보니 듣게된 이야기가 c 개발자는 수요가 많진 않지만 고정적으로 필요하기 때문에 신규 인력이 적다고 해서 큰 문제가 되지 않고 적은 인력과 좁은 인력풀내에서 계속 돌고 돌지 않겠냐고 하더군요..

순수 c 개발자로서 앞날이 걱정이 되긴합니다..ㅠㅠ

liame의 이미지

전 linux기반의 java개발자인데요? ^^;

딴지는 아니고 이런 사람도 있다구요.

oasisc1205의 이미지

DBMS 개발을 하신다니 저의 꿈입니다.

하지만 ㅇ떤거부터 공부를 해야하는지 모르겠네요

저의 꿈은 혼자서 DB의 core를 만들어보는겁니다.

gurugio의 이미지

저도 지금 리눅스/유닉스 환경에서 공통으로 사용되는
라이브러리 개발 업무를 하고 있는데요
유닉스계열 관련된 한글 정보는 거의 포기하고 있습니다.

저야 이제 막 시작하는 초짜라서 아직 배울것만 눈에 보입니다.
다른걸 생각할 겨를이 없긴한데
한가지 앞으로 변화할 개발 환경을 생각하면 C만으로는 좀 어려울것 같다는
생각이 들어서 리습같은 대안 언어를 찔러보고 있습니다.
앞으로는 퍼포먼스보다는 멀티코어나 누마 등의 환경에서
견고하게 동작하는게 중요할것 같아서요.

----
섬기며 사랑하면 더 행복해집니다.
몸에 좋은 칼슘이 듬뿍담긴 OS 프로젝트 - 칼슘OS http://asmlove.co.kr/wiki/wiki.php/gurugio

ytt123의 이미지

프로그래밍을 많이 하는 크고 작은 이공계 연구소의 기술원으로 먼저 들어갈 수 있지 않을까요?
그 다음에 필요에 따라 관련 전공으로 학위를 취득하게 되면, 고급(?) 인력으로 업그레이드 되는 한 방법일 듯 싶습니다.

잘은 모르지만 프로그래밍 기술 혹은 지식 하나만으로는 분야에 따라 석사, 박사까지 해서도 시장성과 경쟁력이 없어 보인다면
응용과학이나 응용공학쪽으로 발전시키는 것도 좋을 듯 합니다.

예전에 수학이나 물리 잘하는 사람들이 응용쪽으로 많이 진출해서 두각을 나타내는 경우가 흔하게 있었던 것처럼,
이제는 기초 튼튼한 프로그래머들의 역할이 기대되는 시기인 듯 합니다.
이미 프로그래밍 기술은 다양한 학문의 저변으로 스며든지 오래니까요.

어느 분야나 상위 몇 % 안의 그룹에 의해 주도되는 세상인 것 보면,
제기하신 문제가 리눅스 프로그래머 만의 문제는 아니란 생각이 듭니다.
세상에 온통 장미빛 미래로 도배되는, 편하고 밥벌이 잘되는 직업은 어디에도 없을 겁니다.

따라서 반대로 생각하면, 리눅스 프로그래머도 여타 직종에 비해 더 못나갈 이유가 없다는 겁니다.
그 점에서 자식들에게 추천해주고 싶기도 하고요. 물론 잘해야 된다는 전제하에서요.

anfl의 이미지

.


소타의 이미지

사족.
어린 아해 = 여자 아이 군요...

jachin의 이미지

여자아이라서 직장 구하기가 더 힘드리라 생각해요.
====
하나는 전부, 전부는 하나

sql2의 이미지

서버시장은 게임분야와 몇몇빼고는 unix/linux 일겁니다. 그러나, 서버관련 인원은 항상 애플개발인원보다 적죠. 대체로 서버는 부하를 줄일려고 이것저것 어플단으로 많이 밀죠.

데스크탑시장은 MS 원톱이니 할말이 없고,

임베디드는 리눅스이긴한데... 위의 시장에 비해서 인원도 적고, 제한된 분야(리소스)를 가지고 하고, 타겟디바이스도 매번 바뀌고, 중요한건 위의 시장에 비해서 폐쇄적입니다.

서버와 데스크탑은 하드웨어, 소프트웨어 뻔히 다 들어나 있지만, 임베디드쪽은 사정이 다릅니다.

이 그림이 모든 것을 말해주는 듯합니다. 그들은 특별하니까...

irdeal의 이미지

리눅스 프로그래머이지만 3번 그림 같은 사람은 아닌데..ㅡㅡ;
하지만 묘하게 그림을 인정(?)하는 것 같기도 하고..
이상한 웃음이 나오네요...

May The Force Be With You
irdeal

May The Force Be With You
irdeal

hurryon의 이미지

흠흠. 내가 저런가? 암울하군. ;;

ganadist의 이미지

그래도 약힌옹 주변엔 많잖아연

----

데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

jachin의 이미지

주변에 많이 있어도 ... 다들 유닉스 프로그래머로 먹고사는 사람들은 아니니까요...

초큼 슬픈 이야기라구요...
====
하나는 전부, 전부는 하나

seraphino의 이미지

흠... 전 경력 3년차 java 웹 프로그래머 인데
이번에 Linux/Unix 네트워크 시스템 프로그래머로 서버를 만드는 회사로
이직을 꿈꾸며 공부 중인데요...
정말 그렇게 수요가 없나요?? ^^;;;;;
이직 못하려나... ㅋ;;;

jachin의 이미지

어느 분야나 마찬가지겠지만, 빠른 생산과 높은 성능을 갖추기 위해서 기존 오픈소스 플랫폼을 사용합니다.
유닉스 시스템 프로그래밍을 한다고 해도, 적정한 수준의 라이브러리 호출과 함수 사용으로 끝날 법한 일들이 많지요.
그러한 일이 나쁘다는 것은 아닙니다. 오히려 오픈소스 플랫폼을 이용함으로써 생산 시간을 줄이는 선기능을 하니까요.

다만,불만스러운 것은 시장에서 사용하는 플랫폼들이 오픈소스 혹은 자유소프트웨어 라이브러리를 사용하더라도,
성능개선이나 기능 추가를 위해 공헌하는 내용이 없다는 것입니다.
물론 서버 서비스가 대외적으로 공개할 만한 것이 아닌 경우가 많지만,
적어도 국내에서 학문 기초가 쌓이고 . 많이 연구하고,널리 알려져 잘 사용하였으면 하는 바램입니다.
====
하나는 전부, 전부는 하나

sql2의 이미지

Quote:
다만,불만스러운 것은 시장에서 사용하는 플랫폼들이 오픈소스 혹은 자유소프트웨어 라이브러리를 사용하더라도,
성능개선이나 기능 추가를 위해 공헌하는 내용이 없다는 것입니다.

보통 이런 성능개선, 기능추가을 제품의 홍보, 기능에만 활용할뿐

소스(아이디어) 원천인 오픈소스에는 전혀 기여가 없다는 것이 아쉽죠.

이런 부분에서 무딘 개발자들도 있지만, 의외로 자발적으로 해보고 싶어하는 사람들은 많은 것 같은데,

회사(내부)에 괜히 말하기 뭐하고, 말해도 안될거 뻔하고, 괜히 욕먹을까봐, 책임지라고 할까봐...등등 힘든 현실이죠.

물론 기업도 먹고 살아야하지만 외국의 사례를 보면 오픈소스에도 기여하고,

그런 것을 오히려 역이용해서 제품홍보에 써먹기도 하는데...

국내에서는 일반적으로 쉬쉬하죠. 괜히 가져다 썼다는 손가락을 받을까봐, 라이센스 문제도 골치아프고...쯔읍쯥

이런 점은 초중고 교육의 문제인 것 같습니다.

2000년대부터 소프트웨어(IT)에 정부, 대학, 기업..등이 많은 투자를 했지만,

이는 대부분이 특정집단(공대쪽으로분류됨으로써성인남에가까움)을 대상으로 투자와 교육이었던 것이 문제였던거죠.

활자세대는 물건너 간 것같고, 미디어(LCD)세대에는 좀 다를지...

noname81의 이미지

Richard Stevens 책은 절판되거나 해외주문을 해야하는 것들이 대부분이네요.
쓰레드 책도 그렇구요.

아! 책아저씨라도 찾아야 하는건가...
혹시 책아저씨 근황 아시는분 계신가요? ㅋ

그리고 스티븐스 책 중에서 아래 두 책은 뭐지요?
99년도에 돌아가신 걸로 아는데요...
집필하시던 원고를 다른 분들이 추가해서 책으로 출판한 건가요?

2003 - UNIX Network Programming Volume 1, Third Edition: The Sockets Networking API - ISBN 0-13-141155-1 (with Bill Fenner, and Andrew M. Rudoff)
2008 - Advanced Programming in the UNIX Environment, Second Edition - ISBN 0-32-152594-9 (with Stephen A. Rago)

------------------------signature------------------------
Self-Pity

I never saw a wild thing
sorry for itself.
A small bird will drop frozen dead from a bough
without ever having felt sorry for itself.

- David Herbert Lawrence (1885-1930)


------------------------signature------------------------
Self-Pity

I never saw a wild thing
sorry for itself.
A small bird will drop frozen dead from a bough
without ever having felt sorry for itself.

- David Herbert Lawrence (1885-1930)

jo1413의 이미지

내가 이걸 배워서 취직할 수 있을까? -ㅁ-
아직 초보지만 갈 길이 멀군요.

뭐 먹고 살 수 있을까?
현실에서 안정적으로 살 수 있는 방법을 먼저 강구할 수 밖에 없네요.

------------------------------------------------------------
Get busy living, or get busy dying.

------------------------------------------------------------
Get busy living, or get busy dying.

익명 사용자의 이미지

우리나라에서 시스팀 공부하셔도 아직까지는 좋은 대우 받는곳을 찾기 어렵겠지만 앞으로는 좋은 시절이 오리라 생각합니다. 왜냐면 지금의
컴퓨터 시스팀은 한계에 달하였기 때문에 멀지않아 새로운 차세대 컴퓨터가 나오게 되어있읍니다. 그때 시스팀 프로그레머들의 세상이 오게 됩니다. 조금만 참고 기다리세요. 앱 프로그램과는 게임이 되지 않을것입니다. 무언가 시작이 되면 다시 연락 드리겠읍니다.

익명 사용자의 이미지

요오 거의 7 ~ 8 년전에 이 글보고
시스템 프로그래머 8년차인데

요새 크로스 플랫폼으로 모든 플랫폼에 대한 시스템 프로그래밍을 하고 있었읍죠.
근데 이게

요즘 뜹니다.
2016년의 시스템 프로그래머가 대답합니다.

그 많던 리눅스 / 유닉스 프로그래머가 사라져서

저의 경쟁력과 시대의 흐름을 탄 지금

전 매우 막강합니다.
모든 플랫폼에 관련된 서버, 클라이언트, 기반 기술, 라이브러리, 플랫폼, 오픈 소스, 시스템, 드라이버
* 이 글을 본 이후로 모두 공부해서 기술을 쌓았기 때문이죠.

그래서 2016년의 올라운드 시스템 프로그래머가 대답합니다.
그까짓거 다 공부하고 참고 있다보면,
세월의 돌림 노래처럼, 유행의 돌림처럼

지금 다시 시스템 프로그래머가 뜨고 있습니다.
다만 예전부터 준비해왔던 사람만이
부상할 수 있죠.

이리저리 휩쓸려다닌 아해들은 비교가 되지 않는 겁니다.

익명 사용자의 이미지

멋지시네요!
2009년 글이라 현재에도 유효할까 궁금했는데 마지막 글에 자극이 됩니다.

직장인이다보니 유행만 좇고 깊이도 없고, 늘 base없는 수동적이고, 눈앞의 결과만 좇는 어리석은 사람이 돼버렸네요.

이제부터 다시 기본에 충실하려 합니다.
지루하고 긴싸움이며 당장 알아 주는 이 없을거 같아 마음이 무겁습니다.

시간이 지나 몇년 후엔 님처럼 여기에 와서 "나 이만큼이나 성장했다"

글을 남기고 싶습니다.

2016.05.13
by.어느 직장의 풋내기 개발자

jachin의 이미지

세상일은 참 아이러니 합니다.

앞서 답글 달아주신 때에는 제가 KLDP 에 오지 않았던 시기였습니다.

지금 다시 글을 쓰게 된 이유는, 이 때에 공부했던 친구들, 지금도 공부하고 있는 친구들을 찾기 위함입니다.

맨 처음 이 글을 쓴 이후부터 연구는 헛되지 않았고, 과거의 사실을 잘못 해석한 것들이 존재한다는 사실을 알았습니다.

이제는 이런 내용의 공부를 다시 한 번 집대성 할 필요가 있는 것 같습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.