라이징 프로그래머 3 수료 회고 및 후기 : 비전공자가 3개월 만에 인턴 최종합격까지 한 이야기

JIYOON·2021년 9월 10일
11

Retrospective

목록 보기
1/1
post-thumbnail

지원 동기

객체? 클래스? RAM? 몰라 그게 뭐야... 무서워...


영상 편집, 웹툰 공모전, 게임 일러스트 등 이런저런 찍먹 혹은 경험의 시간을 거쳐 2021년 3월 말, 프로그래밍이란 것을 공부하기 시작했다.
내가 다니던 대학에는 교내활동에 자주 참여하여 포인트를 쌓으면 받을 수 있는 장학금이 있었고, 그 포인트를 쌓기 위해 들었던 강연이 실리콘밸리에서 창업한 사제파트너스의 이기하 대표님의 강연이었다.

별 기대없이 들어갔던 강연의 중반 즈음에, 나는 반드시 프로그래밍을 배워서 창업하고 말겠단 생각을 하게 됐다. 평소 공부하고 뭔가 만드는 것을 좋아하는 성격에, 제조업으로 창업하는 것보다는 비용과 리스크가 덜할 것이라는 판단도 있었다.
그렇게 프로그래밍을 공부하기로 마음먹게 되었다.


하지만 나는,,, 그 때까지만 해도 OS가 뭔지, RAM은 뭐고 프로그래밍 언어가 뭔지도 전혀 모르는 상태였다,,,


그렇게 독학으로 시작하게 된 공부는 당연히 힘들었고, Udemy에서 웹 개발 온라인 강의를 듣긴 했지만 강의 내용을 정리해도, 가끔 나오는 코딩 예제를 따라해도 뭔가 발전하는 느낌이 들지 않았다. 이렇게 공부하는 게 맞는걸까 불안해하며 유튜브를 서칭하던 중에, 컴공선배라는 유튜브 채널을 알게 됐다. 마침 채널에서 <라이징프로그래머 3>라는 교육 과정을 홍보하고 있었고, 프로젝트 결과물과 커리큘럼을 보고 '이거다!'라는 생각에 지원하게 된다.



수업 과정

교육 과정은 13주에 걸쳐 진행되는데, 첫 5주 동안은 서버를, 한 주 쉰 뒤 다음 5주간은 클라이언트를 배웠다.
백엔드 언어로는 nodejs와 springboot 중에 선택할 수 있고, 클라이언트는 ios와 aos 중 선택할 수 있다. 나는 백엔드 는 springboot, 클라이언트는 android를 선택해서 진행했다.

수업 방식은 매주 한 번 3시간 가량 멘토님의 강의를 듣게 된다. 수업 내용이 많은 날은 5시간씩 강의를 하는 멘토님도 계시다. 그만큼 모두 열정적이고 책임감이 강하신 분들이 많다. 강의가 끝난 후에는 관련 레퍼런스와 동영상 강의 링크, 그리고 한 주 동안 수행해야 할 과제를 받게 된다.

그리고 이 과제가 라이징 프로그래머 교육 과정의 본격적인 시작이다...

첫 과제부터 쉽지 않다.

화창한 날씨(?), 훈훈한 수업 분위기, 재미있는 자기소개 시간, 쉽게 설명해주는 수업 내용에 속아 과제를 만만하게 보면 피맛을 보게 된다. 첫 과제는 GCP VM에 APM 컴파일 설치로 웹 서버를 구축하는 것이었는데, 컴파일, 서버, VM의 개념조차 모르고 어떻게 진행할 지 감도 못 잡은 상태에서 애를 먹은 기억이 난다.

