본문 바로가기

Dev.../소프트웨어 아키텍처

미래에 소프트웨어 개발자를 꿈꾸는 학생들에게...

마이크로소프트웨어 2013년도 1월호 원고

삐딱한 아키텍트의 생각

미래에 소프트웨어 개발자를 꿈꾸는 학생들에게...

정말 재미있게 시작한 소프트웨어개발도 가장 ‘지루하고 재미없는 일’이 되는 것이 대부분의 소프트웨어 개발업(?)이라는 것을 알고 있는가? 다른 공부와 관심사항들을 모두 뒤로 하고 소프트웨어 개발만 하면서 살고 싶은 학생들이 생각하는 소프트웨어 개발의 세계에 대해서 정말 심각하게 생각해보게할 만한 내용으로 이번 컬럼을 진행하도록 하겠다.

필자가 처음 컴퓨터를 초등학교(요즘 초등학교) 6학년때부터 손으로 두둘기게 되면서 품었던 오래된 꿈은 ‘소프트웨어 개발’을 하면서, 생계를 유지하고 이 재미있는 세계에만 빠져서 살게 해달라면서, 이 세계에 들어왔다. 하지만, 현실의 세계는 그렇게 재미있는 소프트웨어 개발만이 우리를 기다리지 않는다. 왜? 그런지에 대해서 생각해보는 시간을 가져보자.

------------------------<필자 사진/ 전달 동일>-------------------------

신현묵 supims@gmail.com, 트위터 @zetlos | ㈜헬스허브의 HIE사업부 담당이사와 (주)DRSoft의 고문이사로 활동하고 있다. 과거 우리들병원그룹과 명지병원에서는 정보시스템 구축과 운용 업무를 총괄하는 등 온라인게임 개발부터 대형 SI까지 넓은 경험의 폭을 지녔다. 소프트웨어 아키텍트 생활을 오랫동안 해오고 있으며 지식경제부 산하 KEA 디지털병원수출기획단의 디지털병원 지원사업 기술위원장을 3년간 역임했다. 현재는 정보통신산업진흥원의 소프트웨어아키텍트실무포럼의 의료분과장으로 활동 중이다.

---------------------------------------------------------------------

소프트웨어 아키텍트가 알아야 할 97가지

소프트웨어 누가 이렇게 개떡같이 만드는 거야?

위대한 게임의 탄생

재미있는 책이고, 재미있는 소프트웨어 개발세상에 대해서 이야기를 하는 내용을 언급하고 있는 내용이다. ‘소프트웨어 아키텍트가 알아야 할 97가지’는 40여명의 경험이 풍부한 소프트웨어 아키텍트들이 소프트웨어를 개발하면서 느끼게 한 소프트웨어 아키텍처에 대한 자신의 생각과 충고에 대한 글들을 모아두었다. 재미있는 소프트웨어 개발과 자신의 기술적인 요소를 어떻게 적극적으로 활용하는 방법, 능력있는 팀을 만드는 방법까지 능수능란하게 중요한 원칙들에 대해서 위트있는 소재로 언급한 내용들이 서술되어 있다. 이 책은 소프트웨어 아키텍트에 도달한 달인들이 자신들의 생각과 경험을 통해서, 소프트웨어 개발의 밝은 측면을 보여준것이라면.

두 번째 ‘소프트웨어 누가 이렇게 개떡같이 만드는 거야?’라는 책은, 엄청난 비용과 시간을 투자하여 만든 보안시스템이 보안담당자에게 걸려온 전화한통에 의해서 무력화되는 어이없는 상황에 대해서 여과 없이 보여준다.

