본문 바로가기

Development/회고록

스파르타코딩클럽 내일배움단 완주 후 회고록

들어가며

2019년, 군 전역 이후 한양사이버대학교 컴퓨터공학과로 편입한 동시에 처음 프로그래밍을 접하였다. 2021년 6월까지 직장생활을 해오며, 현재는 컴퓨터공학과를 졸업하였다. 누군가에게는 핑계로 들릴 수 있겠으나, 컴퓨터공학과 관련된 여러 수업을 들었음에도 불구하고, 직장생활과 병행하다보니 할 줄 아는 건 파이썬(특히, PyQt)으로 응용 프로그램을 개발하는 정도의 수준 밖에 되지 않았다.

독학이라고 쓰고, 방황이라고 읽는다

제대로 웹 개발을 공부한 시기는 퇴사하고 난 뒤였다. 정확히 말하자면, 회사에서 내가 개발한 프로그램을 더욱 효율적으로 운영할 수 있는 방법이 없을까 생각하다가 '이걸 웹 사이트로 개발하면 어떨까?'라는 결론에 도달했고, 퇴사하기로 결심한 이후 웹 개발 공부를 처음 시작하였다. 이론을 공부하는 것보다는 직접 부딪히고, 경험하면서 지식과 인사이트를 얻는 나의 성향 탓인지, 학교 강의에서 들었던 내용임에도 불구하고 처음 듣게된 내용처럼 생소하게만 느껴졌다.

퇴사 이후 약 4개월 간 HTML, CSS, JavaScript(JQuery, Ajax)와 Node.js(Express), React를 공부하였고, 현재 간단한 API 서버와 웹 페이지 정도는 구현할 수 있는 수준이 되었지만, 아직도 부족한 부분이 차고 넘친다. 이처럼 프로그래밍 세계에서는 배울 내용이 어마무시하게 많기 때문에 독학하려고 한다면 방향성을 잡는 데에만 해도 꽤 오랜 시간이 걸린다.


성장할 수 있는 환경을 찾아서

물론, 혼자 개발 공부를 하는 것이 결코 순탄하지 않았다. 웹 개발에 관련된 내용이나 오류를 해결하기 위한 해결책을 찾기 위해 구글에 검색해보면 정보가 넘쳐난다. 하지만, 어떤 것이 좋은 방향인지, 어떤 것이 좋은 해결책인지는 명확하게 찾을 수 없었고, 오류를 해결하기 위해 며칠씩 밤을 지새우며 꽤 많은 삽질을 해왔다. 결과론적으로는 그러한 지식을 어느정도 받아들일 수 있는 수준이 되었고, 오류가 발생해도 이를 해결하기 위한 자신감이 생겼으나, 꽤 오랜 시간 동안 혼자서 방황했던 것 같다. 그래서인지 예전부터 부트캠프를 항상 마음속에 두고 있었는데, 그럴 때마다 여러 기업에서 포지션 제안이 들어온 탓에 계속 미뤄두고 혼자서 공부를 하게 되었다. 물론, 면접본 기업 중 2개의 기업에서 합격통보를 받았으나, 면접 과정에서 그들과 대화하며 '성장할 수 없는 환경인 것 같다'라고 느껴 정중하게 거절하였다.


💦 첫 번째 기업 면접썰