멘토 수업은 개념적인 부분을 안내해주고 동영상 강의는 대략적인 가이드 라인을 제시할 뿐, 과제에 관한 내용은 모두 본인의 힘으로 찾아봐야 한다. 처음에는 이 방식이 적응하기 어려울 수 있다. 검색을 통해 과제를 해결해야 하는데, 초보의 입장에서는 어떤 키워드를 검색해야 될 지 감도 잡기 힘들기 때문이다. 강의만 듣고 따라하던 방식에 익숙해져있던 나도 많이 힘들었지만, 이런 교육방식은 다음과 같은 장점이 있었다.


  1. 검색하는 능력이 길러진다.
  2. 공식 문서를 찾아보는 능력이 길러진다.
  3. 삽질한 만큼 배우게 된다.
  4. 무지성으로 강의를 따라하지 않게 된다.

강의를 듣고 단계별로 코드만 따라치던 때에는 배운 것이 기억에 잘 남지 않았다.(어? 이건 지금도 그러네?)
하지만 같은 교육생이나 멘토에게 질문하고 검색하며 삽질하는 과정에서 배운 것들은 쉽게 전체적인 로직을 이해할 수 있었고, 다른 기능에 활용할 때도 더 잘 떠올릴 수 있었다.

10주 간의 교육 과정 동안 과제 수행도에 따라 '라이징 테스트'라는 실전 프로젝트 참여 자격이 주어지게 되는데, 다행히 슬랙 채널에 질문을 올리면 친절하게 답해주신 멘토님들과, 사소한 질문도 함께 고민하며 도와준 동기들 덕에 무사히 교육 과정을 마치고 실전 프로젝트 참여 자격을 얻을 수 있었다.


- 교육받은 내용

10주 간 교육받은 내용은 다음과 같다.


  • Server
    서버와 클라이언트의 개념, 서버의 원리, VM에서 서버 구축하기, phpMyAdmin 접속, AWS EC2 활용
    프로토콜/외부 및 내부 IP/라우팅/포트포워딩/도메인의 개념, 서브도메인/SSL/IP to Domain Redirection의 적용
    HTTP Method/패킷의 개념, API의 개념 및 RESTful API CRUD 개발
    데이터베이스의 개념, ERD 설계, 쿼리문 작성, AWS RDS 활용
    페이징 및 소셜로그인, JWT 활용, 외부 API 활용

  • Client
    AndroidMenifest의 개념, Layout과 Front-End에 대한 이해
    LifeCycle/Intent/EventListener 활용
    리사이클러뷰 및 리스트뷰 활용하여 검색, 수정, 등록, 정렬 개발
    멀티스레드 활용
    서버 통신 및 소셜로그인 기능 개발, OAuth와 Token, JWT 활용


이렇게 보니 짧은 시간 동안 정말 많이 배웠다.


실전 프로젝트

라이징 프로그래머 교육 과정의 끝...!!!

실전 프로젝트에 앞서 서버와 클라이언트 중 원하는 포지션을 정하면 팀을 배정받게 되는데, 2주 간 배정받은 어플을 클론 코딩한 결과물을 영상으로 찍어 제출하면 된다. 나는 포지션은 서버, 어플은 당근마켓으로 프로젝트를 진행했다. 실전프로젝트를 시작하기에 앞서 깃, 깃허브, 커밋 메시지 작성 규칙, 개발 일지 등을 조금 알아보고 시작하는 것이 좋다.

프로젝트 기간 동안 혼자 이사를 해야 하는 상황이 생기는 등 몇 가지 걸림돌이 있었지만 좋은 팀원을 만난 덕에 프로젝트 또한 성공적으로 끝낼 수 있었다. 프로젝트를 진행하며 깨달은 것들을 기록해 봤다.


실전 프로젝트를 진행하며 개발한 API
다시 보니 부끄러운 마음도 들지만 열심히 했다는 걸 알기에 뿌듯한 마음이 더 크다.


- 깨달은 것들

1. 질문하자

사람들은 생각보다 친절하다.
너무 쉬운 걸 물어보는 건 아닌지, 시간을 빼앗는 건지 고민할 시간에 물어보자.
빠른 피드백은 곧 빠른 성장이다!