세 번째 ‘위대한 게임의 탄생’이라는 책은, ‘유저를 행복하게 해줄 수 있는 게임은 불행한 개발자에게서 나오지 않는다’라는 말처럼, 1편과 2편의 매우 재미있고, 흥미로운 게임 개발의 세계에 대해서 보여주고 있다. 1편은 주로 해외게임들, 2편은 국내 게임 개발과 관련된 내용들로 재미있게 구성되어 있는데. 개인적으로 2편이 더 재미있고 흥미로웠다. 소프트웨어라는 것이 소프트웨어 개발자들 이외의 세계와 연결되어진 통로와 실제 생활들을 적나라하게 보여주는 아주 극과극을 달리는 중요한 세 개의 서적이 되겠다. 전문가의 입장, 황당한 현실, 그리고. 멋진 개발의 모습.. 이 3권이면 소프트웨어 개발의 전체를 간단하게나마 소개할 수 있지 않을까? 하지만, 실제, 현실의 소프트웨어 개발은 참으로 아주 지루하고 재미없고, 기계적인 반복작업의 연속이다. 재미있는 흥미요소들을 모두 제외하고, 무미건조한 프로세스로만 살펴보자. 그렇다면, 이런 재미없고, 반복적인 실제 소프트웨어 개발을 하는 방법과 절차만 남게된다.


소프트웨어 개발과정을 도식화 하면 위의 그림과 같다. ‘정해진 명세’에 따라서, ‘지시된 설계’를 만들고, ‘구현’하고 ‘테스트’를 하는 과정을 무한반복하는 것이 소프트웨어 개발을 포장없이 표현한 것이다. 실제, 소프트웨어 개발의 환경은 이렇게 ‘무의미한 작업’의 계속된 반복인지도 모른다. ( 정말 재미요소를 빼면 그렇다. )

필자도 ‘기업용 어플리케이션’을 만드는데 있어서 이런 단순 반복적인 공정을 통하여 만들어진 산출물이 가장 효과적이라는 것에 대해서 부인하지 않는다. 대부분의 기업용 어플리케이션은 다양성과 창의성은 필요없고, 구체적이고 확실한 결과물만을 원하는 경우가 많다.

실제 그 도메인과 업무의 매력이 충분하게 느껴지지 않는다면, 소프트웨어 개발은 정말 지루하고 재미없는 일이 된다. 학생들이 소프트웨어 개발에 대해서 착각하는 여러 가지 이유중의 하나가, 소프트웨어 개발은 정말 ‘창의적인’것을 요구하는 것이 많을 것 같다고 착각하는 것이다. ( 대부분의 국내 소프트웨어 개발은 ‘창의적인’것은 그다지 필요 없다. )

물론, 사용자에 대한 고려, UX, 서비스의 풍부함을 연구하고 이를 구현하여 서비스를 자유롭게 발전시키는 식의 개발이 가능한 곳도 있으며, 이러한 환경에서 프로그래밍을 구사하고, 그것을 표현하는 일을 하는 사람들도 없는 것은 아니다. 하지만, 과연 그러한 일을 하는 사람이 얼마나 될것인가? 특히, 대한민국에서?!!!

2013년을 새롭게 시작하는 후배들이여, 구로 디지털단지에서 오전에 출근하는 개발자들과 오후에 퇴근하는 개발자들을 전철역에 서서 바라보아라. 얼마나 척박한 개발자의 삶을 살고 있는지 생각해보라는 것이다.

언제부턴가, 소프트웨어 개발자들의 전통적인 개발자 커뮤니티는 쇠퇴하기 시작했다. 과거에는 소프트웨어 개발자 커뮤니티를 보지 않고, 바라다 보지 않고 있으면, 개발일을 못하던 시대가 있었다. 물론, 아직도 그러한 개발자 사회가 있기는 하다. 자바 개발자 커뮤니티는 여전히 튼실한 사용자 커뮤니티를 유지하고 있으나, 그밖에 커뮤니티들은 대부분 과거의 영광들을 모두 잊어버렸다.

더 심각한 것은 ‘현재의 개발자들은 기술을 공유하고, 자신의 생각을 토론할 수 있을 만큼의 여유가 사라졌다는 점’이다. 지금, 구로디지털단지역에서 내리고 오르는 개발자들이 출퇴근시간에 스마트폰을 가지고도 개발자 커뮤니티에 글을 올리거나 접속할 마음의 여유가 사라졌다는 것이 가장 슬픈지도 모르겠다. 물론, 이러한 개발자 커뮤니티에 의존하지 않더라도, 쉽게 정보를 찾을 수 있는 시대가 된것도 또 하나의 원인인지 모르겠다. 하지만, 현재에도 매우 활성화된 개발자 커뮤니티들이 존재하고 있고, 왕성하게 활동한다. 그러한 왕성한 활동을 보이는 조직의 공통점이 몇가지 있다.

