본문으로 바로가기

. 제목 : 개발자 공부를 해보고 싶거나, 개발자가 되고 싶은 분들에게 - 4  

. 대상 : 개발자 공부를 시작해보거나 취업을 해보고자 할때 좀 막막한 분들, 어디서 부터 시작해야 하지? 이런 분들에게

. 글을 쓰게된 계기 : 2019년 7월 현재 개발을 하고싶거나, 해야하거나, 어떻게 접근할지에 대해 고민하는 분들이 많다는 걸 알게되서

 

. 내용 

  1. 비전공/전공자들이 개발을 시작할때 가장 많이 물어보는 질문들  

  2. 개발자 혹은 개발을 하기 위한 접근 방법

  3. 소프트웨어 개발을 왜? 필요하다고 생각하는가?

  4. 나는 무엇때문에 개발을 선택하게 되었는가? 

 

4. 나는 무엇때문에 개발을 선택하게 되었는가?

   개발자로 선택을 하기 위해 생각을 할때 보통 어떤 생각을 하게될까? 기본적으로는 그냥 프로그래밍을 한번 해볼까? 어떻게 하지? 나한테 맞을까? 뭐.. 대충 이런 질문들을 할 것 같다. 나도 어떤 것에 포커스를 맞출까 하다가 실질적으로 많이 고민하는 분들에게 포커스를 맞춰볼까 한다. 요즘은 비전공/전공자 분들이 개발에 대한 관심들이 매우 많다. 그러면서 무작정 프로그래밍을 해보는 경우도 많은데, 마치 장사를 하고싶어서 막 장사를 한번 해보는 것과 마찬가지다. 그래서 많이들 실패를 하고 내길이 이길이 아닌가보다 하고 접던가, 여러가지 고민을 하면서 괴로워 한다. 취업을 하고 싶은데, 자신이 맞는지를 판단하기도 힘들도, 해야할것도 많고, 그래서 장사로 따지자면 내가 하고 싶은 장사가게에 종업원으로 들어가서 시험을 해보는 것이다. 프로그래밍에서는 그와 같은 것이 강사가 가르치는 곳에 등록을 해서 수업을 들어본다든지 아니면 동영상으로 강의를 따라해본다든지, 커뮤니티를 가서 같이 스터디를 해본다거나 그런 방법들을 우선적으로 해보는 것이 실제로 프로그래밍이 자신에게 진짜 맞는지를 판단해 볼 수 있는 방법이 아닐까 생각해 본다. 이제 소프트웨어 개발자가 되기 위해서 하는 질문들을 가지고, 실제로 어떤 생각을 가지고 개발을 선택하는 것이 좋을지에 대해 다같이 생각해 보자.

 

(질문-1)

내가 개발을 할 수 있을까?

내가 개발자가 될 수 있을까? 

나는 개발자가 되는 것이 맞을까?

 

  이런 고민들을 먼저 해볼 수 있다고 생각한다. 내가 개발을 해보지 않은 상황에서 실제로 개발을 해야하는 상황이 닥치면 과연 할 수 있을지 그런 고민이 먼저 밀려온다. 그런데 다음 질문을 한 번 살펴보자.

 

(질문-2)

제가 개발을 할때 언어는 어떤것을 선택해야할까요?

