본문 바로가기

코딩/42경산

비전공자의 42경산 1기 라피신 후기

반응형

1. 42 경산이란?

혹시 42 서울을 들어보셨나요?

42 서울은 프랑스의 에꼴42의 어쩌구저쩌구...

 

네, 설명이 장황하니 요약하자면

42는 교수, 교재, 교육비가 없는 코딩 교육과정입니다.

좀 더 엄밀히 말하면 코딩 보다는 프로그래밍 전반에 대한 교육 과정이라고 할 수 있겠네요.

 

현재 전 세계적으로 수십개의 캠퍼스가 존재하며

세계적으로 유명한 교육기입니다.

 

국내에도 이미 서울에 캠퍼스가 존재하는데

이번에 42 경산 캠퍼스도 생겼습니다.

 

기존의 부트캠프와는 결이 다르다는 평이 많아서 궁금하기도 했고,

C언어와 터미널 위주의 교육 환경이 궁금하기도 해서 한 번 신청해보았어요.


2. 42 경산에 기대하는 것

한달간 라피신 과정을 진행하면서

라피신은 본인이 42의 교육과정에 적합한지 확인하고,

적합하지 않다면 적합해지도록 개조하는 과정이구나 라는 생각이 들었습니다.

 

웹 개발을 배우는 국비 학원에서는

리액트나 스프링을 배워서 프로젝트를 제작하는 경험을 얻을 수 있습니다.

이렇게 웹 개발 기술을 배워서 취직을 하는 것이 학생들과 학원의 목표입니다.

 

하지만 라피신에서는 로우레벨에서 C언어의 라이브러리들을 구현해보면서

단순히 CRUD 프로젝트를 찍어내는 '코더'가 아닌,

구조적으로 코드를 이해하고 활용할 수 있는

'프로그래머' 로의 사고 전환을 이끌어낼 수 있는기회를 얻을 수 있었습니다.

 

지금까지는 프로그래밍을 공부하면서

"전공자가 아니어도 개발 잘 할 수 있어!"라는 생각을 가졌었는데,

부트캠프도 경험해보고, 강의도 해보고, 프로젝트도 하면서,

개발에 대해 공부하면 할 수록 점점 더 깊게 느껴졌던 것이

"나는 그동안 4년 동안 컴퓨터 공학을 공부하는 전공자들을 물로봤었구나" 였습니다.

 

단순히 프레임워크를 도입하고, 라이브러리를 활용해서 프로젝트를 만들어내는 것은

부트캠프 같은 교육 과정을 통해 반년 정도만 학습하면 가능하지만

코드가 동작하는 원리를 이해하고 필요한 로직을 직접 작성할 수 있는 능력을 갖추는 것은

전공자들이 4년간 뼈빠지게 학습하는 것들을 나도 공부한 뒤에야 가능하겠구나 라는 생각이 들었습니다.

 

그래서 42의 교육과정에 대한 기대가 컸어요.

해외에서는 42 교육과정을 수료하면 컴퓨터 관련 석사 학위증도 준다고 하는 만큼

42 경산에서 CS 지식을 좀 더 깊이있게 배울 수 있지 않을까 싶었거든요.

 

물론 42에서 전공자 수준으로 CS 지식을 배울 수 있을 것이라는 기대는 크지 않지만,

그 격차를 조금이라도 좁힐 수 있는 기회라고 생각했습니다. 


3. 라피신 후기

먼저 대구대학교 창파도서관의 학습 환경에 대해서 이야기 하지 않을 수가 없겠네요.

 

위 이미지에서 빨간 원으로 표시한 건물에 42 경산이 위치해 있습니다.

지하에는 e마트 24 편의점이 존재하고,

위 이미지 좌측에 보이는 웅지관에서는

제육덮밥, 안동찜닭, 돈까스, 라면 등 학식을 5,000원도 안되는 저렴한 가격에 먹을 수 있고,

미즈 컨테이너 본점도 있어서 파스타, 리조또, 피자 등 양식도 저렴한 가격에 먹을 수 있습니다.

지도상으로는 조금 멀어보이는데 걸어서 2분 정도 거리이기 때문에 밥 챙겨먹긴 아주 좋은 환경입니다.

