드디어 자유로운 프로그래머가 됩니다

운영자의 간략한 히스토리

안녕하세요 코드도사 운영자입니다.

임베디드 리눅스 프로그래머로 경력을 쌓은지 어느덧 15년. 대학을 갓 졸업하고 작은 중소기업에서 직장생활을 시작한지 벌써 15년째가 되었습니다.

첫 직장을 들어가기 전에는 “SoC”를 설계하는 Logic 엔지니어를 꿈꾸며 반도체 설계교육도 배웠고 MP3 플레이어를 직접 납땜해서 만들어본다고 집 책상에서 희뿌연 연기 마셔가며 만능기판에 부품들을 납땜해가면서 결국 만들었지만 ATmega128 플래시에 Mp3 동작 코드를 짜지 못해 결국 포기했던 기억이 여전히 생생합니다.

첫 직장을 들어가고 나서 학사 출신임에도 불구하고(SoC 설계 엔지니어는 석사 우대 하는 것을 전혀 몰랐음) 저를 신입으로 뽑아주신 첫 직장의 연구소장님의 배려 덕분에 나름 열심히 했지만 신입의 한계에 부딪혀서 SoC 설계를 해보지 못하고 회로 설계 위주로 하다가 리눅스 프로그래머가 부족하다는 회사 방침에 휘둘려 어쩔수 없이 프로그래머의 세계에 뛰어들게 되었습니다.

당시만 해도 프로그래머보다는 SoC 설계 엔지니어의 꿈이 컸던지라 계속 거부했지만… 완강한 회사 방침에 짤리는게 무서워 프로그래머를 반 강제적으로 하게 되었는데요, 지금 생각해보니 당시 회사가 너무 고맙네요. 최근에 반도체가 다시 이슈가 되고 있긴 하지만 여태까지 국내 중소 팹리스는 계속 맥을 추지 못하고 있고 하드웨어 설계 인력도 중국과 대만의 공세에 밀려 일자리를 점점 잃어가는 상황이 되버렸으니까요.

첫 회사 덕분에 프로그래머를 시작했지만 제 나름대로는 고난의 연속이었던거 같습니다. 컴퓨터 공학 전공이 아닌 전자공학 전공으로 프로그래밍을 빨리 습득하는게 어려웠고 처음으로 이직한 두번째 회사에서는 제 한계를 절실히 느껴서 아예 포기를 하고 IT 분야를 떠날까~라는 생각도 했습니다. 

그러나 그동안 해왔던 개발 경력을 포기하기엔 너무 아깝다는 생각이 들어서 꾸역꾸역 버텨가면서 나름대로 노력을 한 결과 시간이 지나면서 서서히 “한사람 몫”을 하는 프로그래머가 되갔던거 같네요. 그렇게 7년, 8년, 9년, 10년이 넘으니 그동안 못봤던 숲도 보이고 내 나름대로의 방향도 보이면서 포기하지 않길 잘했다는 생각이 들었습니다. 

하지만.. 어느 한 스타트업 기업에 들어가서 성과를 충분히 보여줬음에도 불구하고 미흡한 보상과 경영진의 속임수, 아마추어적인 외부 대응으로 인한 프로그래머들의 고생과 피해를 직접 겪으면서 “회사”에 대한 생각이 서서히 달라지기 시작했던거 같습니다.

그렇게 스타트업 회사를 퇴사한 후 들어갔던 중견 제조업 회사. 나름 해외 인지도도 있고 업계에서는 국내 원탑이라는 회사였습니다. 코스닥 시장에 상장도 했고 자체 생산 공장도 가지고 있던 회사라서 제 나름대로는 기대를 하고 입사를 했지만…

마치 군대와 같은 상명하복의 조직문화에 한사람이 모든것을 다해야 한다는 말도 안되는 업무 프로세스. 실무자 입장에서는 도저히 불가능한 개발 방향에 대해 아무리 이의제기를 해도 의사소통이 안되는 관리자와 임원진들에게 질려버리고 말았습니다. 

이런 상황에서 임베디드 리눅스 프로그래머로써의 정체성과 국내 제조업 문화에 대한 회의가 생기면서 결국 퇴사를 선택하고 제조업이 아닌 x86 기반의 장비를 개발하는 리눅스 프로그래머로 이직을 하게 되었습니다.

제조업 회사들에 비해서는 좀더 자유로운 조직 문화와 개발 프로세스를 갖추고 있어서 적응하기에 어렵지 않았고 업무량이나 소스 파악에도 크게 어렵지 않았던거 같습니다. 그렇게 나름 잘 생활하던 찰나…

