메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

자수성가한 개발자 : 부트스트랩 또는 부트캠프?

한빛미디어

|

2014-05-19

|

by HANBIT

33,455

제공 : 한빛 네트워크
저자 : Aaron Sumner
역자 : 조현주
원문 : The self-made developer: bootstrap or bootcamp?

Aaron Sumner 요즘 소프트웨어 개발자가 되려는 사람들은 학교를 안가도 코딩을 공부할 방법이 많습니다. 무료, 자기 주도적 온라인 학습 환경부터 무료는 아니지만 체계적이고 집중된 학습까지, 몇 년 전부터 완전 초보자들이 능숙한 코더들이 되도록 도와주는 서비스가 많이 생겼습니다. 이러한 현상의 코딩 분야와 교육 분야에 관심이 있는 저로서는 이 서비스들이 직업 선택과 학업 선택이 서로 다른 개발자인 저의 경험에 어떻게 대비되는지를 숙고해보았습니다.

부트스트랩 모델 [1]

이 분야에서 제가 만난 대부분의 사람들과 같이 저는 제가 소프트웨어 개발자가 될 줄 몰랐습니다. 저는 업계 잡지에 광고 문구를 쓰고 싶다는 생각에 저널리즘 학교를 갔습니다. 그러나 학부생 시절, 조교일로 캠퍼스 컴퓨터 센터의 "메킨토시 랩"을 관리해야 했습니다. 약 매년 3주 동안, 개강 전, 저는 모든 소프트웨어를 업그레이드 시키고, 프린트 드라이버를 인스톨 하는 일을 하였습니다. 그리고 남은 시간 동안은" 웹"과 관련된 일을 하는 아주 멋진 사람들과 어울렸습니다. 너무 신기해서 저는 그 무리에 끼고 싶었습니다! 그들이 추천해주는 책을 읽고, 그들에게 웹에 관해 배웠습니다. 저는 마크업과 프로그래밍을 배웠고, 마크업은 프로그래밍이 아니라는 것을 배웠습니다. 저만의 웹사이트도 만들었습니다. 관계형 데이터베이스의 기본도 공부했고, 나만의 CGI 스크립트를 실행시키기 위해 학교 서버에 HTTP 서버를 컴파일하여 돌리는 방법도 배웠습니다. 그 때는 가상화가 없었거든요.

그것은 적절한 시간과 적절한 장소에서 생긴 일이었습니다. 저는 똑똑한 사람들이 멋진 일을 하고 있다는 것을 알았고, 저는 일 덕분에 비싸고 세련된 기기들을 접할 수 있었던 것입니다. 저는 "웹"을 계속 공부하는 것이 가치 있다는 것을 알았습니다. 그러나 컴퓨터 과학이나 엔지니어링 학위를 얻기 위해 공부를 다시 시작하는 것은 제 자신을 벗어난다고 생각이 되었습니다. 왜냐하면 그 학위는 웹을 공부하고 싶은 제게 메인프레임 프로그래밍, 컴퓨터 이론 같은 웹이 아닌 다른 분야를 공부하게 하여 웹 공부에 방해가 될 것 같았기 때문입니다.

그래서 저는 다시 시작하지 않았습니다. 또한 업계 잡지에 카피라이터가 되지도 않았습니다. 학교를 마치고 일 경험을 이용하여 20년째 웹 개발자로 일을 하고 있습니다. 이 분야로 가면서 제가 가지고 있는 툴들을 최대한 가꾸었습니다. 많은 책들과, 많은 컨퍼런스와 사용자 그룹을 온/오프라인으로 참여했습니다. 또한 저는 새로운 언어로 집중 훈련이 필요했을 때 영역의 끝부분에 해당하는, 낮은 비용과 노력이 요구되는 몇몇의 자원들을 확인해 보았습니다. 몇몇이 다른 것들보다 당연히 더 낫습니다. 운이 좋게도, 그리 좋지 않은 것들을 버리는 것은 쉽습니다. 이러한 자발적인 배움이 저에게는 효과적이었습니다.

프로그래밍과 관련 없는 길을 가고 있는 사람들이 전문적인 프로그래머의 길을 가는 것은 분명 쉽지 않습니다. 저는 저널리스트, 영화 제작자, 지도 제작자로 시작했는데 소프트웨어 개발 분야에서 잘 살고 있는 사람들을 압니다. 그들은 소프트웨어 엔지니어링 학위를 가지고 있는 사람 못지 않게 소프트웨어 산업 분야의 기술에 대해 지식이 많고, 열정적입니다. 사실, 제가 전에 언급한 자원들 가지고는, 이것이 더 쉽다고 말할 수도 있을 것입니다. 그러나 이 분야로 오기 위한 요건들은 점점 높아집니다. "Ruby on Rails 프레임워크를 구성하고 있는 기술"에 대해 생각해보세요. 이제 소프트웨어를 공부하는 초보자의 시점에서 다시 생각해보세요. 소프트웨어를 혼자 공부하는 사람들은 공부를 어디서부터 시작해야 될까요?

부트캠프 모델 [2]