추가적으로 캠퍼스 내에 스타벅스와 버거킹, 서브웨이 등도 있기 때문에 맛있는거 잘 챙겨 드시면 됩니다.

 

아 그리고 진짜 중요한건데

건물 지하의 e마트 24 편의점 주변에

고양이들이 많고, 대부분 개냥이입니다. ㅎ

라피신 과정동안 힐링할 것들이 많지 않은데

아침에 출근하면서 냐옹이들 만나면 기분이 좀 좋아집니다.


사설은 이정도면 됐고,

난이도에 대해 이야기해보자면,

제 기준에는 난이도가 좀 높다고 느껴졌습니다.

 

대부분의 과제가 C언어로 이루어지며

한 달이라는 시간이 생각보다 훨씬 촉박하기 때문에

라피신 과정 중에 C언어를 기초부터 공부하기엔

시간이 너무 빠듯합니다.

 

그래서 C언어에 대한 기초적인 개념은 탑재하고 라피신에 임하는 것이

합격 확률을 높일 수 있겠다는 생각이 많이 들었고,

과제를 해결하면 할수록 난이도가 기하급수적으로 높아집니다.

 

리눅스를 다루는 방법은 어차피 라피신 과정 내내 사용하기 때문에

적당히 WSL2에 우분투 설치해서 명령어 같은 것들을

조금 만져보고 가면 좋겠다는 생각이 들었습니다.


과제에 대해서 이야기해보자면

라피신 과정에서는 과제를 해결하면서 경험치를 얻을 수 있습니다.

이 경험치를 쌓아 레벨을 올릴 수 있고,

이게 본과정 합격에 큰 영향을 미친다고 알려 있습니다.

 

과제들은 기본적으로 lock 되어있다가

낮은 단계의 과제를 해결하면 다음 단계 과제의 lock이 해제되는 구조인데

꼭 100점을 받지 않더라도 일정 점수 이상(60~70점 정도)만 받으면

다음 단계의 과제에 도전할 수 있습니다.

 

그리고 높은 단계의 과제를 풀어나가다 보면

이전 단계의 어려웠던 문제들을 쉽게 풀 수 있게 되기도 합니다.

 

또한 낮은 레벨의 과제들을 70점 정도에서 100점으로 끌어올리는 것 보다

다음 단계의 문제들을 70점 맞는 것이 더 효율이 좋기 때문에

초반에는 과제 점수를 100점으로 만드는 것에 집착하지 말고

빠르게 진도를 나가는 것이 좋습니다.


시험은 과제를 열심히 풀면 대부분 해결할 수 있는 수준의 난이도입니다.

한 번씩 난이도가 높은 문제가 등장하기 때문에

과제를 해결하는 방법에 대해 정말 잘 이해하고 있어야 합니다.

그렇기 때문에 어디서 대충 코드를 가져와서 과제를 해결한다면

시험에서 높은 점수를 얻기 어려울 것 같아요.


기본적으로는 개인과제 위주로 진행되지만

매주 1개씩 팀과제도 존재합니다.

마지막주에는 팀과제가 2개이구요.

 

보통 팀과제는 배정된 점수가 높기 때문에 많이 해결할수록 좋습니다.

특히 첫번째 팀과제는 난이도가 낮기 때문에 꼭! 꼭! 도전해보세요.

하지만 두번째 팀과제 부터는 난이도가 많이 높아지고,

0점을 받는 팀도 많기 때문에 개인과제가 급하다면 팀과제에 집착하지 않아도 됩니다.

 


4. 그 외

VSCode

라피신 과정에서는 기본적으로 터미널과 vim을 활용할 수 있어야 합니다.

하지만 터미널과 vim을 이용해서 과제를 하다보면 귀찮은게 한두가지가 아닙니다.

매번 터미널에서 과제 폴더에 진입해줘야 하고,

컴파일도 따로 해줘야 하는데다가 코드 가독성도 떨어집니다.

 

그래서 저는 폴더 관리도 훨씬 수월하고, 컴파일도 알아서 해주는 vscode를 추천합니다.