미래에 대한 고민이 생겼던거 같네요. 현재 회사에서 얼마나 내가 오래 다닐 수 있을지 의문이었고 다니다보니 이런저런 단점도 보이기 시작했습니다. 그리고 현재 회사에서 아무리 열심히 해도 내게 적절한 성과 보상이 생길지에 대한 의문이 들었습니다.

요즘 프로그래머(개발자)들이 떠오르는 직종이라고 하지만 그것은 일부 대기업이나 유니콘 스타트업의 이야기가 될 수 있습니다. 대다수의 중소, 스타트업 기업들은 열심히 하는 프로그래머들에게 충분한 보상을 해주지 않습니다. 다른 직장인들과 마찬가지로 적당한 월급만 지급하는 곳이 대부분입니다.

특히 임베디드 프로그래머들의 대우는 심각한 수준입니다. 프론트엔드, 백엔드로 불리는 웹이나 앱 프로그래머들에 비해 시장 규모도 작고 중국이나 대만 같은 제조업 강국들에 밀려서 임베디드 프로그래머들의 대우는 여전히 좋지 않습니다. 경력자들의 일자리는 여전히 있지만 적은 리소스로 무지막지하게 부려먹는 제조업 회사들이 대다수이기 때문에 두렵기까지 합니다. 

저는 임베디드 시스템, 특히 리눅스가 돌고 있는 임베디드 리눅스 시스템을 좋아하고 많은 관심을 가지고 있습니다. 하지만 “대한민국”의 현실은 임베디드 프로그래머들에게 녹록치 않은게 현실입니다. 아마도 소수 대기업외에는 대다수의 중견, 중소기업에 재직하고 있는 임베디드 프로그래머들이 느낄 수 있습니다. 

물론 임베디드 분야의 프로그래머는 없어서는 안될 포지션입니다. 수많은 전자 제품에는 펌웨어나 소프트웨어가 탑재됩니다. 그래서 전자 제품을 구동하고 제조를 하려면 관련 프로그래머가 반드시 필요합니다. 하지만 상대적으로 열악한 환경과 대우 때문에 그동안 이쪽 분야에 종사하던 프로그래머들이 전향하거나 떠난 모습을 본적이 있습니다.

물론 방법은 있습니다. 실력이 “탑”급이 되면 됩니다. 그렇게 되면 여기저기서 모셔갈 수도 있습니다. 그러나 전반적인 업계의 모습이 이렇다면 어차피 다른곳으로 이직을 해봤자 비슷할 것입니다. 연봉이 1억을 넘었다고 하더라도 군대식 상명하복 문화나 수직적 조직문화에서 프로그래머들은 힘이 들 수 밖에 없습니다.

그렇게 잠시 제조업을 떠나 현재 회사로 이직을 했지만 여러 고민들이 생겨 결국 “퇴사”를 결심했습니다. 

그럼 넌 뭐 먹고 살래?

현 회사에 “퇴사 의사”를 전달했습니다. 조만간 퇴사 처리가 되면 공식적으로 직장인이 아닌 “백수”가 되는 셈이지요 ㅋ

현재 재직중인 회사에는 다닌지 5개월이 채 되지 않았습니다. 그리고 자잘한 이슈 처리와 업무 파악 위주로 하느라 회사에 큰 보탬이 되진 않은거 같습니다. 이 전 직장에 “제조업” 회사였는데 엄청난 업무량과 수직적인 조직문화에 스트레스를 받고 있던 저를 불러주신 현 회사 대표님에게 정말 죄송하다는 생각이 많이 들었습니다.

또한 전 나이 40이 넘고 아이가 있는 한 가정의 가장입니다. 그래서 가정을 책임져야 하는 막중한 임무도 가지고 있습니다. 

주변에 “퇴사”에 대한 조언을 구했을때(양가 부모님 제외 ㅋ) 인플레이션이 폭발하고 금리가 오르는 이런 엄중한 시기에 “퇴사”가 왠말이냐며 미친놈 아니나며 대다수가 반대를 했습니다. 그럼에도 불구하고 “자유로운 프로그래머”가 되고 싶다는 생각 하나로 수많은 고민끝에 “프리랜서” 활동을 시작하기로 결정했습니다. 

자유로운 프로그래머가 되고 싶은 이유는 이렇습니다.

대한민국 제조업 개발 문화에 대한 실망. 

임베디드 리눅스 프로그래머의 열악한 대우와 처우