면접 하루 전날, 전화 통화로 포지션 제안을 받았다. 이때, 해당 기업이 어떠한 언어와 프레임워크를 사용하는지 질문하였는데, Java와 Spring을 사용한다고 하였다. 나는 Python과 JS를 할 줄 아는 대신 Java는 모르는 상태이며, 따로 배워야 실무에 투입할 수 있을텐데 괜찮겠냐고 물어보았다. 그러자, 괜찮다며 한 번 대화를 나눴으면 좋겠다고 하여 다음날 면접에 참석하였다. 회사를 방문하여 간단히 인사를 드린 후 대기실로 안내를 받았고, 이어서 문제지를 건내 받았다. 그 문제지에는 Java(Servlet, Spring), SQL 쿼리문 작성 문제가 있었다. 약 30분 후, Servlet 문제에서는 JS로 처리하는 부분이 간혹 나와서 해결 가능했으나, Spring 문제는 풀지 못한 상태에서 문제지를 제출하였고, 면접실로 안내를 받았다. 약 1시간 가량의 대화를 하였는데, 그 중에서 가장 인상깊었던 내용이 '개발자라면 Java를 배워야지, JavaScript를 잘해봤자 알아주는데 별로 없을건데?'였다. 나는 그 말을 듣고 역으로 면접관에게 그렇게 생각하는 이유를 묻자 'Java가 가장 오래된 역사가 있고, 그게 요즘 대세인데'라는 답을 듣자마자 이곳에서는 성장할 수 없겠구나라는 것을 느꼈다. 적어도 그렇게 생각한 이유가 기술적인 이유라면 배워볼 의향은 있었을 것 같은데 그 부분이 너무 아쉽게 느껴졌다. 다음날 오전에 합격통보 연락을 받았으나, '조금 더 공부한 후에 기회가 된다면 다시 지원하겠다'라고 정중히 거절하였다.


💦 두 번째 기업 면접썰

이곳은 복잡한 화학 데이터를 웹 페이지로 나타내줄 개발자를 뽑은 회사였고, 잡코리아를 통해 포지션 제안을 받았다. 포지션에 관심을 보이자 곧 바로 연락이 온 후 다음 날 면접을 보기로 하였다. 문제는 면접 시간대였다. 면접 시간은 저녁 8시였는데, 직원 대부분이 회사에 남아 있었을 뿐더러 평균 연령대 또한 많아보였다. 또한, 입구에는 기업부설연구소라고 적혀 있었는데, 내가 퇴사한 회사와 비슷한 일을 하는 곳임을 직감하게 되었다. 면접을 보기위한 어떠한 시험 절차도 없이 곧바로 면접실로 안내를 받았는데, 나에 대한 어떠한 평가도 없이 그 회사의 사업분야, 급여 등을 설명한 후 바로 채용하려는 모습이었다. 나는 질의응답 시간에 '혹시 개발팀이 따로 있나요?'라는 질문을 하였으나, '개발자가 몇 명 있다'라는 대답을 들었다. 약 20분 간의 대화 끝에 출근 가능 일자를 조율하는 내용으로 이어지자 나는 '개발팀이 따로 없는 것으로 보여 성장하는데 한계가 있을 것 같다'라는 말을 하고, 그 자리에서 정중히 거절하였다.

지방에 살다보니, 개발자로 성장할 수 있는 기업을 찾기에는 한계가 있다. 물론, 숨겨진 보석을 아직 찾지 못한 것일 수도 있겠지만, 그런 곳은 실력있는 경력직 개발자를 채용하기 때문에 문턱 조차 두드릴 수가 없다.


어쩌다 알게된 스파르타코딩클럽

페이스북이나 인스타그램 광고에서 스파르타코딩클럽을 여러번 본 적 있었는데, 어느날 무료 강의가 오픈되었다는 광고를 보고 해당 강의를 수강하였다. 웹 개발 기초에 관련된 강의였는데, 마침 심심하던 찰나에 과제나 해결해보자는 마음으로 React로 해당 웹 페이지를 구현하였다. 무료 강의였음에도 불구하고 실습위주로 진행되다보니 내게 딱 맞는 멘토를 찾은 느낌이었다. 특히, 웹 개발을 할 때 중요한 내용이지만 당장은 필요하지 않은 내용은 과감히 제거하고, 초급자들을 상대로 한 내용이다보니, 웹 개발 자체가 쉽게 느껴지는 듯 하였다. 또한, 스스로 나름 웹 개발 공부를 열심히 했다고 생각했는데도 불구하고, 가장 기초적인 내용을 많이 놓친것 같다라는 느낌이 들었다.


익숙한 얼굴과 항해99