그것은 ‘신입/초보’에 대한 배려를 잊지 않고 있는 곳이다. 물론, 이러한 개념을 확대하면, 초보사원들에 대한 ‘배려’를 잊지 않는 소프트웨어 개발자 기업이 최고의 기업이라 할 수 있겠다.

잉여개발과 독립개발을 꿈꾸는 사람들

정말 개발일을 즐기고 싶다면, 차라리. 직업적인 프로그래머가 되지 않는 것이 방법이기도 하다. 아예, 독립개발과 잉여개발을 취미로 시작하면서, 자신의 독자적인 솔루션을 찾거나 만드는 방법도 최고의 방법이다. 굳이, 소프트웨어 개발을 회사에 입사해서 직업적인 관점에서 접근하는 것만이 최선의 시대가 되지 않았나 한다. 요근래 뛰어난 개발자들을 보면, 전공을 소프트웨어 관련으로 공부하지 않고서도 전문가의 경지에 이른 사람들이 더 많아졌다. 아이러니하게도 융합의 시대에 타 도메임의 전문적인 지식을 가지고 소프트웨어 기술을 효과적으로 활용할 줄 아는 인재가 최고의 인재로 대우받는 시대가 된것 아닌가 하다. ( 실제 필자의 주변에도 의사, 수의사등 다른 전공을 했지만, 최고의 소프트웨어 엔지니어가 된 사람들이 부지기수이다. )

이제, 각자 창업을 하거나, 개별적으로 자기가 하고 싶은 일이나 솔루션, 서비스를 각자 알아서 개발하더라도, 이를 충분하게 홍보하고, 주변에서 활용할 수 있게 하는 다양한 서비스들이 매우 많이 생겨났다. 그래서, 소프트웨어 개발을 굳이 회사에 입사해서 할 필요가 없어진것도 사실이다. 하지만, 소프트웨어 개발자가 되는 것과 창업을 하는 것은 완전 다른 영역이다.

요리사가 요리만을 잘한다고 전문 레스토랑을 오픈하고 손님을 맞이할 수 있을까? 절대 그렇지 않다. 요리와 전문레스토랑 경영은 사실상 다른 영역이고, 실제 산업계에 들어가보더라도, 전문 경영인의 세계와 전문 요리의 세계는 완전하게 구분되어있다. 물론, 드라마나 영화에서처럼 둘다 잘하는 천재들이 실제 세계에도 가끔 존재하기는 하나, 말 그대로 그것은 소수의 타고난 천재들만 가능하다. ( 뭐, 실제 보면.. 정말 대단한 사람들을 볼 수 있다. )

대부분의 요리사들처럼, 개발자들도 경영에는 빵점이거나 소질이 없는 경우가 많다. 창업의 세계는 완전하게 별개의 영역이므로, 나중에 다시 한번 소프트웨어 개발과 창업에 대해서 언급할때에 따로 이야기를 하도록 해보자.

소프트웨어 개발만 하고 싶어요. 학교 공부는 좀 적게할 방법이 없나요?

소프트웨어 개발을 하는 사람이, 글을 잘 쓰거나, 그림을 잘보거나 이해하는 것들의 주변적인 지식이 필요없을까? 아니다. 소프트웨어 개발을 제대로 멋지게 하려면 그러한 인문적인 지식이 오히려 남들과 다를 정도로 탁월하고 상식 또한 시야가 매우 넓어야 한다.