임베디드 프로그래머의 한계 돌파(타 분야 접근)

예전부터 “자유로운 프로그래머”를 꿈꿨지만 이런 저런 사정으로 인해 실행을 하지 못하다가 지금 아니면 기회가 없겠다는 생각에 과감히 결단을 내렸습니다. 그런데 당장 계약을 따거나 일거리를 따지도 못한채 실행을 하다니…(이런 미친놈 ㅋ)

네 그렇습니다. 전 직장에서 받던 월급을 제외하고는 딱히 수입이 없습니다. 그럼에도 자유로운 프로그래머가 되기 위해서는 지금부터라도 실천을 해야 겠다는 생각이 강해졌습니다. 또한 제 나름대로는 여전히 실력이 부족하다고 느꼈습니다.

실력을 키우고 더 인정을 받기 위해서는 “자유로운 프로그래머”가 되어서 시간을 확보해야겠다는 판단이 들었습니다. 기존 제조업 회사나 현 회사에서는 내 실력을 키우기에는 적합치 않았습니다.

당장 생계를 유지할 수입원을 만들 대책은 없지만 뭐 하다 보면 되겠지요. 영화 기생충에서 송강호의 이런 말이 떠오릅니다. “계획이 없는게 계획이다…” 

최근에 “Flutter” 를 통해서 모바일 앱을 공부하고 있었는데 앞으로는 모바일 쪽도 관심을 가지고 해볼 생각입니다. 임베디드 프로그래머로서 가졌던 한계를 뛰어넘어보고 싶습니다.

그렇다고 해서 “임베디드 소프트웨어”를 아예 안하겠다는 것은 절대 아닙니다. 임베디드는 제게 있어서 꽤나 중요한 분야중에 하나이기 때문에 앞으로도 지속 하면서 코드도사 사이트에 지속적으로 관련 내용을 공유할 생각입니다.

향후 계획

몇가지 생각해 논 것은 있습니다.

제가 나름대로 정리한 “소프트웨어 수익모델”에 대한 글입니다. 위 글은 소프트웨어 산업이 어떻게 수익을 창출하는지에 대한 전반적인 내용을 정리해 본건데요, 여기서 제가 “프리랜서”로 활동하면서 할수 있는 일들은 몇가지가 있을 수 있겠네요.

  1. 임베디드 소프트웨어 외주개발
  2. 모바일 앱 개발
  3. 코드도사 사이트 운영
  4. 오픈소스 프로젝트 진행
  5. 임베디드 리눅스 교육

뭐 이정도를 할수 있을거 같네요. 그 외에는 저같은 개인 개발자가 하기에는 어려울꺼 같습니다.

임베디드 소프트웨어 외주개발

IT 분야에서 대다수의 “프리랜서” 들은 기업과 계약을 맺고 “외주 개발”을 통해 수익을 얻습니다. IT  쪽에서는 프리랜서 들이 주로 웹, 앱, 모바일 쪽 개발 프로그래머들이 많이 활동을 하고 있는 편입니다. 

반면에 “임베디드 프로그래머” 들은 프리랜서로 활동하는 분들이 거의 없다시피 한다고 들었습니다. 오 이런… 

예전에 주변의 소개로 외주 개발 프로젝트를 “알바” 식으로 한적이 있었습니다. 당시에는 나름 짭짤한 수익원이었던거 같네요. 하지만 그런 일이 많이 없다는게 함정이에요.

일단은 제 어필을 위해 아래 링크 참고해 주세요

위 링크는 제 소개를 간략히 해놓은 페이지 입니다. 코드도사 사이트의 상단 메뉴에서 “About” 을 클릭해도 됩니다. 

여기에 지금까지 제가 경험을 했던 프로젝트들을 기술을 해놨는데요, 제가 일 시키기에 쓸만하고 같이 일할 만하다 싶으면 제게 “메일”로 문의 주시면 됩니다^^

모바일 앱 개발

무려 10여년전 부터 해보래고 했던 모바일 앱 개발을 이제서야 해보려고 합니다. 제 나름대로는 해보려고 자바 책이랑 코틀린, 안드로이드 앱 개발 관련 서적들만 주구장창 구입했었는데.. 여전히 해보지 못하다가 현 회사를 퇴사하고 나서는 한번 마음먹고 해보고 싶네요.

요렇게 책만 사놓고 말만 앞섰지만 회사일로 바쁘다는 핑계만 댔던 지난날을 곱씹어보며… 뭐 지금부터 다시 시작하면 되지요 ㅎ