다시 원점으로 돌아와서, 부트캠프를 고려해보고 있던 중에 SW사관학교 정글에 참여하라는 문자 메시지 광고를 보았다. 문자 메시지의 링크를 클릭해서 SW사관학교 광고 영상을 보았는데, 익숙한 얼굴이 등장하였다. 그 얼굴의 주인공은 바로 스파르타코딩클럽의 이범규 대표님이었고, 이때 스파르타코딩클럽에서도 항해99라는 부트캠프를 운영한다는 사실을 알게 되었다.

장범규 의장님께서 직접 관여하시는 SW사관학교에 지원하고 싶었으나, 혼자서 지내는 백수라서 약 6개월 간 진행되는 SW사관학교를 참여하기에는 경제적으로 큰 부담이 되었다.

고민만 하다가는 계속 제자리 걸음만 할 것 같아서 항해99에 지원서를 제출한 동시에 내일배움단을 신청하여 웹개발 종합반과 SQL 기초 과정을 수강하였다.

항해99 최종면접에 합격한 이후, 사전 시험을 위해 웹개발 종합반 강의를 제공해준다. 항해99에서 제공 받은 웹개발 종합반 강의는 내일배움단의 웹개발 종합반과는 약간 차이가 있으나, 결국 그 내용은 같다. 그러니, 항해99와 내일배움단을 모두 지원하려는 사람이 있다면 이 내용을 참고하기 바란다.

웹 개발 종합반 수강 후기

웹개발 종합반의 강의는 왕초보를 대상으로 하고 있는 웹개발 풀스택 강의이다. 즉, 웹 개발 기초인 HTML, CSS, JavaScript(JQuery, AJax) 부터 Flask 웹 서버 구축, pymongo를 사용한 MongoDB 연동, BeautifulSoup4를 사용한 웹 페이지 스크래핑, AWS EC2 클라우드 배포까지 웹 서비스의 운영 방식을 이해하기 위한 알찬 커리큘럼으로 구성되어 있다. 뿐만 아니라 수강 중에 막히는 부분은 슬랙(slack) 질문 채널을 통해 공유할 수 있으며, 슬랙 질문에 스레드(답글)을 달아주는 형식의 커뮤니티가 잘 형성되어 있고, Gather라는 메타버스 공간에서 진행되는 스온스를 참여하여 담당 매니저와 소통할 수 있는 환경이 혼자라는 느낌을 잊게 만들어주는 듯 하였다.


스파르타코딩클럽의 교육 방식

웹 개발 종합반을 수강하면서 느낀 스파르타코딩클럽의 교육 방식은 이름에 걸맞게 '많은 연습'인 듯 하다. 달리 말하자면, 스파르타코딩클럽의 교육 방식이 '이론보다 실습을 할 때 더 효율적인' 나의 성향에 잘 맞는 것 같았다. 애매모호하게 이해한 내용의 경우 한 두 번의 연습으로는 확실히 이해할 수 없는데, 스파르타코딩클럽의 교육 방식을 보면 실습을 통해 이론을 배우게 되는 것 같다. 뿐만 아니라, 매주차별 퀴즈와 실습과제, 개발일지 작성 과제를 내주는데, 이를 해결하는 과정에서 개발자의 실력 중 하나인 구글링 능력 또한 기를 수 있고, 개발일지를 작성하며 배운 내용을 나만의 방식으로 정리하면서 다시 복습할 수 있게 되어 완전히 나의 지식으로 자리잡을 수 있는 것 같다.


📝 웹 개발 종합반 개발일지


📝 엑셀보다 쉬운 SQL 개발일지


우물 밖으로 나오자

앞서 언급하였듯이 본 교육 과정에 참여하면 다양한 사람들을 만나볼 수 있는 또 다른 기회가 마련된다. 실제로 현직 개발자들도 이 교육 과정에 참여하기 때문에 그들에게 자신의 불투명한 커리어를 상담받거나, 서로의 블로그를 공유함으로써 개발지식을 공유할 수도 있다. 뿐만 아니라, 웹 개발 종합반의 경우에는 교육과정 이후에 진행되는 메이킹 챌린지가 있는데, 이를 통해 다양한 사람들과 프로젝트를 진행하면서 성장할 수 있는 기회에 참여할 수 있고, 그 과정에서 좋은 개발자 동료를 얻을 수 있는 기회가 열려있다.