필자가 아는 뛰어난 소프트웨어 개발자들 대부분이 특정 분야에서는 매니악을 넘어선 오타쿠 수준이고, 독서능력과 수학적인 능력, 거기에 어학적인 능력까지 탁월한 소프트웨어 개발자들이 더 멋지게 성장하는 모습을 많이 보아왔다. 오히려, 10대 때에 미치도록 다른 분야에서 탁월한 성과나 효과적인 지식들을 습득한 사람들이 더 뛰어난 개발자가 되는 것을 많이 보게된것이다. 그것은, 자신의 재능과 지식을 소프트웨어 개발이라는 매우 기능적인 것으로 통합한 것이기 때문이다. 소프트웨어 기술은 이렇게 ‘지식’과 ‘정보’를 자유롭게 다루는 기술이다. 그래서, ‘지식’과 ‘정보’가 없이는 아무리 뛰어난 소프트웨어 기술도 못 없는 망치일 뿐이다.

하드웨어 개발도 결국, 소프트웨어 파워가 중요하다.

<-- SSD 그림-->

SSD의 핵심은 낸드 플래시 메모리이다. 그리고, 그 낸드 플래시 메모리의 저장방법은 조금은 복잡하지만 쉽게 설명하면, 플로팅 게이트라 불리우는 메모리 셀구조에 있어서 전압을 가해서 전압이 낮으면 1, 전압이 높으면 0으로 할당하여 저장하는 방법이다. 전압을 상승하고 내려서 0, 1을 쓰는 방법을 사용해서 데이터를 저장한다. 그리고, 그 사이에 ‘절연막’을 통과하는데, 이 ‘절연막’이 손상되어지면 더 이상 쓰기 기능이 작동하지 않으므로, SSD의 수명이 종료되는 방법이다. ( 아주 자세한 내용을 정말 ~~ 간단하게 줄인 것이다. )

현재는, 이 0, 1의 전압을 좀더 세분화하여 3단계로 구분하는 방법까지 개발되었고, 이렇게 세분화 하다보니, 쓰기를 한번더 하는 방법을 통하여 유지하는 방법까지 개발되어서 2013년도에는 좀더 용량은 커지지만, 속도는 조금 떨어지는 방식의 SSD도 출시된다고 한다.

이러한, SSD의 핵심 또한 소프트웨어라고 볼 수 있다. 똑같은 하드웨어의 구조를 어떻게 소프트웨어로 구사하느냐가 그 절대적인 용량이나 속도를 비약적으로 증대시킬 수 있다. 필자의 12월호 컬럼에서도 이야기했듯이, 고품질의 영역이 필요한 항공기나 원전과 같은 곳의 중요한 컨트롤 소프트웨어들 또한 매우 중요한 작업영역들이다.

소프트웨어 개발자를 꿈꾸는 부모님들에게...

필자도 고등학교 1학년 큰아들녀석을 둔 아이의 아빠입니다. 개인적으로는 소프트웨어 개발자가 되었으면 바람도 있고, 그 녀석의 어머니도 마찬가지 바램입니다. 소프트웨어 개발자의 미래가 충분하게 희망적이기 때문이죠.

다만, 그렇다고. 아이에게 프로그래머가 되라고 강요는 하지 않았습니다. ( 다만, 중학교 시절에 정보처리 기능사 시험을 볼정도로 개인적으로 가르치키는 했습니다. ㅇ.ㅇ). 요즘은 자기가 좋아하는 일을 하면서 살았으면 좋겠다는 생각을 하고 있습니다.

부모된 입장으로써 아이가 ‘행복’하기를 바란다는 것은, 타인에게 존중과 인정을 받는 삶을 만들어주는 것이라고 생각합니다. 물론, 돈도 어느정도 필요한 일이겠지만요. 부모된 입장으로써 아이에게 조언을 해주는 것은 포기하면 안됩니다. 최소한, 아이가 행복하게 어떤 일을 선택할 수 있게하는 것 까지는 해줘야할 것이라고 생각합니다.

분명, 대한민국IT의 불합리한 글과 미래에 대한 수많은 이야기들이 주변에 많이 이야기되고 있는 것은 알고 있습니다. 하지만, 이미 전세계적으로 소프트웨어 개발자는 최고의 직업이며, 앞으로도 더욱더 중요한 역할을 담당할 것으로 믿어 의심치 않고 있습니다.

