본문 바로가기
T.I.L. :: Today I Learned/항해99 14기 본과정

Day 14. 2주가 지났네요 제가 뭘 보고 배웠는지 궁금... 더보기

by DaSsom 2023. 4. 16.

 

 

 

항해를 시작한지 2주일이 지났고, 온보딩기간까지 합하면 한 달 하고도 절반이 흘렀다. 그 수많은 시간동안 뭘 했는지 한 번 짚고 넘어가고자 W.I.L을 핑계삼아 M.I.L(Month I Learned) 을 적어보려한다. 

 

 

1. 알고리즘 문제 풀이 능력 향상

지난 시간동안 공부하며 가장 걱정했던 것이, 알고리즘 이었다. 자료구조와 알고리즘에 대해 제대로 배울 기회가 없었고 누군가 나에게 알고리즘이 중요하다고 말해준 사람이 없었다. 그래서 혼자 마구잡이로 구글링하며 공부하려고 했었지만 분명 한계가 있었다. 혼자서 하기엔 너무 어려운 내용이었고 계속해서 작심삼일로 마무리되었다. 그때와 비교해보면 이제 적어도 알고리즘 문제 풀이에 대해 두려움은 없다. 적어도 하루 한 문제는 고민해서 풀어보려고 했고 블로그에 풀이 코드도 올리기 시작했다. 개인적으로 큰 성장이라고 생각한다. 이제 스택이나 큐를 활용한 기본 문제정도는 풀 수 있다. 가능하다면 앞으로도 꾸준히 한 문제씩은 풀어보려고 한다. 스프링 주차 들어오며 벌써 빼먹은 날이 생겼긴 하지만...ㅎㅎㅎ

 

 

2. 토이 프로젝트 경험

자바로 진행한 프로젝트는 아니었지만 팀원들과 협업하며 홈페이지를 하나 만들었다. 심지어는 aws ec2를 통해 서버 배포도 진행했고 지금도 잘 돌아가는중!  ( 너! 내 동료가 되라! )
운이 좋게도 실력자 팀원들을 만나 많은걸 직접 보면서 배울 수 있었다. 개발이라는게 원하는대로 다 술술 풀리지만은 않는 일이기에 분명 수많은 문제들을 만나고 원인을 파악하고 해결 방법을 찾아야'만' 한다. 그런 찐한 고민들을 해결하는 과정을 보면서 아.. 나는 언제쯤 저런 역할을 맡을 수 있을까? 하며 의기소침해지기도 했지만, 처음부터 잘하는 사람이 어디있겠냐며 그만큼 더 배우고 채우면 된다는 생각으로 마인드 컨트롤을 했다. 이 멘탈 관리하는 것도 정말 중요하다고 생각한다. 모든 사람이 같은 선에서 출발하는 것은 아니기 때문에 당연히 실력 차이가 있을 수 밖에 없는 것이고 그 과정에서 오는 자기효능감이 떨어지는 과정을 잘 이겨나가야 한다고 생각한다. (는 나에게 하는 얘기임 ㅋㅋ)

 

 

3. 자바에 대한 심도있는 고민

항해의 동료들과 자바 스터디를 시작했고 어느덧 1~2회정도만 하면 스터디도 끝이 난다. 이 스터디가 나에게 정말 큰 도움이 되었다고 생각하는데, 스터디 초반에는 자료 조사 하며 공부하는 것도 벅찼고 스터디원들과 모여서 그 날의 주제에 대해 이야기를 할 때도 모든 내용을 알아듣지 못했다. 처음엔 내가 공부해온 내용에 대해 자신감도 없고 이해도 안되서 항상 내 차례가 오는 것이 두려웠고 답변의 말미에는 "이게 맞나요?"하며 항상 확신하지 못했다. 

그렇지만 이제는 내 의견에 대해 자신감이 생겼고 내 답변이 틀렸다면 지금 바로잡으면 된다며 얼마나 다행인가! 하고 다시 공부한다. 모르는건 부끄러운게 아니다. 하지만 알 수 있는 기회가 있었음에도 모르는 건 부끄러운게 맞다. 그래서 난 나중에 부끄럽지 않으려고 열심히 물어보고 찾아가며 공부한다. 스터디를 통해 자바에 대한 지식 뿐만 아니라 자신감도, 공부하는 방향도 다 찾았다. 

 

 

4. 스프링부트로 서버 설계하는 과제를 수행

이 과제를 하면서 내가 스스로 인텔리제이에서 스프링부트 프로젝트를 새로 생성하고 백지 상태에서 controller-service-repository 로 구분지어 프로그램을 만드는 날이 오는구나.. 했다.

학원다니면서 처음 게시판 프로젝트 수업을 들을때 코드를 따라치는 복붙 기계에 불과했고 MVC 패턴이 중요하다고 하는데 왜 중요한지도 모르겠고 controller - service - repository는 왜 구분지어서 만드는건지 전~혀 이해되지 않았다. 그냥 하라니까 했다. 그 때 제일 잘한건 git clone 하기 ㅋㅋㅋ ㅎㅎ.. 씁쓸하다.