어떤 프로그램을 만드는 것이 신입으로 입사하기 좋을까요?

 

  이 질문은 앞에 했었던 질문과 느낌이 조금 다르다. 이 질문들은 이미 개발을 하기로는 마음을 먹었고, 개발을 할건데 그 다음에는 무엇을 해야하나?까지를 생각한 것이다. 그것이 자신이 생각해 놓은 지점이다. (질문-1)과 같은 질문들은 개발을 할지 말지도 결정이 안된 자신의 상태를 볼 수 있다. 그래서 질문을 받는 사람은 이 사람에게는 실질적으로 개발을 진짜 해보고 싶은지, 개발에 대해 어떤 두려움이 있는지를 물어보면서 그사람이 진짜 하고싶은 행동을 스스로 생각해 볼 수 있게 하는 것이 좋다.

 

  또한, (질문-2)의 경우에는 이미 개발은 하기로 마음을 먹었고, 그 다음 어떤 언어를 선택할 것인지, 무엇을 개발해 보는 것이 좋은지를 생각하게 된다. 이런 사람들의 경우에는 실제 프로그램을 개발하기 위해 필요한 것들을 이야기 해주면 도움이 된다. 이때 이야기해 줄 것들은 툴은 어떤 것을 사용하고, 언어는 어떤 것을 사용 하고 등등 실제로 프로그래밍을 구현하기 위해 필요한 것들을 시작하면서 진행하면 된다. 예를 들면 프로그래밍 언어를 어떤 것을 선택하는지는 취업을 할 것인지, 게임을 할 것인지, 재미 삼아 할 것인지에 따라 달라지게 되는데, 취업을 위해서 하는 것이라면 javascript 나 java를 게임을 하고 싶으면 unity를 공부하면 되며, 취미로 하고 싶으면 데이터 분석은 python이나 R을 인공지능쪽을 경험해 보고 싶으면 레퍼런스도 많고 최근에 나온 tensorflow2.0을 해보는것 정도로 선택해 보면 좋지 않을까 싶다.

 

  막상 프로그래밍을 해보고 싶다는 생각을 하는 사람들은 위의 (질문-1) 또는 (질문-2)와 같은 형태의 질문을 많이한다. 이렇게 질문을 할때 자신 스스로가 생각해봐야 하는 부분이 있다. 자신이 진짜 프로그래밍 자체가 좋아서 하겠다고 결정을 하는 것인지, 아니면 프로그래밍을 그냥 취미삼아 한번 해보고 싶은 것인지, 아니면 프로그래밍 자체가 어떤 것인지 알아보고 싶은지에 따라서 조금은 접근 방법이 달라질 수 있다. 물론 막상 해보지 않고서는 관심이 있는지 재미를 느끼는지는 알 수 없겠지만 그냥 프로그래밍이 어떤 것인지 느끼고 싶다면 쉽게 따라할 수 있고, 뭔가 결과물을 만들어내는 것을 해보는 것이 좋다. 

 

  프로그래밍이 어떤것인지 한번 알아보고 싶다면, 유투브 동영상이나 책을 하나사되 따라서 할 수 있는 것을 사는 것이 좋고, 그것을 잘 몰라도 무작정 따라서 한번 해보면 좋다. 그렇게 무언가를 만들어보다 보면 깊숙히 빠져서 하는 자신을 발견할 수 있게 된다. 그럼 좀 더 수준을 높여서 해보는 것도 방법이다. 취미로 프로그래밍을 하게되도 이와 비슷하게 접근을 하면 좋을 것 같다. 내가 왜 프로그래밍을 시작하기전에 자신이 어떤 이유때문에 프로그래밍을 하게되었는지를 고민하기를 생각해보라고 하냐면, 취미로 시작했으면서 프로가 되길 원하는 사람이 너무 많기때문이다. 물론 취미로 시작했다가 프로가 되기를 원할 수도 있겠으나 그렇다면 그만한 노력을 기울여야 한다. 그런데 보통 취미로 시작하거나 프로그래밍 한번 해볼까? 하다가 노력은 취미로 하는 정도(시간날때 하는 정도)로 하면서 프로가 되길 원하는 사람을 너무나도 많이 봐왔기 때문이다. 

 

  어떤 강의나 마케팅 문구에 현혹되지 말기를 바란다. 수학을 모르고 하는 인공지능 이라든지 하루만하면 언어를 완성한다든지 등등 그런것들은 그 시간에 들은 것들을 자유자재로 사용할 수 있을 정도가 되어야 하는 수준까지 스스로 연습해야한다. 기본을 다지려고 노력하고, 시간을 많이 들여 자신의 것으로 만들지 않으면 프로그래밍은 자신을 괴롭히는 존재가 될 수 있다.

   

  이해를 돕기위해 취미와 재미로 프로그래밍을 할경우에 어떤식의 흐름으로 이어질 수 있는지를 이야기 해보겠다. 

  우선은 프로그래밍을 취미로 할경우를 한 번 생각해 보자.