이미, IT기술은 모든 비즈니스의 중심적인 역할을 담당하고 있고, 빅데이터라는 새로운 개념은 비즈니스의 기회까지도 IT를 통해서 만들어 나간다고 할 정도로, 소프트웨어의 세계는 매우 미래지향적인 직업입니다.

다만, 대한민국의 대부분의 소프트웨어개발자들의 2/3정도는 일반적이고 ‘따분하고’, ‘지리한’, 기업용 소프트웨어를 개발하는 직업에 종사하고 있습니다. 하지만, 이런 일은 계속 줄어들것이며, 향후 완전 자동화되거나 패키지시장으로 진입하는 시대가 올것입니다. 냉정하게 꿈꾸는자가 이야기하자면, ‘SI 서비스업’은 결코, 우리가 이야기하는 IT나 소프트웨어 개발자들을 표현할 수 있는 세계가 아닙니다. 말그대로 ‘인력중심의 서비스업’일뿐이죠.

과거의 전산화소프트웨어들이 단지 효율성을 높이기 위한 도구였다면, 현재의 소프트웨어들은 인간의 삶과 질을 향상하기 위한 소프트웨어들로 발전하고 있다는 것을 말하고 싶다는 점이다.

제대로된 소프트웨어 개발자가 되려면 무엇을 공부해야하는가?

최소한 제 주변에 있는 고급개발자들이 동의하는 첫 번째는 바로 ‘소프트웨어 이론’이 정립되어진 사람입니다. 자료구조라고 이야기하는 소프트웨어와 관련된 기초이론이 튼튼해야 한다는 것이 그 첫 번째 일것입니다. 아무리 빠르게 변하는 소프트웨어의 세계이지만, 기본적인 기초이론은 아마도, 변하지 않을 것입니다.

둘째는 오픈소스와 같은 개발 커뮤니티에서 공동으로 꿈을 꾸는 그 무언가를 한번 만들어 보는 것입니다. 이는, 적극적으로 무언가를 위해서 자신의 시간을 투자하고 ‘잉여’를 제대로 활용할줄 아는 사람으로 변화하게 합니다. 적극적인 자신의 모습이 변화되는 모습을 느끼게 될것입니다.

마지막 세 번째는 폭넓은 상식과 인문학적인 개념입니다. 이제, 소프트웨어는 사람과 사람을 이해하지 못하면, 제대로 그 무언가, 어떤 서비스를 제대로 구현하지 못하는 시대가 되었습니다. 이제는, 세상의 새로운 가치를 창출하거나, 사람들이 즐거워할 그 무언가를 위해서 자신의 ‘잉여’를 풀줄 아는 사람이 최고의 인재로 대우받는 세상입니다.

특히, 마지막 세 번째는 이제 막 중/고등학교를 다니거나, 소프트웨어 개발에 눈을 뜬 어린 개발자들에게 꼬옥 하고싶은 말이기도 합니다. 이제, 소프트웨어 개발은 ‘인문학’적인 소양이 없으면, 더욱 성장할 수 없는 시대가 되었고, 필자인 꿈꾸는자가 소프트웨어 개발을 꿈꾸던 시대와는 완전히 다른 세상이 된것이죠. 필자가 소프트웨어 개발을 꿈꾸던 시대에는 인문학적인 소양이 없어도, 오로지 컴퓨터 소프트웨어 언어만 익숙하면, 소프트웨어 개발이 가능한 정말 낭만적인 시대였습니다. 왜냐하면, 당시의 소프트웨어 개발의 대부분은 지루하고 재미없는 기업용 소프트웨어의 개발이 대부분이던 시대였으니까요. 현재의 어린 개발자분들은 좀더, 인문학적인 소양도 같이 끌어올려야만, 제대로된 소프트웨어 개발이 가능할 것입니다.

회사와 동아리의 차이점...

소프트웨어개발자들의 세계는 생각보다 오픈되어 있을것 같지만, 실제 사회에 들어와 보면, 그렇지 않다는 것을 처음 느끼는 순간 매우 큰 좌절에 빠지기도 한다. 안타깝지만. 회사 동료들 사이에서는 적절한 거리를 유지하는 것을 배워야 하는 것을 알아야한다.