개인적으로 '레이어드 아키텍처'를 알게 된 것에 가장 큰 충격을 받았다. 스프링부트 강의를 들으면서 아, 이래서 ..! 그걸 그렇게 !! 하는 순간이 정말 많았다. 기술매니저님들이 공통적으로 말씀하시는게 '경험을 통해 아는 것'이라고 하셨었다. 지금 공부하는 내용들을 실습 과정에서 적용해보고 그 이유에 대해 알게되는게 중요하다고. 아직 새발의 피만큼이지만 많은걸 보고 느끼고 있다. 

기록을 위해 블로그에 정리하면서 공부를 했는데 그 내용은 아래 게시글에서 볼 수 있다. 

https://mansooonuna.tistory.com/40

 

web이 뭐야? web server가 뭐야? 아주 간단히 정리해볼께

Web 이란 ? World Wide Web : 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간 구성 요소 → 웹은 HTML 형식의 문서 위치를 URI로 표기, HTTP 전송 프로토콜을 통해

mansooonuna.tistory.com

https://mansooonuna.tistory.com/41

 

'나'가 '나'에게 설명하는 스프링부트에 대한 이야기..

처음 스프링부트를 쓸 때 Controller? Service? Repository? Dto?? Dao?? 다 뭔소린가 했는데 이 그림으로 조금이나마 정리가 된다. 그리고 또 개발에 대해 정말 무지했기 때문에 " 아니 그냥 가져다가 쓰면될

mansooonuna.tistory.com

 

 

 

5. 함께하는 팀원들 && 관리 감독해주는 매니저님들

항해의 큰 장점 중 하나.. 나 혼자가 아니라는 것. 처음에 참여했던 다른 부트캠프에서도 혼자, 학원을 다니면서도 혼자였고 그렇게 공부하면 사실 하루에 많아봐야 2~3시간? 공부하고 만다. 누군가 나를 계속 감시하고 있는 것도 아니고 공부하라고 잔소리를 하지도 않으니까. 근데 항해는 다르다. 계속 캠코더를 켜놔야하니 반강제적으로라도 책상 앞에 앉아야하고 출석체크를 해야하니 늦잠을 잘 수도 없다. 그리고 계속 열심히 하는 동료들이 눈에 보여서 나만 안할 수 없다. 그러니까 당연히 공부하는 시간과 양이 늘어날 수 밖에. (주 80시간 쌉가능)

그리고 각 주특기마다 담임 선생님 처럼 담당해주시는 매니저님이 계셔서 공부 잘 하고 있나~ 체크 당한다. 모르는게 생기면 확실한 답변을 얻을 수 있는 기술 매니저님들도 계시고, 심지어는 경력있는 시니어 멘토님들도 계신다. 진짜 좋다. 다시 학교 다니는 느낌이라 괜히 좀 몽글몽글해지는 것도 있고 재미있다. 

공부는 혼자하는 것이지만 혼자하는게 아니다. 읭? 무슨말인가 할텐데 공부를 할 때 혼자만의 힘으로 이해되도록 고군분투해야하는 것은 맞지만 그렇게 혼자하다보면 내가 보고 있는게 맞는지 틀린지도 모르고 하게 된다. 하지만 동료들과 함께하다보면 뭐가 맞고 틀린지 확인하며 제대로 된 방향으로 나갈 수 있다. 그래서 주변에 누가 있느냐도 참 중요한데, 항해에는 정말 하나같이 다 열심히 하려고 모인 사람들밖에 없어서 참 좋은 영향을 주고 받고 있다. 

 

 

 

6. 오늘 할 일은 오늘 해낸다.

해야할 공부들이 많기 때문에 오늘 할 일을 하나라도 미루게 되면 그 다음날의 내가 힘들고 오히려 거기서 번아웃이 온다고 한다. (고 연봉1억 개발자님께서 특강때 말씀해주심) 생각해보니 맞는 말이다. 오늘 피곤하더라도 일을 다 끝내놓아야 내일의 일정이 차질없이 흘러간다. 그래서 이제 일을 절대 미루지 않는다. 늦더라도 오늘 다 끝내는 습관이 생겼다. 이렇게 작은 습관이 모이다보면 나에게 큰 변화가 찾아올거라 믿고.

 

 

 

 

 

 

본과정이 시작되기 전에 내가 할 수 있을지 많은 걱정이 있었지만 역시 걱정은 기우였고 어느새 주에 80시간씩 공부하고 있다. 하면 된다. 이 기세를 몰아 수료는 당연하고 개발자 지망생 탈출할 예정 🫡

그럼.. 주저리주저리 말이 길었는데 ... 여기서 20000 !