프로그래밍을 취미로 하게될 경우
이런경우, 하다가 재미없으면 그냥 그만둔다.
다른 사람들이 만든거보니까 해보고싶은데 나는 그게 안되서 짜증내거나 방법을 물어본다.
하지만, 노력을 그렇게 많이 하지는 않는다.
그냥 시간날때만 개발을 한다.
이러면 절대 실력이 늘지 않는다. 
나는 왜 개발을 못하는걸까?
좌절하고, 프로그램을 접는다.

  물론 모든 경우가 이 흐름에 따르지는 않을 것이다. 일단 여기에서 생가하는 흐름은 문제가 생기는 많은 경우, 잘 안되는 경우를 이야기 한다. 잘될 경우는 이런 글을 볼 이유도 필요도 없고, 그런 분들은 알아서 잘할 수 있기때문이다. 취미로 할 경우에는 취미로 하기로한 어느정도 목표를 정해놓고 그것까지만 달성하고 더 이상 높이 가려면 자신이 가지고 있는 시간과 노력, 열정을 얼마나 쓸 수 있는지에 따라 그 다음 목표를 정해서 진행하면 된다. 취미는 취미이다. 그 이상을 원하면서 들이는 노력은 취미정도로 시간을 들인다면,  프로그래밍을 하는 것이 정신건강에 도움이 안될 수 있다고 생각한다.^^

 

  그 다음은 돈을 벌기 위해서 직장을 어떻게 어떻게 해서 들어간 경우의 예다. 취업을 해야 하니까 자신이 프로그래밍을 좋아하는 것인지에 대한 판단은 보류한채 시키는대로 해서 어찌어찌 프로그래머라는 직업으로 취업을 했을 경우다. 그럴경우에 생길 수 있는 케이스다.

직업으로 개발을 해보자.(돈벌기 위해)
돈을 벌어야 하니까 주어지는거 열심히 하자.
책도보고, 따라하고 해서 기능이 구현은 됐다.
그런데 생길만한 테스트케이스를 생각해보지 않고, 기본적인 테스트만 끝낸다.
반드시 오류가 발생하게된다.
헤매기 시작한다. 
주어지는 요구사항 개발 하면서 욕먹으면서 개발하고, 또 욕먹고 개발하고를 반복한다. 
야근이 늘어난다. 병을 얻어서 다른 직종으로 이직한다.

  그리고 다음은 프로그래밍이 재미있어서 직업으로 해도 괜찮을것 같다고 생각해서 취업을 했을경우에 벌어질 수 있는 경우를 한번 정리해 해봤다. 그런데 프로그래머로서 직업을 선택하는데 있어서 재미있어서 직업이 되는 경우에도 두 가지의 경우가 있을 수 있다. 이를 분리해서 프로세스로 정리를 해봤다.

직업으로 개발을 해보자.(재미있어서)
내가 재미있으니까 만들고 싶은거 개발해보면서 개발을 익힌다.
개발에 재미가 있으니 회사에 취업해서도 잘할수 있다고 생각하고 취업을 한다.(중소기업)
개발할 내용만 알려주고, 딱히 자세한 설명은 없다. 
환경과 데이터베이스등등에 대해서도 물어봐야 정확하게 알려준다.(확인을 하지 않으면 답이 틀릴수도 있다.)
개발하는 기능이 재미가 없다.
재미있어서 시작했는데, 재미가 없어지면서 회사를 그만둘지 이게 내 적성이 아닌지 고민한다. 
돈을주니까 개발을 그냥할건지도 고민한다. 
개발하는게 재미있었는데 회사에서 개발하는것은 별로 재미가 없다.
그냥 돈벌러 다니는 사람이 된다.
이직을 하거나, 업계를 떠나거나, 치킨집을 차린다.

  위의 경우에는 취업을 본인이 채용공고를 보고 지원을 해서 직장을 선택해서 들어갔으경우인데, 꼭 자신이 업무가 재미있다고 해서 회사에 들어가서도 회사와 맞는건 아닐수도 있는 경우를 이야기하고 있고,

 

  아래의 경우은 아주 이상적인 경우인 진짜 자신이 재미있어서 이것저것 하다가 우연히 기회가 찾아와서 본인이하고 싶은 역할을 할 수 있게 해주면서 자유롭게 개발을 하게될 경우의 프로세스이다. 아래와 같은 경우는 많지 않지만, 한번 잘 살펴보고, 자신이 어떤쪽에 속하는지를 보면, 프로그래머로서 한발 내딛을 때도 많은 도움이 되지 않나 생각해 본다.

 