최근에는 플러터라는 크로스 앱 개발 플랫폼이 등장해서 안드로이드 앱 뿐만 아니라 iOS 앱 개발도 가능해져서 어느정도 앱을 만들 수준이 되면 “맥북”을 사야 하나? 라는 생각이 드네요. 뭐 그건 제가 그 수준까지 가고 나서 걱정할 문제입니다.

앱 개발을 통해 새로운 수익 모델을 구축할 수 있지만 일단은 큰 욕심 안부리고 앱 개발을 통해 우리 가족이 먹고 살 정도만 되면 좋겠다는 “희망회로”를 돌려 봅니다 ㅎㅎㅎ

코드도사 사이트 운영

벌써 코드도사 사이트를 운영한지 “4년차”가 되었다는 놀라운 사실을 전해드립니다.

2018년초에 제가 알고 있는 정보를 공유하고 공부하기 위해서 개설 했던 사이트인데요 운영한 기간만큼 글을 많이 올리지 못해 죄송스러운 마음을 가지고 있습니다. 

그럼에도 많이는 아니지만 나름 방문을 해주시고 계시는 분들이 계셔서 제 나름대로는 보람을 느끼고 있습니다. 그래서 댓글로 질문을 해주시는 분들에게 감사하는 마음으로 최대한 답변을 해 드리려고 노력을 하는 중입니다. 

댓글 시스템으로 “DISQUS” 라는 플랫폼을 현재 사용중인데요. 근데 요놈이 어느정도 방문자가 사이트에 유입이 되면 “상업적” 사이트로 판단을 해서 자동으로 광고를 붙여 버리더군요.

바로 요렇게 말이지요. 이건 제가 붙인게 아니니 절대 오해하시면 안됩니다^^ 

방문자 분들의 가독성을 해쳐서 영 마음에 들지 않아 댓글 시스템을 다른 것으로 바꾸려고 하다가 기존에 댓글이 꽤 달리는 바람에 DISQUS 시스템을 일단은 유지해야 하는 걸로 생각은 했습니다. 댓글이라는게 다른 분들에게 공유되면 그것도 꽤나 괜찮은 정보가 되거든요.

저 광고를 없애려면 DISQUS에 월 얼마씩 지불해야 하는데요. 일단은 좀 부담이 되서 당분간은 현 상태를 유지하면서 고민을 해볼 생각입니다. 오시는 분들께서는 광고가 거슬리더라도 양해를 부탁드립니다^^

앞으로 코드도사 사이트의 운영 컨셉이 살짝 달라질 예정입니다. 그동안은 프로그래밍이나 기술적인 정보 위주로 글을 썼는데요, 이들 정보 외에도 IT 전반적인 내용에 관해서 폭넓게 적어볼 생각입니다. 물론 기존에 프로그래밍이나 기술적인 정보도 더욱더 많이 공유할 예정입니다. 

대신에 제가 “프리랜서”를 하게 되어서 코드도사 사이트에는 “수익적인 글”도 올릴 계획입니다. 코드도사 사이트를 방문해주시는 분들께 먼저 폭넓은 양해를 부탁드립니다^^

이해 해줄꺼죠? ㅎㅎ

오픈소스 프로젝트 진행

임베디드 리눅스 프로그래머인 제가 추구하는 궁극적인 목표입니다. 국내에서도 오픈소스 프로젝트를 통해 수익을 낼 수 있는 그런 솔루션을 만들어 보고 싶습니다.

얼마 전(꽤 된게 같네요 ㅋ)에 OpenWRT를 이용한 오픈소스 프로젝트를 시작하였고 깃허브에 올렸으나 통 진행을 하고 있지 못하고 있네요. 회사를 그만두게 되면 시간이 좀더 많아지니 오픈소스 프로젝트에도 더 많은 시간을 투입할 수 있을거 같습니다.

물론 급하게 하지 않고 천천히 할 생각입니다. 당분간은 제가 생계 유지를 위해 이것저것 일을 하게 되어 바뻐질 가능성이 있으므로 당장을 하기 어려울 수 있습니다. 

임베디드 리눅스 교육

대학때 집에서 PC에 리눅스를 직접 설치하여 Apache + PHP + Mysql  조합으로 웹서버를 운영해봤던 경험을 시작으로 근 20년 동안을 리눅스와 함께 살아왔던거 같습니다. 물론 처음에는 제게 매우 어려웠답니다.

