본문 바로가기
프론트엔드

[비전공자 개발자되기] 제로베이스 스쿨 3개월 차 후기

by 인수수 2022. 4. 28.

전반부 끝 후반부 시작.

총 6개월 과정 중에 이제 반을 끝냈다. 시간이 너무 빠르게 흐른다. part1, part2로 나눠져 있는 과정 중에 이제 part1을 끝냈다. 물론 강의를 수강하는 건 내 자유여서 모든 강의를 다 듣지는 못했다. 그래도 제로베이스 스쿨은 part2로 넘어가도 part1에 있는 강의들을 들을 수 있기 때문에 걱정은 덜 된다. (제일 좋은 장점인 듯!) part1은 기본기이다 보니, 계속 보면서 머리 안에 정말 입력시켜야 할 것 같다. 전반 과정이 끝났다고 생각하니 내가 3개월 동안 잘 해왔는가 돌이켜보게 된다. 난 잘해왔나? 성장했나? 멘토라는 개념이 없어서 내가 얼마큼 성장하고 있는지 객관적으로 못 보는 게 아쉽긴 하다..

프로젝트로 배우는 자바스크립트

저번에 글을 적었을 때는 개념을 안 잡고 바로 코드를 작성해서 아쉽다고 했었는데, 강의를 더 듣다 보니 뒤에 있는 강의들은 개념을 설명해주고 코드를 작성하더라.(강의를 더 보고 적었어야 했나..ㅜ) 아무래도 앞에 있는 강의들보다는 조금 더 복잡하다 보니 설명해야 하는 개념들이 있어서 readme파일에 알아야 할 메서드들을 정리해놓으시고 설명해주셨다. 개념 설명 들으면서 이해가 안 되는 것들은 따로 더 찾아봤다. 그것 외에도 수업 중에 쓰는 메서드들 중에서 사용 방법? 사용순서? 가 기억에서 희미해진 것들은 다시 복습하는 방식으로 공부했다. 확실히 문법 강의에서 배웠을 때는 이해했다고 생각했던 것들이 실전에서 쓰이니까 뇌 회로에서 바로바로 처리를 못하는 게 느껴졌다.(제대로 이해 못 했다는 증거겠지..) 프로젝트로 배우는 자바스크립트 강의 들으니 문법을 복습할 동기도 확실히 되고, 코드를 어떻게 짜고 예외처리를 어떻게 해야 할지 약간씩 감이 잡힌 것 같다. 중요한 건 복습 그리고 복습. 제대로 체화시키는 게 중요한 거 같다.

 

강의를 듣는 내 모습을 과장하자면 이렇지 않을까 싶다. 분명 처음엔 엄청 쉬웠는데 ㅜ(물론 강사님의 강의가 저렇게 어렵다는 건 절대 아니다 ^^)

자바스크립트 과제

확실히 html/css과제와 비교하면 느껴지는 난이도가 달랐다. html/css과제는 혼자서 어느정도 할 수 있는 단계였고 몇 가지 안 배웠던 조건들 특히 스크린 리더를 신경 써야 하는 게 생소했는데, 구글링 하면 쉽게 구현 가능했다.(물론 내가 퍼블리싱 수업을 들어서 그럴 수도 있다.) 하지만 자바스크립트는 어떻게 해야 작동이 될까 계속 이것저것 시도해봐야 했다. 조건들을 만족시키기 위해 이걸 손보면 저 코드가 안 먹히고 저걸 고치면 다른 게 안 되는 상황이었다. 프로젝트로 배우는 자바스크립트를 봐도 직접적으로 과제와는 관련 없기 때문에 스스로 생각해냈어야 했다. 간접적인 도움만 강의에서 받고 스스로 구글링을 하며 예외처리를 생각하면서 어찌어찌 과제를 마무리했다. (실무자가 본다면 정말 얼기설기 억지에 가까운 코드일 수도 있겠다.) 클린 코드도 중요하지만 일단 동작이 돼야 하니까 내 수준에서는 어쩔 수 없는 결과물이었다. 그래도 조건에 맞춰서 동작하는 과제물을 볼 때는 행복해서 공부의욕이 매우 샘솟았다. 거진 한 과제당 2~3일씩 진행했는데, 다른 공부는 못하고 계속 과제를 위해 구글링과 디버깅 시간이었다. 