2. 과제의 목적을 상기하자

과제를 진행하다 보면 과제 목표와 상관없는 다른 것에 꽂혀서 시간을 낭비할 때가 있다.
추가로 공부하고 싶은 것은 메모해두고 현재 집중해야 할 것에 집중하자.

3. 우선순위를 정해서 시간 관리를 잘 하자

2번과 이어지는 내용이다.
메인 과제와 추가 과제를 잘 구분해서 진행해야 한다.
정해진 기간 내에 최소한의 기능만 갖춘 서비스를 제공하는 것이 완벽을 추구하다 기간을 넘기는 것보다 훨씬 좋다.
내가 해낼 수 있는 범위와 내 능력을 잘 파악해서 계획을 짜고 계획을 잘게 쪼개 실행해서 효율성을 높이자.

4. 개발 실력을 늘리려면 무작정 강의를 따라하기 보다 만들고 싶은 서비스를 생각하고 어떻게 하면 구현할 수 있을지 고민해보자

블로그 서비스를 만들고 싶다면, 유튜브에 있는 블로그 강의를 바로 따라하는 것보다 먼저 나름대로 고민해서 삽질을 해본 뒤 따라하는 것이 훨씬 흡수가 빠르다.

5. 조금 더 간단하더라도 리얼한 연주를 하는 게 중요하단 거지. 뭘 하는지 알고 있으니까.
그치만 뭘 하는지도 모른 채로 대단한 연주를 따라가려고 하면 더 나아질 수 없고, 무언가를 배우지도 못해. - 빌 에반스

4번과 이어지는 내용이다.
교육 과정 동안 초조한 마음에 깃허브에 올라와 있는 멋진 오픈 소스를 보고 그대로 따라하려다가 처음 보는 기능들이 섞여 있으니 제대로 흡수하지 못했던 경험이 있다.
게다가 이렇게 따라한 것들은 내 것이 아니니 나중에 내 방식대로 활용하기도 쉽지 않았다.

6. 이슈 사항을 잘 정리하자

이슈가 발생하면 그 부분에서만 문제를 찾을 수 있는 것이 아니라 다른 곳까지 손대게 마련이다.
이런 과정에서 자칫하면 이슈의 큰 그림을 놓치고 길을 잃기 쉽다.
이슈를 잘 정리해서 내가 어느 부분을 해결하고 있는지 잊지 않도록 하자.

7. 일단 한 언어를 깊게 공부하자

영어를 잘 하는 사람은, 스페인어를 배우는 것이 쉽다는 얘기가 있다.
세세한 부분은 다르지만, 문법과 어휘에서 비슷한 면이 많기 때문인 것 같다.
프로그래밍 언어도 문법이나 자세한 부분이 다를 뿐, 기본 원리는 비슷한 부분이 많은 것 같다.
하나를 깊게 공부하고 나서 다른 언어들도 도전해보자!

8. 개념, 용어 공부 열심히

혼자 개발하고 배우다 보면 대충 퉁치고 넘어가는 용어들이 생기게 된다.
하지만 이렇게 하다보면 면접 때 설명하기도 어렵고 전문적이지 않은 언어로 말하게 된다.
면접 때 사용할 수 있도록 용어 공부를 잘 하자

9. 이슈는 즐거운 것, 해결할 수 있는 것, 새로운 도전과제라고 생각하자

같은 교육생에게 배운 마음가짐이다.
풀리지 않는다고 화내지 말자!
오히려 좋아! 오히려 재밌어!

10. 협업은 생각 이상으로 중요하다

서버로 실전 프로젝트를 진행하며 동기들의 클라이언트의 고충에 대해서 자주 듣게 됐다.
'잘 하고 있겠지'보다는 '어떤지 물어볼까?'라는 마음가짐으로 자주 소통하고 피드백을 받도록 하자.