학교때의 동아리의 선배처럼 인정으로 이끌어주는 환상은 말그대로 환상일 뿐이다. 회사라는 조직에서는 ‘이윤추구’라는 절대 절명의 명제를 실현해야하기 때문에, 다른 사람의 아이디어나 성과를 집어삼키는 경우는 너무도 많다, 아니. 거의 대부분이라고 해야 맞을 것이다. 물론, 그런 식의 아귀다툼과 같은 회사는 잘 발전도 못하고, 비전도 없는 회사가 되기 때문에 만일 그러한 회사에 승선(?)한다고 하면, 빨리... 그 배를 버리는 것이 아주 현명할 것이다. 대부분의 국내의 기업에서는 내가 가진 스킬과 리소스를 오픈하지 않고 꽁꽁숨겨두는 스킬을 발휘해야하는 회사에 가야할것인지도 모른다. 그리고, 개발자직업이 가지고있는 고충에 대해서도 심도있게 고민해야 합니다. 이제는 평생직장이 아니라, 평생 직업만이 존재하는 세상이 되었다는것, 정말로, 사람들이 바라는 자유로우면서도 돈을 많이 주는 자리는 존재하지 않는다는 것이다.

개발자! 소프트웨어개발자!

나이40을 넘겨보니, 소프트웨어개발 이외에도 정말 많은 것을 공부하고, 알게되었을 때에 더 깊고 재미있는 세계를 알게한것이 소프트웨어 개발의 세계였다는 생각을 해본다. 보통 소프트웨어 개발에 눈을 뜬 젊고도 어린 개발자들은 특정 전문적인 분야나 스킬에 집중해서 그 부분만을 미친듯이 파고드는 경향이 간혹있다. 물론, 필자도 그런 경향이었다.

정말 즐겁게 이 소프트웨어 개발일을 하고 싶다면, 폭넓은 시야와 지식을 갖추는 것이 최선이며 최고의 길이라는 것을 깨닫기까지는 20년이라는 세월이 훌쩍지났는지도 모르겠다. 그리고, 아무리 한 분야만 집중하는 개발자라고 하더라도 몇가지 경험을 꼬옥 해봤으면 좋겠다.

하나. 전문화된 영역이 아니라 전체영역으로 소프트웨어 개발을 살펴볼 수 있는 틀이 갖추어진 정형화된 기업( 보통, 큰 기업에서 이런 현상을 대부분 가진다. )보다는 아직, 그 틀이 많이 갖추어지지 않은 기업에서 자신의 역량으로 그 틈을 메워보려하는 것.

둘. 신입때에 100만원의 급여를 따라다니다보면, 냉정하게 10년 20년후에 1천만원 이상의 손해를 보는 것이 신입때의 잘못된 선택이다. 언제나, 자신을 대우해주고, 자신을 존중해주는 기업을 찾으라는 것이다.

셋. 소프트웨어 개발자는 게으르다. 그래서, 언제나 자동화를 하려 한다. 하지만, 이러한 자동화라는 측면은 사람의 능력을 확장시키는 자동화라고 생각한다. 계속적으로 발전가능성이 있는 자동화이지, 사람을 기계화 시키는 자동화라는 개념이 아니라는 것이다.

넷. 행복을 찾으라는 것이다. 아무리, 소프트웨어 개발이 좋다고 하더라도, 가족. 사람만 하겠느냐는 것이다. 우리가 아무리 ‘돈’을 받고 무언가를 만들어주는 ‘공돌이’의 역할만을 한다고 하더라도. 나의 행복과 타인의 행복, 그리고. 내가 만든 소프트웨어를 통해서 사람들이 행복을 얻을 수 있게 하는 것이.. 소프트웨어 개발자로써의 최고의 행복이 아닐까? 개인적으로 ‘게임’업체에 있는 친구에게 가끔 하는 이야기가 그것이다. ‘마약’장수가 되지 말고, ‘즐거움’을 줄 수 있는 게임을 만들라고 이야기한다. 필자도, 과거에 작은 실수로 ‘온라인 포커 게임’과 같은 소프트웨어를 만들라고 지시한적이 있다. 다, 무식함(!) 때문이다.