나는 문제 해결하는 걸 좋아하는 편이라서, 하나가 구현이 안되면 될때까지 붙잡고 있는 편이다. 그래서 문제를 해결하진 못했지만, 체력관리를 위해 어쩔 수 없이 잠자리에 들어야 할 때는 자기 직전까지 이렇게 해볼까 저렇게 해볼까 생각하다 잠들었다. 그럼 신기하게 다음날 아침에 그 문제를 해결할 수 있었다. 정말 무의식 속에서 해결책을 찾은 걸까? 뭔가에 몰두하려면 무의식까지 끌어들여야 한다는 말을 들었었는데, 새삼스럽게 체감했다. 계속해서 이런 몰두를 하면 참 좋을 텐데, 어려운 일임을 알아서 아쉽다. 

 

과제를 진행하면서 알게된 기초 상식들을 블로그에 따로 정리해두었다. 정말 왕기초상식이기 때문에 일반적인 개발자들은 비웃을 수도 있겠다. 하지만 나 같은 비전공자에 자바스크립트를 처음 마주하는 사람들한테는 유용할 지식이다. 관심이 있다면 한 번 아래 링크에 들어가 보는 것도 추천한다.

https://velog.io/@suging/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A1%9C-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%A7%84%ED%96%89%ED%95%A0-%EB%95%8C-%EC%95%8C%EC%95%84%EB%91%90%EB%A9%B4-%EC%A2%8B%EC%9D%80-%EC%99%95%EA%B8%B0%EC%B4%88%EC%A7%80%EC%8B%9D

알고리즘

4월에는 코딩 테스트를 치지 않았다. 과제에 집중하고 싶다는 수강생들의 의견을 반영해서 제로베이스 스쿨 관리자 분들이 배려해주셨기 때문이다. 그때그때 있는 이슈들에 대해서 소통해주시려는 부분이 좋았다. 그래도 알고리즘 문제를 하루라도 거르면 머리가 둔해진다는 걸 저번 달에 깨달았기 때문에, 과제 제출기간이 끝나자마자 매일 두 문제씩 알고리즘 문제를 풀고 있다. 프로그래머스를 이용하다가 이전에 봤던 코딩 테스트에서 틀렸던 문제를 지금의 수준이라면 풀 수 있을 것 같아서 첫 번째 테스트부터 풀기 시작했다. 지금은 여섯 번째 테스트를 풀고 있으며, 평균적으로 한 테스트에서 8~9문제를 풀어냈다. 테스트를 볼 때 많이 맞아도 절반을 넘기기 힘들었던 예전의 나와 비교하면 장족의 발전이다. 물론 한 문제에 들이는 시간도 다르고, 테스트에 들어가는 값을 미리 알아서 예외처리를 잘할 수 있다는 점이 다르다. 그래도 이전에 비해 쓸 수 있는 메서드들도 늘어났고 어떻게 문제를 해결해야 할지 생각하는 능력도 향상됐다는 게 느껴진다. (어찌 되었든 문제를 풀어냈다는 건 맞으니까!) 

처음 풀 때 코드
수정한 코드

같은 문제여도 수준이 향상되니 코드도 굉장히 짧아졌다. 이 문제를 캡처하면서 새삼 놀랐다..ㅎ 더욱더 짧지만 알기 쉬운 코드를 짜기 위해 노력해야겠다.

다음 달 목표

우수 수강생으로 선정되어 part2에서 진행하는 팀 프로젝트를 강사님과 함께하는 라이브세션으로 컨펌받으면서 진행할 수 있게 되었다. 우수 수강생은 오프라인수업을 듣거나 팀프로젝트를 라이브세션으로 진행하거나 하는 옵션이 주어지는데, 대게 오프라인수업을 선호하는 것 같았다. (구 네카라쿠배 과정이니 그럴만도..) 사실 같이 스터디 하는 사람 중 과반수가 오프라인수업을 듣게 되었다고 했을 때 많이 부러웠다. 그러면서도 반성도 많이 됐다. 우수 수강생을 바라진 않았지만 막상 주위의 사람이 되는 걸 보고 부러워할거였으면 더 열심히 해보지. 라는 생각. 하지만 오프라인 수업이 됐든 팀프로젝트 컨펌이 됐든 나도 우수 수강생으로 선발되었다는 소식에 정말 감사했다. 사실 난 내가 우수 수강생이라고 생각하지 않는다. 그냥.. 제로베이스 측에서 하라고 제시한 것을 최대한 수행하려 했을 뿐 잘했다고는 볼 수 없다. 포기하지 않으려는 점을 높이 사서 우수 수강생으로 뽑아주셨다고 생각한다. 끝까지 포기하지 않고, 버텨서 어떻게든 마무리할 것이다. 다음 달부터는 팀 프로젝트인 만큼 다른 팀원들에게 폐 끼치지 않는 팀원이 되도록 한 사람의 몫을 하는 프론트엔드 엔지니어가 되도록 부단히 노력해야겠다.

 

이 글은 소정의 대가를 받고 작성됨