- 잘 한 부분

  1. 밤을 새워가며 과제를 기간 내에 해내려고 한 것

  2. Room, 자동로그인 등 과제 이상의 기술을 구현해보려고 한 것

  3. 블로그에 잘 정리해 놓은 것


전반적으로 교육 기간 동안 최선을 다 한 것 같아 뿌듯하다.


- 발전할 부분


1. 초조해 하지 말자

초조한 마음에 오히려 진행이 느렸던 구간이 있었다.
시간을 들이면 해낼 수 있으니 너무 불안해 하지 말고 잠깐 쉬었다 가자.

2. (쇼잉) 발표도 매우 중요하다

항상 느끼는 거지만 나는 쇼잉에서 약한 경향이 있는 것 같다.
뭔가 민망한 기분이 들기 때문이거나 내가 느끼는 만큼 내 성과를 표현하면 건방지단 소리를 들을까봐 그러는 것 같다.
특히 프로젝트 영상 제출에서 원하는 만큼 준비를 안 한 것 같아 조금 속상하다.
내가 말하지 않으면 아무도 알아주지 않는다. 열심히 보여주자.

3. quantity보다 quality가 중요한 때를 구분하자

API를 많이 개발해야 한다는 집착에 validation이나 세세한 부분이 부족했다.
개발 속도가 빨라지면 어느정도 해결될 부분이지만 세세한 것에도 신경쓰는 습관을 기르자.


취업 컨설팅과 인턴 합격

실전 프로젝트 기간이 끝나면 신청한 사람에 한해서 소프트스퀘어드에서 취업 컨설팅도 진행해준다!
인턴 면접을 앞둔 사람들을 우선으로 컨설팅을 진행하는데, 나는 25분 정도 컨설팅을 받았고, 인턴에 합격했기에 컨설팅은 한 번으로 종료됐다. 자기 자신의 포인트를 잘 파악해서 면접 내내 컨셉을 잘 이끌고 가라는 조언을 해주셨고 많은 도움이 되었다.

인턴은 총 3곳을 지원했는데, 하나는 서류 탈락, 다른 하나는 면접 탈락을 받고 최종적으로 메가존클라우드에 합격하게 됐다! 🥳 🤩 🥰


수료 후 변화와 감사 인사, 그리고 지원을 고려하시는 분들께

현재는 인턴 첫 출근날을 기다리며 자료구조와 C언어를 공부하고 있다.

소프트스퀘어드에서 교육하는 SSAC 3기의 멘토로도 활동하며, 수익형 앱 개발 동아리인 MakeUs를 최종합격하고 OT를 기다리고 있다. 수료 후 개발 공부에 대한 나름대로의 방향을 정할 수 있었고, 정말 감사하게도 인턴 기회까지 얻게 되었다. 13주 간 힘들다면 힘든 시간이었지만, 개발을 더 열심히 공부해보고 싶어졌다!

좋은 교육을 무료로 들을 수 있게 해준 소프트스퀘어드와 서울시 일자리정책과, 취업 컨설팅을 해주신 교수님, 인턴의 기회를 준 메가존클라우드, 질문에 친절하게 답해준 멘토님들과 안드로이드 A반 및 다른 교육생들 모두 너무 감사합니다! 😘

소프트 스퀘어드에서는 라이징프로그래머 뿐만 아니라 라이징 캠프, SSAC 등 다양한 교육 프로그램을 진행하고 있습니다.
교육에 충분한 시간을 들일 수 있다면 정말 좋은 프로그램이라고 생각합니다. 다양한 관점에서 잘 알아보시고 지원하시고 혹시 검색해서 들어온 분들 중에 물어볼 것이 있다면 댓글 남겨주세요!


그리고 마지막으로...

하트 한 번만 눌러주세용 히히





#소프트스퀘어드 #너도개발자할수있어 #라이징프로그래머 #512 #컴공선배후기 #컴공선배 #라이징캠프 #라이징캠프후기

0개의 댓글