조금 더 공부하는데 방향을 잡고 싶은데 학교를 다시 가고 싶지 않은 사람들에게는 또 다른 방법이 있습니다. 불과 몇 년 전, 몇 가지 상시, 집중적이고, 위험성이 있고, 견습 스타일로 공부할 수 있는 프로그램이 나타났습니다: Dev Boot camp, gSchool, Flatiron School, Hackbright Academy가 바로 그것입니다. 그 외에 다른 프로그램들도 있습니다. 이 프로그램들은 매 학기마다 늘어나고 있습니다. 이 프로그램들은 웹 프로그래밍의 기초를 한 달, 한 해가 아닌 한 주만에 가르칩니다. 이 프로그램은 수요가 많은 Rails, iOS, 자바스크립트와 같은 프로그램에 대한 공부법을 체계적으로 가르칩니다. 다수의 프로그램들이 이를 수료한 학생들을 취업할 수 있도록 도와줍니다. 이 프로그램들에도 가격표가 붙어오고, 이를 완수하려면 스스로 따라잡으려는 다른 프로그램들보다는 훨씬 더 많은 노력이 요구됩니다.

저번 주에 저는 위와 같은 프로그램에 올 초에 졸업한 주니어 웹 개발자 마크 모리스와 그의 경험에 대해 이야기를 나눴습니다. 직업을 공급 체인 관리에서 소프트웨어 개발로 바꾼 마크는 견습직을 시작하기 위해 준비 중입니다. 저번 봄 Ruby Midwest에서 만났죠. 과거에 코딩을 배웠던 그는 조금 더 체계적인 부트캠프를 찾고 있었죠.

9주 동안 마크는 Ruby on Rails 개발 공부를 마쳤습니다. 학생들은 Ruby의 기초를 배우기 시작하여, Sinatra, jQuery 그리고 마크업까지 배웁니다. 수업은 따로 없습니다. 교사들이 프로젝트를 내주면, 학생들은 짝을 이뤄 프로젝트를 수행합니다. 부탁하면 교사들이 도와주기도 하지만, 적어도 그들이 문제를 해결하려는 노력을 보인 흔적이 있을 때만 도와줍니다.

비교적 넓은 범위의 기술의 빠른 소개를 떠나서 마크는 이 프로그램의 설립자들과 지도자들이, 전통적인 엔지니어링 프로그램들이 많이 놓치는 특정 면모를 자랑스러워한다고 말했습니다. 특정한 두 가지 규칙적인 활동이 학생들의 실력을 높여준다는 것 입니다. 이러한 활동을 통해 학생들은 "엔지니어링 공감능력" 과 동료 개발자와 자신을 진심으로 알게 된다는 것 입니다. 기술적 설명이 부족한 부분은 사람의 측면에서 소프트웨어 개발로 대응이 됩니다. 어린 개발자들을 뽑을 때 이야기를 나눠보면, 저는 내면의 실력을 기르기 위해 아직도 연습이 필요하다는 것을 느낍니다.

이러한 공부 프로그램을 듣기 위한 가격과 학생의 의지는 그만한 가치가 있을까요? 이에 대한 답은 굉장히 주관적입니다. 프로그램마다 그 답이 다를 테고, 학생에 따라 다를 것입니다. 공감 능력과 자신감을 길러주는 연습들과 더불어, 마크는 해당 프로그램을 통해 얻은 좋은 정보와 스터디 그룹을 통해 친구들을 만들 수 있었던 기회에 대한 감사함을 강조하였습니다. 어떤 사람들은 4년의 전통적 대학 과정에서 마크가 얻은 만큼 가치 있는 것을 얻지 못하기도 합니다.

견습 프로그램은 뒤늦게 비판을 받고 있기도 합니다. 노련한 소규모의 프로그래머들이 해결할 수 있는 문제를 다수의 초보 프로그래머들에게 주는 것이 아니냐는 비판입니다. 다른 이들은 모든 프로그램이 전면적인 사기가 아니냐는 의문도 제기합니다. 다시 한번 말하지만, 개인의 주관적인 생각에 맡겨두는 것이 가장 좋습니다. 언젠가 시간이 말해줄 것입니다. 사실은, 마크가 이제 막 마친 프로그램 수업에서도 해당 프로그램은 솔직히 말하자면 "실험적"이라고 인정을 했습니다. 이러한 실험들의 결과는 다음 수업을 수강할 학생들에게 영향을 줄 것라는 말과 함께.

선택 그리고 선택

개인적으로 저는 어릴 적부터 꿈이 확고했던 사람들을 위해 전통적인 공부 통로가 있다는 사실에 기쁩니다. 또 하나 더 기쁜 사실은, 마크와 저와 같이 새로운 길을 중간에 택하기로 한 사람 또는 새로운 취미를 갖기로 한 사람들에게도 기회가 있다는 것입니다. 이러한 기회들이 새로운 초보자들에게는 언제, 어떻게, 무엇을 배우고 싶은지 선택할 수 있도록 해준다는 사실에 기쁩니다.

제가 만약 이 분야에 있을 것이라는 전제하에 모든 것을 다시 시작할 수 있다면, 저는 어떤 부분도 바꾸지 않을 것입니다. 당신은 어떤가요? 어떤 경로로 프로그래머가 되었나요? 당신은 어떻게 계속 나아가고 있나요? 당신은 열정적인 프로그래머인가요? 만약 그렇다면, 기술을 배울 때 어떤가요? 당신이 전통적인 방법으로 소프트웨어를 공부했건 스스로 공부하는 법을 택했건, 저는 소프트웨어 개발자로서 당신이 해당 분야를 알기 위해 어떻게 공부하는지 듣고 싶네요.

*****

[1] Bootstrap: "자기 스스로 하는"이라는 뜻을 가지고 있다. 해당 글에서는 자기주도 학습으로 프로그래밍을 터득한 케이스를 일컫는다.
[2] Boot camp: 직역하면 "신병 훈련소"를 뜻한다. 해당 글에서는 집중 학습 캠프를 통하여 프로그래밍을 터득한 케이스를 일컫는다.
TAG :
댓글 입력
자료실

최근 본 상품0