'능력있는' 개발자에 대해 알아야 할 10가지 오해와 진실
소프트웨어 개발자의 수요는 나날이 높아지고 있으며, 일반 직종의 평균보다 높은 연봉을 받는다는 사실 때문에 개발자의 길을 걷고자 하는 사람들이 늘어났다. 개발자가 되고 싶다면, 혹은 역량을 보완하고 새로운 일자리로 옮기고자 한다면, 자칫 일자리 기회를 잃을 수도 있는 4가지 근거 없는 오해와 5가지 실수를 유념해야 한다. 다음은 코딩 도조(Coding Dojo) 설립자인 마이클 최가 소개하는 내용이다. editor@itworld.co.kr
오해 1: 타고난 재능이 있어야 개발자가 될 수 있다.
수리•과학적인 재능을 타고나야만 개발자가 될 수 있다고 오해하는 사람들이 많은데, 사실 개발자는 개발에 열정을 갖는 '일반인'이다. 다른 직업과 마찬가지로 재능만으로는 성공하기 어렵다. 바른 직업윤리와 끊임없이 훈련하는 길만이 성공과 실패를 판가름한다.
프로그래밍을 배우는 것은 생각만큼 어려운 작업이 아니다. 기본적으로 프로그래밍은 개발자와 컴퓨터 사이의 커뮤니케이션 수단이라고 보면 된다. 개발자가 해야 할 가장 기본적인 업무 가운데 하나는 컴퓨터에게 웹사이트와 같이 무엇인가를 구축하라고 명령하는 것이다. 물론 프로그래밍은 컴퓨터와 다른 개발자만 해석할 수 있는 '특별한' 언어를 가지고 정교한 지시문을 써 내려가는 일이다. 그게 '전부'다. 다른 사람과 커뮤니케이션을 하는 방법을 안다면, 프로그래밍을 배울 '자격'을 갖춘 것이다.
수리•과학적인 재능을 타고나야만 개발자가 될 수 있다고 오해하는 사람들이 많은데, 사실 개발자는 개발에 열정을 갖는 '일반인'이다. 다른 직업과 마찬가지로 재능만으로는 성공하기 어렵다. 바른 직업윤리와 끊임없이 훈련하는 길만이 성공과 실패를 판가름한다.
프로그래밍을 배우는 것은 생각만큼 어려운 작업이 아니다. 기본적으로 프로그래밍은 개발자와 컴퓨터 사이의 커뮤니케이션 수단이라고 보면 된다. 개발자가 해야 할 가장 기본적인 업무 가운데 하나는 컴퓨터에게 웹사이트와 같이 무엇인가를 구축하라고 명령하는 것이다. 물론 프로그래밍은 컴퓨터와 다른 개발자만 해석할 수 있는 '특별한' 언어를 가지고 정교한 지시문을 써 내려가는 일이다. 그게 '전부'다. 다른 사람과 커뮤니케이션을 하는 방법을 안다면, 프로그래밍을 배울 '자격'을 갖춘 것이다.
오해 2: 개발자가 되기 위해서는 컴퓨터 과학 학위가 필요하다.
미국에서는 프로그래밍 기초 과정이 성행하고 있다. 기존의 학교 교육 체제의 대안으로 인정받고 성공했기 때문에 가능한 일이다. 매년 이와 같은 기초 과정을 이수한 졸업생이 배출된다. 프로그래밍 경험이나 지식이 전무했던 사람들도 많은데, 대개 개발자라는 직업을 택한다. 또한, 코드아카데미(Codeacademy) 같은 온라인 학습 플랫폼의 인기가 높아지고 있다. 이는 공식 교육 기관에 국한되지 않고 프로그래밍을 학습할 기회가 다양해졌다는 증거다. 프로그래밍도 다른 직업과 마찬가지다. 능력만 있으면, 누군가 그 능력에 대한 대가를 지불하며, 그 능력을 얻게 된 과정은 별로 개의치 않는다.
미국에서는 프로그래밍 기초 과정이 성행하고 있다. 기존의 학교 교육 체제의 대안으로 인정받고 성공했기 때문에 가능한 일이다. 매년 이와 같은 기초 과정을 이수한 졸업생이 배출된다. 프로그래밍 경험이나 지식이 전무했던 사람들도 많은데, 대개 개발자라는 직업을 택한다. 또한, 코드아카데미(Codeacademy) 같은 온라인 학습 플랫폼의 인기가 높아지고 있다. 이는 공식 교육 기관에 국한되지 않고 프로그래밍을 학습할 기회가 다양해졌다는 증거다. 프로그래밍도 다른 직업과 마찬가지다. 능력만 있으면, 누군가 그 능력에 대한 대가를 지불하며, 그 능력을 얻게 된 과정은 별로 개의치 않는다.
오해 3: 개발자가 되기 위해서는 수학적인 재능이 필요하다.
미적분 문제를 못 풀어도 개발자가 될 수 있다. 그 의미조차 알 필요 없다. 기초적인 대수, 논리, 문제 해결 능력만 갖추고 있으면 된다. 무엇보다 '인내'가 중요하다. 물론, 개발자에는 고등 수학 지식이 필요 없다는 의미는 아니다. 복잡한 수학 계산 능력이 필요한 프로젝트를 맡을 수도 있으며, 이런 경우에는 일정 수준 이상으로 수학 능력을 향상시켜야 한다. 그렇다 하더라도 대신 계산을 처리해줄 라이브러리와 플러그인은 많다. 당신이 해야 할 일은 이런 플러그인과 라이브러리를 코드와 적절하게 '버무리는' 것이다.
미적분 문제를 못 풀어도 개발자가 될 수 있다. 그 의미조차 알 필요 없다. 기초적인 대수, 논리, 문제 해결 능력만 갖추고 있으면 된다. 무엇보다 '인내'가 중요하다. 물론, 개발자에는 고등 수학 지식이 필요 없다는 의미는 아니다. 복잡한 수학 계산 능력이 필요한 프로젝트를 맡을 수도 있으며, 이런 경우에는 일정 수준 이상으로 수학 능력을 향상시켜야 한다. 그렇다 하더라도 대신 계산을 처리해줄 라이브러리와 플러그인은 많다. 당신이 해야 할 일은 이런 플러그인과 라이브러리를 코드와 적절하게 '버무리는' 것이다.
오해 4: 개발자가 되기 위해서는 '최고'의 프로그래밍 언어를 배워야 한다.
"최고의 프로그램 언어는 뭡니까?"라는 질문을 많이 한다. 좋은 질문이면서도 잘못된 질문이기도 하다. 프랑스어와 스페인어가 동등한 것과 마찬가지로, 컴퓨터 언어는 모두 '동등'하다. 그 지역에 따라 장점이 될 수 있는 언어가 있다. 이와 마찬가지로 맡게 될 작업에 따라 장점을 발휘하는 컴퓨터 언어가 있다.
"가장 먼저 학습해야 할 프로그래밍 언어는 무엇입니까?"가 더 좋은 질문이다. 우수한 개발자가 되기 위해서는 여러 언어를 마스터해야 하기 때문이다. 가장 좋은 방법은 기초부터 시작하는 것이다. 예를 들어, 웹 개발자가 되고 싶다면 HTML과 CSS를 출발점으로 삼아야 한다. 웹의 토대가 되는 언어이기 때문이다. 일반적인 컴퓨터 프로그래밍에 관심이 있다면, 학습한 내용을 보강해줄 온라인 자료와 튜토리얼이 많은 언어에 초점을 맞춘다. 최상의 언어가 무엇인지는 신경 쓰지 않는다. 학습을 하다 보면 각 언어의 장점, 단점을 저절로 알 수 있다.
"최고의 프로그램 언어는 뭡니까?"라는 질문을 많이 한다. 좋은 질문이면서도 잘못된 질문이기도 하다. 프랑스어와 스페인어가 동등한 것과 마찬가지로, 컴퓨터 언어는 모두 '동등'하다. 그 지역에 따라 장점이 될 수 있는 언어가 있다. 이와 마찬가지로 맡게 될 작업에 따라 장점을 발휘하는 컴퓨터 언어가 있다.
"가장 먼저 학습해야 할 프로그래밍 언어는 무엇입니까?"가 더 좋은 질문이다. 우수한 개발자가 되기 위해서는 여러 언어를 마스터해야 하기 때문이다. 가장 좋은 방법은 기초부터 시작하는 것이다. 예를 들어, 웹 개발자가 되고 싶다면 HTML과 CSS를 출발점으로 삼아야 한다. 웹의 토대가 되는 언어이기 때문이다. 일반적인 컴퓨터 프로그래밍에 관심이 있다면, 학습한 내용을 보강해줄 온라인 자료와 튜토리얼이 많은 언어에 초점을 맞춘다. 최상의 언어가 무엇인지는 신경 쓰지 않는다. 학습을 하다 보면 각 언어의 장점, 단점을 저절로 알 수 있다.
오해 5: 개발자가 되기에는 너무 늦었다.
'언제' 개발자로 데뷔하느냐는 중요하지 않다. 개발자 기초 과정에 등록한 학생들의 연령대는 다양하며, 심리학자에서 벽돌공까지 무궁무진하다. 상당수는 프로그래밍을 접한 경험이 거의 없는 사람들이다. 열심히 수업을 듣고, 노력만 한다면 졸업 후에 좋은 성과를 일궈낼 수 있다. 생각했던 것보다 늦게 프로그래밍 커리어를 쌓더라도 제대로 된 직업 윤리만 갖추고 있다면 성공의 기회는 누구에게나 주어진다.
'언제' 개발자로 데뷔하느냐는 중요하지 않다. 개발자 기초 과정에 등록한 학생들의 연령대는 다양하며, 심리학자에서 벽돌공까지 무궁무진하다. 상당수는 프로그래밍을 접한 경험이 거의 없는 사람들이다. 열심히 수업을 듣고, 노력만 한다면 졸업 후에 좋은 성과를 일궈낼 수 있다. 생각했던 것보다 늦게 프로그래밍 커리어를 쌓더라도 제대로 된 직업 윤리만 갖추고 있다면 성공의 기회는 누구에게나 주어진다.
진실 1: 졸업은 끝이 아닌 시작이다.
우수한 졸업자를 많이 배출한 프로그래밍 기초 과정에 등록한 뒤, 단 한 번도 결석하지 않고 수업에 참가하고, 밤을 새워 가며 노력한 결과, OOP, MySQL, Heroku 등 다양한 지식을 터득한 후 졸업했다. 그러면 '만사형통'이라고 생각하는가? 그렇지 않다. 프로그래밍 기초 과정 졸업생 상당수가 업으로 여정이 끝났다고 생각하지만, 이제 개발자가 되기 위한 '진짜' 여행이 시작됐을 뿐이다.
우수한 졸업자를 많이 배출한 프로그래밍 기초 과정에 등록한 뒤, 단 한 번도 결석하지 않고 수업에 참가하고, 밤을 새워 가며 노력한 결과, OOP, MySQL, Heroku 등 다양한 지식을 터득한 후 졸업했다. 그러면 '만사형통'이라고 생각하는가? 그렇지 않다. 프로그래밍 기초 과정 졸업생 상당수가 업으로 여정이 끝났다고 생각하지만, 이제 개발자가 되기 위한 '진짜' 여행이 시작됐을 뿐이다.
진실 2: 자신을 알려야 일자리가 찾아온다.
웹 개발자에 대한 수요가 높다. 또 대다수 프로그래밍 기초 과정은 졸업생들이 일자리를 찾게끔 도와주는 많은 자원을 보유하고 있다. 하지만 가만히 앉아 기다리면 많은 일자리 가운데 하나를 골라 안착할 수 있다는 의미는 아니다. 당신이 넋 놓고 앉아 있는 동안, 다른 졸업생들은 적극적으로 자신을 마케팅을 하고, 어쩌면 당신에게 더 적합한 일자리를 먼저 차지할 것이다.
적극적인 구직 활동을 펼쳐야 한다. 기초 과정 취업 지원 담당자에게 도움을 청하고, 2~3주에 한 번씩 새로운 소식이 있는지 챙겨야 한다. 동기가 부여된 졸업생들은 하루에도 여러 개의 회사에 지원한다. 연줄이 있는 회사를 시작으로, 구인구직 사이트의 자원을 활용해야 한다. 이를 위해서는 여러 방면으로 리서치를 해야 하고, 매력적인 이력서는 미리 준비해야 한다.
마지막으로 가능한 한 빨리, 또는 졸업 전에 기트허브(GitHub) 프로필을 만든 후 일부 도전과제를 해결해 능력을 입증해 보이면 금상첨화.
웹 개발자에 대한 수요가 높다. 또 대다수 프로그래밍 기초 과정은 졸업생들이 일자리를 찾게끔 도와주는 많은 자원을 보유하고 있다. 하지만 가만히 앉아 기다리면 많은 일자리 가운데 하나를 골라 안착할 수 있다는 의미는 아니다. 당신이 넋 놓고 앉아 있는 동안, 다른 졸업생들은 적극적으로 자신을 마케팅을 하고, 어쩌면 당신에게 더 적합한 일자리를 먼저 차지할 것이다.
적극적인 구직 활동을 펼쳐야 한다. 기초 과정 취업 지원 담당자에게 도움을 청하고, 2~3주에 한 번씩 새로운 소식이 있는지 챙겨야 한다. 동기가 부여된 졸업생들은 하루에도 여러 개의 회사에 지원한다. 연줄이 있는 회사를 시작으로, 구인구직 사이트의 자원을 활용해야 한다. 이를 위해서는 여러 방면으로 리서치를 해야 하고, 매력적인 이력서는 미리 준비해야 한다.
마지막으로 가능한 한 빨리, 또는 졸업 전에 기트허브(GitHub) 프로필을 만든 후 일부 도전과제를 해결해 능력을 입증해 보이면 금상첨화.
진실 3: '진실된' 인적 네트워크는 큰 도움이 된다.
프로그래밍 기초 과정의 동기들은 향후 커리어를 쌓아나가는 데 소중한 자원이 될 것이다. 키보드에 치토스 부스러기를 흩뿌렸던 지저분한 괴짜라도 훗날 책임 개발자가 될 수 있다. 따라서 동기들과 항상 연락해야 한다. 2~3개월마다 안부를 묻는 이메일을 보내거나, 매달 날을 정해 회포를 푸는 등 관계를 지속해서 유지할 필요가 있다. 기초 과정 동기들끼리 어울려 성공적인 스타트업 신화를 만들어낸 사례도 있다. 연락을 하고, 관계를 강화하면서, 추후 네트워크가 저절로 힘을 발휘하도록 만든다.
프로그래밍 기초 과정의 동기들은 향후 커리어를 쌓아나가는 데 소중한 자원이 될 것이다. 키보드에 치토스 부스러기를 흩뿌렸던 지저분한 괴짜라도 훗날 책임 개발자가 될 수 있다. 따라서 동기들과 항상 연락해야 한다. 2~3개월마다 안부를 묻는 이메일을 보내거나, 매달 날을 정해 회포를 푸는 등 관계를 지속해서 유지할 필요가 있다. 기초 과정 동기들끼리 어울려 성공적인 스타트업 신화를 만들어낸 사례도 있다. 연락을 하고, 관계를 강화하면서, 추후 네트워크가 저절로 힘을 발휘하도록 만든다.
진실 4: 학습을 게을리 하지 않는다.
프로그래밍 기초 과정을 수료했을 때쯤이면 다양한 기술을 터득했을 것이다. 그러나 공부를 더 이상 하지 않아도 된다는 의미는 아니다. 고등학교 때 프랑스어를 배웠더라도 졸업 후에 절반 이상을 잊어버리듯, 프로그래밍 언어도 매일 사용을 하지 않으면 그 내용을 망각하게 된다. 이를 방지하기 위해서는 업무에서 사용하지 않는 소프트웨어와 언어라도 수시로 연습을 해야 한다.
프로그래밍 기초 과정을 수료했을 때쯤이면 다양한 기술을 터득했을 것이다. 그러나 공부를 더 이상 하지 않아도 된다는 의미는 아니다. 고등학교 때 프랑스어를 배웠더라도 졸업 후에 절반 이상을 잊어버리듯, 프로그래밍 언어도 매일 사용을 하지 않으면 그 내용을 망각하게 된다. 이를 방지하기 위해서는 업무에서 사용하지 않는 소프트웨어와 언어라도 수시로 연습을 해야 한다.
진실 5: 인터뷰는 철저히 준비한다.
인터뷰 능력을 키우는 것은 자신의 몫이다. 인터뷰는 '근육'과 같다. 사용하지 않으면 줄어든다는 의미다. 사전에 예상 질문을 만들어 답변을 준비해야 한다.
면접관이 제시할 확률이 높은 테스트를 연습하는 것은 더 중요하다. 일부 회사는 기술 인터뷰 기법을 활용한다. 반면, 밤새 해결해야 할 프로그래밍 문제를 제시하는 회사들도 있다. 이를 준비할 때 참고할 좋은 자료와 자원이 많다. 크래킹 더 코딩 인터뷰(Cracking The Coding Interview)를 특히 추천한다.
인터뷰 능력을 키우는 것은 자신의 몫이다. 인터뷰는 '근육'과 같다. 사용하지 않으면 줄어든다는 의미다. 사전에 예상 질문을 만들어 답변을 준비해야 한다.
면접관이 제시할 확률이 높은 테스트를 연습하는 것은 더 중요하다. 일부 회사는 기술 인터뷰 기법을 활용한다. 반면, 밤새 해결해야 할 프로그래밍 문제를 제시하는 회사들도 있다. 이를 준비할 때 참고할 좋은 자료와 자원이 많다. 크래킹 더 코딩 인터뷰(Cracking The Coding Interview)를 특히 추천한다.
댓글 없음:
댓글 쓰기