개발일기 21.06.20 2주차 WIL

Nhahan·2021년 6월 20일
0

항해99 개발일기

목록 보기
21/31

알고리즘 1주차

 파이썬은 정말 재밌다. 처음 파이썬을 접할 땐 익숙하지 않아 불편하다고 느꼈는데, 잠깐 써본 뒤로는 얼마나 파이썬이 쉽고 좋은 언어인지 깨닫게 되었다. 자바 같은 언어하고는 비교하는게 어불성설일 정도로 파이썬 문법은 편했다. 언어가 쉬우니까 그만큼 더욱 더 많은 뇌의 리소스를 알고리즘에 집중할 수 있는 것 같았다.

 알고리즘 1주차 또한 재밌었다. 재밌었다라고 하는 이유는 항해99 알고리즘 주차에 총 60문제가 제공되지만, 40문제까지만 풀면 되고 나머지 20문제들은 선택 사항이라 굳이 하지 않았다. 정확히 표현하면 43번 문제까지 풀었는데 그 이유는 44번 문제가 재귀 문제여서다. 많은 분들이 알고리즘을 싫어하시는 것 같았지만, 나는 파이썬이 좋아서인지 -파이썬이 너무 좋아서 장고가 항해99 과정에 있었다면 장고를 선택했을 것- 몰라도 알고리즘을 푸는게 꽤 재미있었다. 그런데 알고리즘에서 싫어하는 문제들이 있는데 바로 재귀와 관련된 문제들이다. 직관적이지 않다고 해야하나? 나머지 문제들은 상식적으로, 일반적인 생각으로 고민만 많이 하면 충분히 풀 수 있는 느낌이었는데 하노이의 탑부터 N-queen까지 이어지는 재귀 관련한 문제들은 정말 끔찍했다. 아무리 고민해도 답이 나오지 않았고, 걸핏하면 '시간 초과'라며 내 제출 답을 오답처리했다. 유일하게 포기한 문제가 바로 N-queen이다. 봐도봐도 이해가 안가고 영어자료까지 찾아가며 공부해도 잘 모르겠다. 재귀라는게 너무 직관적이지 않은 것 같다... 만약 N-queen을 곧바로 푼 사람이 있다면 정말 상위 0.1%의 천재라고 생각할 정도로 나에겐 너무 어려웠다.

 남은 알고리즘 2주차의 시간은 자바를 공부하는데 시간을 쓸 생각이다. 알고리즘 1주차를 빡세게 달린 이유이기도 하다.

 알고리즘 주차에서 얻은 가장 큰 수확은 링크드리스트, 스택, 큐, 힙, 이진탐색, DFS와 BFS 개념이라고 생각한다. 그러나 재귀는 우웩!

주특기 별 줌 미팅과 주특기 선택

 애초에 항해99에 스프링을 생각하고 들어왔기에 다른 주특기를 선택할 생각은 없었지만, 그래도 모든 주특기 튜터님들의 줌 미팅에 참여하여 튜터님들의 말씀들을 들었다.

 여기서 조금 슬펐던 점이 있다. 리액트와 노드 튜터님들은 '강의에 있는 것만 모두 숙달하면 개발자 2~3년차 급의 실력이다'라고 하셨던 반면, 스프링 튜터님은 '강의에 있는 것만으로는 최종 프로젝트를 완성하지 못한다'라고 하셨다는 점이다.

 이건 단순 스프링의 강의가 좋지 않다라는 의미보다는, 그만큼 알아야할 것도 많고 어렵다는 이야기에 가까울 텐데 그도 그럴 것이 스프링의 역사가 리액트와 노드 둘을 합친 것보다 훨씬 길고 스프링 언어인 자바도 자바스크립트보다 어렵기(내 의견이 아니라 일반적인 사람들의 생각..?) 때문일 것이다.

 물론 지금 위에서도 말했지만 코딩을 지금 굉장히 즐겁게 하고 있는 상황이고, 알고리즘 주차도 알차게 보냈다고 생각한다. 그 전에 있었던 미니프로젝트 2개도 재밌고 화목하게 진행했다. 그러나 프로그래밍이 좋아서 부트캠프에 지원했습니다! 같은건 정말 가식적인 면을 다 떨쳐내고 보면 취업이란 목표를 예쁘게 감싼 포장지라고 생각한다. 이런건 부수적인 것이고 결국 항해99라는 부트캠프의 목적은 취업성공임에는 틀림없다. 그리고 누군가에게는 작은 돈일 수도 있지만 나에게는 큰 돈을 지불하고 부트캠프를 하는 만큼 취업을 하지 못한다면 부트캠프의 목적도, 그 큰 돈도 의미가 퇴색되어져 버리는 건 이야기하기 불편한 사항일 수도 있어도, 솔직하게는, 당연한 것이라고 생각한다. 어디 놀러가는 힐링캠프, 취미로 모인 코딩캠프가 아니다. 하고 싶은 말이 많은데 어쨌든 모든 사람이 이야기하길 스프링이 노드js보다 취업이 잘되는 건 사실이고 그리고 큰 돈 내고 하는데 이왕 좀 더 도전적인 것을 해보고 싶어서 스프링을 하려고 하고 있다.

 고민이 되는 이유는 노드진영과 스프링진영의 온도 차이 때문이다. 리액트와 노드는 항해99에서 제공해주는 커리큘럼만 잘 따라가면 신입 이상의 실력을 갖출 수 있을 것이다라고 하지만 스프링은 그게 아니라니... 스프링이 아무리 취업이 잘 된다고 해도 그만한 실력을 갖추지 못한다면 의미 없는 일인데 과연 스프링을 선택하는 것이 옳은 일인가 궁금하다. 더군다나 스프링 줌 미팅에서 질문하시는 분들을 보면 코딩을 몰랐던 분들이 아니라 전공자시거나 심지어 회사에서 일한 경험도 있으신 분도 계셨다. 뭔가 그런 분들을 위한 과정인가 싶기도 하고 혼란스럽다. 누군가 이에 대한 답을 확실하게 내려주면 좋겠지만, 튜터님들께 여쭤봐도 리액트나 노드에서 만큼의 확실한 "나만 믿고 따라와" 같은 답은 받지 못했다. 당연히 나의 노력이 가장 중요한 부분이겠지만, 지금도 열심히 하고 있고 앞으로도 그럴 것이기에 가장 중요한건 확실한 방향성을 제시받는 것이라고 생각한다. 이전에 3D를 공부할 때도 혼자 끙끙 앓아가며 공부했는데 결국 잘못된 방향으로 나아가 불필요한 시간을 낭비했던 적이 있기에 고민이 많다. 차라리 "스프링은 초보자가 하기엔 너무 어려우므로 그냥 노드나 하세요"라고 단도직입적으로 누가 말해준다면 아예 노드를 선택할텐데... 뭔가 항해99 측에 더 말하기도 부담스럽고 민감한 내용인 것 같아 갈피를 잡기 어렵다.

 결론은 일단 자바를 열심히 공부해두기

21.06.20 로켓펀치 백엔드 구인구직 검색결과

(검색어, 검색결과갯수)
(노드, 9개)
(nodejs, 141개)
(스프링, 111개)
(spring, 308개
(장고, 130개)
(django, 168개)

노드 스프링 비율은 그렇다치고 장고는 왜 이렇게 많지?

0개의 댓글