저는 지금 패스트캠퍼스에서 웹 프로그래밍 스쿨 과정을 맡고 있습니다.

이 과정은 커리어 전환을 원하는 타 직종 종사자와 개발을 배우고 싶은 초심자, 컴퓨터공학과를 나왔지만 실제 애플리케이션을 만드는 법을 알고 싶은 분들을 대상으로 합니다.

수강생의 모집은 패스트캠퍼스 측에서 진행하며, 과정의 매니저님이 1:1로 상담하는 방식입니다.

상담시에는 프로그래밍을 처음 접하시는 분들께서 자주 하시는 질문들이 있는데, 이 보편적인 질문들에 답해보고자 합니다.

1. 처음 프로그래밍 언어를 선택할 때 어떤 언어를 무슨 기준으로 선택하나요? 어떤 언어를 골라야 할 지 모르겠어요…

언어는 사실 크게 중요하지 않습니다. 비전공자들은 프로그래밍을 막연히 ‘공부’해야 하는 것으로 생각하시는 경향이 있습니다. 하지만 프로그래밍은 다른 학문에 비해 정착된 정석적인 교육과정이나 교과서가 없는 편입니다.

대부분의 프로그래머들은 무언가를 만들고 싶다는 흥미를 기반으로 프로그래밍에 입문하게 됩니다. 저는 제가 처음 스마트폰을 가지게 되었을 때, 여기서 동작하는 프로그램을 만들고 싶다는 생각에 프로그래밍에 접근하였고, 따라서 첫 언어로는 자바를 사용했습니다. 이후 서버를 만들게 되면서 파이썬을 공부해서 사용하고, 웹 사이트를 만들면서 HTML과 자바스크립트를 배웠습니다.

프로그래밍 언어를 여러개 배운다는것이 큰 부담처럼 느껴지실 수 있지만, 처음 하나의 언어를 익히게 되면 현대 프로그래밍 언어들은 대부분 객체지향이라는 큰 틀을 따르기 때문에 추가로 다른 언어를 배우는 것은 생각보다 쉽습니다.

2. 백엔드 개발자가 되려면 어떤 것들을 알아야 하고, 좋은 곳에 취업하려면 어떤 것들을 준비해야 하나요?

최근의 백엔드 개발자는 Devops라고 부르는, 개발과 운영을 함께 담당합니다. 가장 기초적으로는 데이터베이스의 조회와 API서버구현이 있으며, 애플리케이션 개발에는 사용하는 언어에 대한 깊은 이해가 필요합니다. 운영쪽으로는 AWS와 같은 클라우드 서비스를 이용한 부하분산 및 오토스케일링, S3와 RDS같은 정적파일 및 데이터베이스 백업 시스템 구축, 로그조회 및 에러트래킹 시스템 구축이 있습니다.

프로그래머가 알면 좋은 것들은 정말 많습니다. 수학으로 시작하는 근본부터 알고리즘, 컴퓨터공학 지식, 데이터베이스 등등… 하지만 스타트업 프로그래머에게 가장 필요한 건 무언가를 만들 수 있는 능력입니다.

이건 제 경험이지만, 일단 무언가를 만들어서 사용할 수 있게 되면 자료구조나 알고리즘, 데이터베이스의 원리와 같은 해당 기술에 대한 기반지식이 필요해집니다. 하지만 기반지식부터 공부하면 굉장히 지루합니다. 대체 이걸 배워서 무엇을 만들 수 있나 싶고, 실제 적용해서 쓰지 않으니 금방 잊어버리게 됩니다.

저는 개발자로 커리어 전환이나 첫 취업을 원하는 경우 무언가를 만들고자 하는 흥미와 그것의 실현이 중요하다고 생각합니다. 처음으로 프로그래밍을 배우는 것이기 때문에, 배운것으로 어떤 애플리케이션을 만들고, 그것을 개선하고 운영하는 과정이 필수적입니다.

3. 평소에 어떤 블로그나 채널을 통해 정보를 얻으시나요?

저는 위의 페이스북 그룹을 가장 많이 참조하고, 저 또한 궁금한 점 들을 저 그룹들에 자주 질문합니다.

특히 파이썬 사용자 모임 그룹에는 초고수(촋이라고 부릅…)분들께서 아주 간단하고 쉬운 질문이라도 친절하게 답해주시니, 엉뚱한 걸 질문하나 걱정하실 필요 없이 어떤 질문이라도 올려 도움을 얻으세요.

4. 개발자가 되면 어떤 점이 좋나요?

첫 번째로, 일을 하면 할 수록 나의 가치가 계속해서 상승합니다. 단순 노동이나 반복 작업과는 달리 굉장히 광범위하게 사용할 수 있는 능력을 발전시킬 수 있죠.

두 번째로, 사람과의 관계에서 받는 스트레스가 굉장히 적습니다. 물론 아예 커뮤니케이션을 안하는 직업은 아니지만, 업무적인 부분에서는 서로간의 요구사항만 잘 조절한다면 나머지는 개발자들간의 작업사항에 대한 조율정도면 충분합니다.

세 번째로, 회사에 비종속적입니다. 한 회사에서 오래 일하면 다른 회사에서 새로운 것을 시작하기 어려워지는 직종들도 있는데, 개발은 그러한 부분에서는 매우 자유롭습니다. 실제로 능력만 된다면 짧게는 1년 단위로도 이직하는 것이 당연시 여겨지는 굉장히 자유로운 업계입니다.

5. 이 과정을 들으면 어떤 것들을 만들 수 있나요?

쉽게는 블로그부터, 인스타그램과 같은 SNS서비스, 채팅, 소셜 로그인, 문자 발송, 구독자들에게 이메일 발송, 결제처리 등 일반적인 웹 사이트에서 지원하는 기능을 대부분 구현할 수 있습니다. 실제로 강의를 듣고 난 뒤에 대부분 수강생분들은 자신이 만들고 싶었던 서비스들을 취미나 취업대비용으로 만들며, 제가 가르치지 않은 여러 영역들도 스스로 공부하고 구현해냅니다.

물론 만들 수 있다는 것이 일주일, 한 달 만에 뚝딱 하고 프로그램을 만들 수 있는 사람이 되는 것은 아닙니다. 하지만 저는 과정에서 스스로 공부해서 만들어 낼 수 있는 능력을 기르는 것에 가장 집중합니다. 처음에는 다들 반신반의하지만, 과정이 끝날 때 쯤이면 제가 간단한 조언만 드리면 며칠이 걸리더라도 제 도움 없이 기능을 만들어내시곤 합니다.