항해99를 마치고 취업에 성공한 이후에는 튜터와 더불어 메이킹 챌린지도 반드시 한 번 참여해보고 싶다. 함께하게 될 팀원의 실력이 어떻든 상관없이 새로운 문제를 해결해나가고, 내가 알고 있는 지식을 이해하기 쉽게 정리하여 공유하는 과정에서 스스로도 한 번 더 공부하게 되므로, 꾸준히 성장할 수 있을 것이라 생각되기 때문이다.


교육과정 1000% 활용하기

❓ 왕초보인 내가 이 교육과정을 듣는다면 어느정도 실력을 갖출 수 있을까?

나의 주관적인 대답을 말하자면, '반드시 그렇지만은 않다'이다. 여러 가지 이유가 있겠으나, 가장 큰 이유를 들자면, 왕초보는 '자신이 무엇을 모르는지' 조차 모르는 상태이기 때문이라고 말하고 싶다. 즉, 전반적인 기초 내용이 아예 없는 상황이다보니, 오류가 발생하거나, 자신의 화면과 강의에서 보여준 화면이 다른 경우에는 답답하게 느낄 수 있다. 실제로 이러한 내용의 질문이나 글을 슬랙에서 종종 보았는데, 이는 어찌보면 당연한 과정인 것 같다.

나 또한 독학하면서 명확한 답을 찾이 못해 화도 나고, 빨간 글씨의 에러 문구를 보면 가슴이 철렁 내려 앉은 느낌이 들곤 했었다. 심지어 프로그램이 잘 동작하면 좋아야하는데, '왜 잘되지?'라며 불안해한 적도 꽤 있다. 왕초보를 벗어났다는 기준은 삽질을 많이 해보고, 여러 오류를 처리하는 과정에서 자신감이 붙고, 그로인해 오류를 두려워하지 않고 새로운 무언가를 배울 수 있는 자세가 갖춰지는 상태인 듯하다.


❓ 이 과정을 통해서 효율적으로 공부할 수 있는 방법은 무엇일까?

여러 매니저분들께서도 말하는 내용이지만, 반복해서 듣고, 여러번 실습하는 과정이 반드시 필요한 것 같다. 강의를 1주차부터 마지막 주차까지 전부 들었다고 해서 자연스레 실력이 상승하는 것이 아니라, 내용을 정리하며 자기가 부족한 내용을 알게되고, 부족하다고 느낀 내용을 보충하고, 직접 코드를 짜보며 실습해보고, 새로운 기능을 붙여보고, 다양한 오류를 해결하는 과정에서 조금씩 실력이 향상되는 것 같다. 또한, 머리가 코드를 기억하기보다는 손이 코드를 기억할 정도로 코드를 작성하며 주차별 숙제를 직접 해결해봐야 한다고 생각한다. 이 과정에서 오류가 발생하면 바로 슬랙에 공유하기보다는 구글링을 통해 혼자서 문제를 해결해보도록 노력하고, 강의에서 알게된 내용이나 자신이 해결한 문제를 개발일지에 작성하는 것까지가 효율적으로 공부하는 방법이라고 생각한다.

마치며

작성하고 보니 꽤 긴 글로 작성된 것 같다. 위의 내용 중에서 나의 현재 수준에 해당하는 내용은 내가 내일배움단의 교육 과정을 참여하며 긍정적으로 느끼게 된 배경을 사실적으로 묘사하기 위해 작성하였다. 이 글을 읽고 웹 개발에 관심이 생겨서 내일배움단에 합류하고 싶은 왕초보라면 나의 현재 수준에 해당하는 내용을 먼저 읽어보길 바란다. 만약, 본인이 웹 개발에 흥미를 느끼고 있고, 포기하지 않을 자신이 있다면 반드시 내일배움단에 참여해보라고 권하고 싶다. 단언컨데, 포기하지만 않는다면 값진 공부를 할 수 있는 기회가 된다고 생각한다.