구글에서 검색해가면서 아파치와 PHP, Mysql을 리눅스에 설치하고 직접 설치해서 동작했을때 그 기쁨이 생각나네요. 그렇게 그 대학생은 하드웨어 엔지니어를 거쳐 리눅스 시스템을 직접 개발하는 프로그래머가 되었으니까요^^

물론 저는 아직도 많이 부족하고 배워야 할께 많습니다. 

위 글들을 올리고 나서 꽤 많은 분들이 읽어주시고 댓글로 질문을 남겨주셨습니다. 제게는 꽤나 보람된 일이었던거 같네요.

전 직장에서 이제 갓 대학을 졸업하거나 졸업 예정중인 신입 프로그래머들과 대화를 해봤을때 “리눅스” 나 “임베디드 리눅스” 에 대해 배울 기회가 없다는 이야기를 들었을때 괴리감이 들기도 했습니다. 제가 대학때만 해도 리눅스를 배우고 공부하는 주변 사람들이 꽤 있었는데 현재는 그렇지 않다는 것이겠죠?

그런데 그 신입 프로그래머들은 리눅스나 임베디드 리눅스에 대해 꽤나 배우고 싶어했습니다. 하지만 대학의 과목이나 교육 과정이 개설된게 많지 않아서 배울 기회가 없다는 이야기를 들었을때 제가 도움을 주면 어떨까? 라는 생각도 들었습니다.

그래서 여전히 부족하고 공부해야 할 께 많은 저지만 리눅스나 임베디드 리눅스에 대하여 코드도사 사이트에 더 많은 글을 올리고 기회가 된다면 개인 오프라인 교육도 해보면 좋겠다는 생각이 들었습니다. 

물론 여전히 생각중인데요, 어느정도 준비가 되면 “리눅스 & 임베디드 리눅스 개발 교육” 과 관련하여 별도로 코드도사 사이트에 알려드리도록 하겠습니다.

마무리

그동안 15년 동안 회사에서 개발을 하면서 별의별 일도 다겪고 이런 저런 탈도 많았습니다. 월급이 밀려보기도 하고 회사에서 권고 사직을 당해보기도 했으며 회의 석상에서 대판 싸워보기도 하고 말도 안되는 개발 요구사항으로 인해 엄청난 스트레스를 받기도 했습니다. 

프로그래머는 개발만 잘하면 되는 줄 알았지만 사내 정치적으로 타겟이 되기도 하고 아무리 열심히 해도 내 월급은 정해져 있다고 깨달았을때 번아웃이 오기도 했습니다. 군대식이고 수직적인 제조업 문화가 싫어서 제조업 회사를 잠시 떠나자고 결심도 했습니다. 

하지만 그동안 쭉 버텨온것은 “개발이 좋아서” 입니다. 개발은 제게 너무 흥미롭고 재미있는 일 중에 하나입니다. 여전히 실력은 부족하지만 제게 기회를 계속 준것도 프로그래밍이었습니다.

이제 15년 동안의 직장 생활을 잠시 마무리하고 “자유로운 프로그래머”로의 길을 걷기로 결심했습니다. 물론 이 길이 계속 유지될지는 모릅니다. 지속적인 수입이 창출되지 않거나 생계가 어려워지면 다시 “회사”로 복귀해야 될지도 모릅니다. 

안정적인 생활은 아니지만 지금 아니면 기회가 없다는 판단에 과감히 결단을 내렸습니다. 회사를 다니면 내 월급은 당분간은 보장해주지만 평생 내 생계를 책임져 주지는 않습니다. 이건 프로그래머 뿐만 아니라 모든 직장인이 마찬가지일 것입니다.

혹여나 이 글을 읽으시는 사회 초년생이나 경력이 많지 않은 프로그래머들은 저의 길을 절대 따라하시면 안됩니다.ㅎㅎ 프로그래머로 성공을 하고 싶다면 초기 몇년간은 반드시 회사를 다니면서 개발 경력을 꼭 쌓으시길 부탁드립니다. 그 뒤에 저같이 자유로운 프로그래머를 꿈꿔도 늦지 않습니다. 

이상으로 코드도사 운영자의 “자유로운 프로그래머”로의 시작에 관한 긴글을 마무리 해봅니다. 너무 쓸때없이 글이 길었네요 ㅎㅎ  

코드도사 사이트를 방문해 주시는 분들께 행운이 깃들길 기원하며….

'코드도사(codedosa.com)'에는 쿠팡파트너스 등의 제휴링크가 포함되어 있으며 수수료를 제공받을 수 있습니다.