재미있어서 내가 원하는 프로그래밍을 마음껏 하다가 회사에 취업이 된경우(재미)
책,동영상,커뮤니티를 통해서 학습을 한다.
실제 서버에 올려서 적용해 본다.
앱도 실제로 올려서 확인하고, 업데이트를 한다.
자신이 작성한 소스도 공유한다.
다른 사람들이 고생을 덜하게 블로그에 경험을 공유한다.
이것을 검색하는 회사 인재영입에 걸려 취업이 된다.
취업을 하고도 주어지는 일 외에도 개발 관련 스터디를 한다. 
출근 -> 주어진 일하기 -> 궁금한거 찾아보기 -> 스터디
혼자하는 것의 한계를 느끼고 커뮤니티를 찾아간다.
주말에도 스터디를 한다. 
실력이 늘어 연봉을 더 받는다.
이직에도 유리하다.(커뮤니티 활동으로 인해)

  이 처럼 자신이 프로그래밍을 하는 이유를 한번 생각 해보는 것이 선택하고 문제가 발생했을때 그 해결책을 찾는데 도움이 될것이다. 또한, 자신이 어떤 사람인지도 한번 생각을 해본다면 많은 도움이 될것이다. 내가 지금까지 살아온 것들로 봤을때 나는 실습하고 활동적인 것을 좋아하는지, 공부하는 것을 좋아하는지, 이런 것들을 생각해 보는 것도 도움이 많이 된다. 막상 프로그래밍이라는 것을 선택해야할까? 말까? 이런 고민 뿐만 아니라, 더 본질적으로는 자신이 뭘 좋아하고 뭘 싫어하는지 그것을 알아야 연애를 해도, 친구를 사귀어도, 사업을 하더라도 자신이 원하는 방향으로 나아갈 수가 있다. 

 

  가장 어려운 문제인 '내가 뭘 좋아할까?' 이 질문에 대한답은 지금 당장 해보고 싶은 걸 해보는 것이다. 시간이 지나서는 할 수도 하지도 못한다. 하고싶은거 잘할것 같은것도 해봐야 할 수 있을지 없을지 안다. 그러면서 아닌건 아니다로 결론을 내고 내 스스로를 받아들이고 인정할때야 비로소 내 인생이 온전히 내 것으로 받아들여질 수 있다. 

 

...

그러던 어느날 내 맘에 찾아온 작지만 놀라운 깨달음이

내일 뭘 할지 내일 뭘 할지 꿈꾸게 했지

사실은 한번도 미친 듯 그렇게 달려든 적이 없었다는 것을 

생각해 봤지 일으켜 세웠지 내자신을 

...
말하는 대로 말하는 대로 될 수 있단 걸 눈으로 본 순간 믿어보기로 했지 
마음먹은 대로 생각한 대로 할 수 있단 걸 알게 된 순간 고갤 끄덕였지 
...
마음먹은 대로 생각한 대로 말하는 대로 될 수 있단 걸 
알지 못했지 그 땐 몰랐지 이젠 올 수도 없고 갈 수도 없는 
힘들었던 나의 시절 나의 20대 멈추지 말고 쓰러지지 말고 
앞만 보고 달려 너의 길을 가 주변에서 하는 수많은 이야기 
그러나 정말 들어야 하는 건 
내 마음 속 작은 이야기

...

 

(유재석&이적 - 말하는 대로)