당연히 터미널과 vim도 반드시 다룰 수 있어야 하지만

vscode를 사용하면 여러분들의 시간을 좀 더 효율적으로 사용할 수 있게 해줍니다.

 

내향인

라피신에서는 무조건 다른 사람과 커뮤니케이션을 거쳐야만

평가받을 수 있고, 평가할 수 있습니다.

 

또한 평가를 받아야 과제를 통과할 수 있는데

평가를 받기 위해서는 토큰이 필요합니다.

그리고 이 토큰은 다른 사람을 평가 할 때 마다 얻을 수 있어요.

반드시 다른 사람들과 커뮤니케이션을 거쳐야만 한다는 의미입니다.

 

그러니 '나는 내향인이니까 혼자서 하고싶어' 같은 마인드는 잠시 접어둬야 합니다.

저도 내향적인 성격을 갖고 있어서 최대한 혼자서 라피신 과정을 진행했지만,

커뮤니케이션이 원활한 사람들 보다 훨씬 비효율적으로 과제를 해결할 수 밖에 없었습니다.

 

예외처리

과제를 평가 받는 과정은 2단계로 이루어져 있습니다.

먼저 동료에게 평가를 받아야 하고, 그 후에 42 시스템에게 평가받아야 합니다.

 

이때, 42 시스템에게 평가를 받는 기계평가 과정에서는

온갖 테스트케이스를 만들어 여러분들의 과제를 평가합니다.

그렇기 때문에 과제를 수행할 때 예외처리에 항상 신경써야 합니다.

예외처리를 제대로 하지 않으면 과제를 통과할 수 없거든요 ㅎㅎ...

 

기록하기

과제를 풀면서 습득한 지식은 꼭 기록을 해두는 것을 추천합니다.

시험을 치기 위해서는 과제를 해결한 과정을 잘 숙지하고 있어야 하는데

인간은 망각의 동물이라 시간이 지나면 까먹을 수 밖에 없습니다.

그렇기 때문에 기록을 해두는 것을 추천합니다.

저는 notion을 사용해서 학습 과정을 기록했습니다.

 

항상 두 번 확인하기

라피신 과정에서 제대로 확인을 하지 않고 과제를 제출해서

아까운 토큰과 시간을 날린 분들을 많이 봤습니다.

그러니 항상 한 번 더 체크하고 과제를 제출할 수 있도록 습관을 들이시는게 좋습니다.

저도 당연히 다 했다고 생각했는데

파일 수정이 안되어 있거나 파일이 업로드 되어 있지 않았던 적이 있었습니다.

정말 귀신이 곡할 노릇이었어요...

5. 마치며

아직 라피신 과정 밖에 진행해보지 못했습니다만

42의 교육과정이 상당히 흥미롭게 느껴졌습니다.

 

리액트를 사용하다보면 한 번씩

'내가 리액트 없이 자바스크립트 만으로도 이런 기능들을 구현할 수 있을까?'

라는 의문이 들 때가 있었습니다.

 

마찬가지로 언어에 기본적으로 내장 된 sort 함수 같은것들을 사용하다 보면

'내가 직접 데이터를 정렬하는 기능을 구현할 수 있을까?'

라는 의문이 듭니다.

 

라피신 과정에서는 함수들을 직접 구현해보면서

코드가 동작하는 원리를 좀 더 근본적으로 탐구해볼 수 있습니다.

 

당연히 귀찮고, 어려운 과정이지만

고민하고 시행착오를 겪는 과정에서

정말 많은 것들을 깨달을 수 있었습니다.

 

전공자분들이나 당장 취직이 급한 분들에게는 시간이 아까울 수도 있겠습니다만,

코드를 한층 더 깊이있게 탐구해보고 싶은 분들에게는

100번 추천해도 아깝지 않다는 생각이 들었습니다.

 

마지막으로 42 경산 링크를 남기며 이만 줄이겠습니다.

https://www.42gyeongsan.kr/ko/page.do?mnu_uid=230&

 

42경산은 실전중심 자기주도형 소프트웨어 인재 양성 교육 프로그램입니다

42경산

www.42gyeongsan.kr

 

반응형