소프트웨어 개발자는 ‘즐거움’은 만들어도, ‘마약장수’가 되면 안된다.

세상이 자본주의가 극단적으로 변해가고, ‘돈’을 선택할 수 밖에 없는 삶을 살아가야 한다고 하지만, 내가 만드는 소프트웨어가 그런 억압의 수단이거나 ‘불법’적인 수단이 되는 것은 피해야하지 않을까?

아무 생각없이 온라인 도박 사이트를 만들고, 마약과도 같은 불법적인 소프트웨어를 만드는 소프트웨어 개발자들이 후배들중에는 생겨나지 않기를 바란다. 물론, 우리가 만들고 있는 소프트웨어는 자본주의를 가속화한다는 것은 이미 어쩔 수 없는 일이라고 하지만, 소프트웨어 개발자들은 잊어서는 안된다. 우리는 언제나 사람을 생각하고, 사람을 지향하는 소프트웨어를 만들고 있음을.

그리고, 내가 행복한 만큼, 다른 사람도 행복할 수 있는 소프트웨어를 만드는 것만이 진정한 소프트웨어 개발자가 되는 한걸음 한걸음 아닐까?

마지막으로, 꿈꾸는자가 ‘인재를 구할때에 사용하는 말’로 끝맺음을 하겠다.

‘소프트웨어 개발에 있어 '창의력'을 만들기 위해서는, 적절한 '잉여'가 필요하다고 생각합니다. 그리고, 적절한 보상과 비전이 같이 있어야죠. 프로젝트에 헌신한다는 것은 매우 어려운 일이니까요. 대부분의 소프트웨어 개발은 계획대로 되는 것이 아니라는 것을 잘 알수 있습니다. 소프트웨어 개발자의 최고의 인재상은 잉여를 부여하면, 무언가를 도전할 수 있는 생각을 가진 사람입니다. 소프트웨어 개발은 그런 잉여를 바탕으로 완성되는 것이라고 생각하니까요.

이 글을 읽는 당신께서 소프트웨어 기술도 있고, 성격까지 좋은 사람이라면 정말 좋겠습니다. 만일 그러신 분이 소프트웨어 개발자로 성장하신다면 그에 대한 충분한 보상을 다짐할 수 있는 조직이나 단체, 회사는 손쉽게 찾으실 것입니다. 정말입니다.

그리고, 소프트웨어 개발회사가 꿈꾸는 인재는 그렇습니다. 가끔은 푸른하늘을 보러 농땡이 치러가자고 팀장을 꼬드기는 그런 재미있는 동료들이 있는 그런곳이면 좋겠습니다. 아무리, 소프트웨어 개발이 좋다고 하더라도. 푸른하늘만 할까요? 그런 마음의 여유가 넘치는 소프트웨어 개발자가 되시고, 그런 회사와 조직을 만드십시오.

소프트웨어 개발을 통해서 맹목적인 목표나 아주 거창한 세계정복계획은 세우지 않고 있지만, 재미있고. 인간사회에 도움이되는 그런 서비스를 개발하고 싶어서 모인 집단(?)을 찾으십시오. 그런 사람들과 무언가 끄적거리며 도전해보실 그런 뜨끈한 마음을 가진 개발자를이 늘었으면 좋겠습니다.

충분한 능력에 어울리는 대우를 받는 시대, 그것이 소프트웨어 개발자의 미래입니다. 약속합니다. 뭐, 가끔은 팀웍이 좀 불성실해도, 내가 맡은 일은 책임질 수 있는 자신감이 있는, 비딱한 개발자도 좋습니다. 능력없는 것보다는 성격이 약간 불완전한것도 그 사람의 개성이니까요. 우리 모두 그런 소프트웨어 개발자가 되어서 실무에서 일하면서 만나면 웃음 한번 지을 수 있는 사람들이 되었으면 합니다.