구글에 꾸준하다로 검색했을 때 나오는 첫 예시는 그는 도장을 3년 동안 꾸준하게 다니고 있다. 라는 예시다.
이를 바꿔 내가 개발 공부를 3년동안 꾸준하게 하고 있다면 어떨까? 인터넷 웹소설, 혹은 유튜브의 성공담을 들어보면 속된말로 개나소나 3년 5년 10년 하루에 수 시간을 꾸준히 공부하여 성과를 얻고는 한다.
그럼 나는 이제 30대 초반이 지나고 중반을 맞이하며 어떤 꾸준함을 가지고 있을까? 화두를 던져본다.
이펙티브 자바
하루에 하나씩은 포스팅해보려 노력하는 이펙티브자바다. 이제 열거 타입과 애너테이션 챕터를 끝내고 람다와 스트림을 시작했다. 90가지의 아이템중 아직 절반도 오지 못했음에도 많이 지쳐있다.
이 책에서 다루는 내용들은 결코 쉽지않다. 디자인패턴에 대한 이해와 자바의 여러 키워드들에 대한 지식은 기본적으로 알고있는 것을 고려하기 때문에, 자신있게 책을 폈다가도 내가 자바에 모르는 키워드가 이리 많았나? 라는 생각을 하게 된다.
이 책은 자바에는 이런 기능과 저런기능이 있다! 라는걸 말하는 책이 아니다.
이런 기능은 이렇게 써야 좋다! 라는 90가지 레시피를 제공하는 책이다. 나는 4장 제네릭과 5장 열거타입과 애너테이션에서 자바를 어떻게 써야할지 많은 인사이트를 얻었다.
단순히 열거 타입은 엔티티의 상태를 나타내는 정도나 람다식과 혼용해서 한정된 상황에서만 종종 사용을 했는데, 더 다양한 사용방법과 열거 타입의 확장, 그리고 EnumType의 콜렉션 프레임워크를 사용하여 성능까지 챙기는 부분에서는 감탄을 했다.
그리고 애너테이션도 그저 이미 제공되는 애너테이션들(Entity, Slf4j, RequiredArgumentsConstructor, ...)들만 사용하던 내게 명명규칙을 애너테이션으로 만들어 사용하라는 내용(아이템 39)은 좋은 인사이트가 되었다.
그리고 인텔리제이 IDE를 사용한다면 자연스럽게 자동으로 붙는 애노테이션인 @Override을 자주 보았을 것이다. 이 애너테이션은 딱 봐도 재정의메서드임을 보여주는 애너테이션인데 보통 이 애너테이션이 없어도 컴파일러는 문제없이 컴파일을 하고 런타임시에도 무리없이 동작한다.
그래서 얼핏 무신경하게 놓치기 쉬운 이 애노테이션은 개발자가 자칫 오버라이딩이 아닌 오버로딩을 할 수 있는 실수를 컴파일러단에서 막아줄 수 있다.
나만해도 이 애노테이션에 대해 무신경했었는데, 간단하게나마 이런 효용이 있다는 점을 깨닫고나서는 새삼 내가 쓰는 IDE나 언어에 대해 자각없이 왜(Why) 사용되는지도 모르고 쓰는게 많다는점을 알게 되었고 반성하게 되는 것 같다.
만약 내가 자바개발자이고 디자인패턴을 끝냈다면, 이펙티브자바는 무조건 1독 이상은 하기를 추천한다.
Spring - Validation
영한님의 인프런 강의 스프링 MVC2편을 짬짬히 듣고 있다.
이제 타임리프에 대한 소개를 넘어 검증에 들어왔는데 Validation과 BeanValidation 파트로 나뉘는데, 영한님의 강의는 최신 기술이나 애노테이션기반 기술들이 기본적으로 어떻게 돌아가는지에 대해서부터 예제 기반으로 강의를 진행하신다.
그렇기에 이해력이 좀 부족한 나같은 사람도 쉽게 이해할 수 있고 이런 애노테이션이 어떻게 만들어지게 되었는지까지 알 수 있게 해준다. 기존에 나는 검증은 서비스레이어나 도메인레이어에서 처리를 해주었다. 애노테이션은 사용하지 않았고, 그 덕분에 프로젝트의 코드가 난잡해지는경우도 많았다. 이번 챕터에서 검증에 대해 학습하며 스프링은 정말 많은 Resolver들을 제공하는구나 라는걸 다시 한 번 깨달았다.
그리고 BindingResult라는 객체로 인해 TypeMissMatch에도 400 BadRequest를 막을 수 있다는 점이 참 간단한 생각이지만 기발하다는 생각이 들었다.
이전에 타임리프쪽만 볼 당시에는 사실 이번 강의는 크게 얻어갈건 없을꺼라고 막연히 생각했었다.
타임리프는 백엔드 개발자인 내가 쓰기에 적절하지만, 필요할때 구글링해도 충분하기도 하고 큰 회사로 이직하면 프론트 개발자들이 리액트나 뷰로 다 개발하니까 굳이 내가 깊게 파야 할 이유가 있을까? 싶기도 했다.
하지만, 이런 생각은 오만이였고 자만이였다. 당장 이직에 도움이 안 될수는 있다.
이직만을 위해서라면 타임리프보다는 자료구조나 알고리즘, 가비지컬렉션이나 콜렉션 프레임워크부터 더 공부하는게 나을수도 있다.
하지만, 이직이전에 당장 회사에서 타임리프를 쓰는 상황에서 곧바로 적용할 수 있는 이런 실무지식들은 도움이 안 될수가 없는데 무시했던건 잘 못 생각하는것 같다.
강의가 중반부를 지나면서 점점 내가 원하는 내용들도 많이 나오니 집중해서 시간날때마다 포스팅을 해야겠다.
Ebbing Planned Study
이 스터디 학습법은 매일매일 공부를 하는것을 넘어 자기전에 전날 공부한것을 복습하고 3일단위로 3일전에 공부하는 것을 복습하면서 자연스럽게 공부한 내용을 장기기억으로 변환시키는 공부법을 말한다.
유튜브에서 토리파 스터디라는 키워드로 처음 접하게 되었는데, 평소 포스팅을 열심히 하지만 내가 포스팅한 내용들도 금새 까먹어서 공부를 해도 해도 오히려 모르는게 더 많아지는 악순환이 반복되는 상황에서 시도해볼만한 가치가 있다 생각이 되었다.
해당 스터디 방식은 보니 이미 Ebbing Planned Study라고 해서 전용 노트도 판매하고 있었는데, 나는 따로 노트를 사기에는 손 필기를 정말 싫어하기에 노션을 통해서 시작하기로 했다....
만 쉽지않다. 포스팅까지는 어떻게든 꾸준하게 하도록 하고 있지만, 예전부터 영어공부, 수학공부, 예습, 복습은 하기가 너무 싫어서그런지 매번 안하고 넘어가고 있다...
물론, 최근에 시작한 게임 영향도 있는 것 같다. 개인공부를 마치면 이미 10~11시인데 게임 한두시간하면 새벽이기에 복습까지 하기는 귀찮아지기 때문인 것 같다. 게다가 주말에는 와이프가 올라오면서 공부를 못하다보니 더욱이 그렇다.
사실 다 핑계다. 다이어트와 같다. 하려면 할 수 있는데 그냥 하고싶은 공부만 하려하는 상황인데, 정신차리자!
코드숨(codesoom)
해버리고 말았다.. 코드숨 220만원 플렉스...!
원래 넥스트스텝의 DDD세레나데와 갈등을 했다. 최초 목적은 본디 f-lab에서 멘토링을 받는 것이였는데, 내가 봤을당시 6개월에 550만원가량하던 비용이 한달도 안되는 사이에 700만원 +@로 올라버리면서 포기했다.
아무리 시니어급 스타개발자들의 멘토링을 받을 수 있다고 하더라도 너무 비싸다..
처음에는 넥스트스텝도 비싸다고 고민하던때가 엇그제같은데 지금은 넥스트스텝은 정말 가격도 괜찮고 효율이 좋은 과정이라는 생각이 든다..
무튼 본론으로 돌아와서 DDD세레나데와 고민하던찰나 12일 DDD세레나데가 10분도 안되는 시간에 매진이 되버리면서 신청할 수 없게되어 자연스럽게 코드숨만 고민하게 되었다.
본래 나는 둘 다 듣기보단 우선 이직을 하자는 생각이였다. 사실 회사는 3년 가까이, 블로그는 1년 넘게 관리하면서 공부를 쉬지 않았기 때문에 어느정도 자신이 있는 상태였다.
그런데 올 초부터 본격적으로 이직을 알아보면서 면접 질문들을 공유받아보곤 하는데, 눈앞이 깜깜해져버리고 말았다.
면접 질문들이 왜이렇게 어려운거지...?
나 코테준비나 알고리즘은 따로 준비 안했는데....?
ㅎㅎㅎ..... 조졌네 ....
이런 상황에서 같은 학원출신이던 동생들이나 아는 지인들은 카카오, 이스트, 무신사 등등 네임밸류가 있는 회사들이 이직들을 성공하는 상황에서 자신감은 더욱 더 줄어들었다.
물론, 이력서도 제대로 안써보고 이러고있으니 더 웃기긴하다. 하지만 아쉽게도 넥스트스텝 멤버쉽 멘토링은 자바지기님이 번아웃으로 임시중지한 상태이기에 들을 수 없고, 블랙커피 멤버쉽도 있지만 이건 내 소중한 기회니까 최대한 나중에 들을 예정이다...
이런 상황에서 작아질대로 작아진 자신감에 코드숨은 일종이 도피처인 것 같기도하다. 평소 블로그 포스팅할 때 참고하던 기계인간 이종립님이 리뷰어로 있으시기도 하고, 그외에 아샬님도 있고, 과정 수료후 이직까지 멘토링을 해준다는 말에 마음이 넘어갈만치 넘어간 상태였다.
그런데 여기서 와이프가 절반정도의 비용을 지원해주기로 하고 나도 펀드를 깨니 얼추 돈은 생기기에 고민끝에 결제를 해버리고 말았다.
과연 내가 잘 듣고 수료까지 할 수 있을진 모르겠지만, 노력해봐야겠다.
꾸준함 쉬우면서도 어려운 말
사람은 누구나 다짐을 하고는 한다.
•
나는 야식을 안먹겠어.
•
나는 하루에 1시간은 독서를 하겠어
•
나는 하루에 2시간만 게임을 할꺼야
•
일주일에 한 번은 가족에게 안부 전화를 해야지
•
기타 등등...
엄청 힘든 다짐도 있을 것이고, 간단한 다짐도 있을 것이다.
하지만 그 다짐이 무엇이든 꾸준히 하는 것은 정말 쉽지 않다.
저녁을 너무 일찍먹었는데 늦게까지 일하면서 배가 너무 고플수도 있고, 너무 피곤해서 독서를 못 할 것 같을수도 있고 게임이 친구들과 같이하니 너무 재밌어서 2시간만 하고 끄기가 힘들수도 있다.
일반인의 삶이란 크게보면 톱니바퀴처럼 굴러가지만, 작게보면 매일매일 매 순간이 역동적이다.
당장 냉장고를 열어서도 물을 먹을지 커피를 먹을지 사이다를 먹을지 고민하게 된다.
그리고 내게도 꾸준함이란 무엇보다도 힘든 말이다.
어릴적부터 작심삼일조차 제대로 못하는 경우가 많았고, 공부도, 노는것도, 게임도, 운동도 꾸준히 하질 못한다.
꾸준하지 못하고 처음에 가득 찬 의욕만 가지고 행동하게되면 의욕이라는 연료가 떨어지는 순간 나도 나가떨어지게 된다. 그 결과는 깊이 없는 지식이고 휘발성 지식이고 어중간한 레벨이다.
문외한이나 초보가 볼 땐 아는것 많고 다 잘하는 만능이미지일수도 있지만, 조금이라도 꾸준하게 했던 사람이 볼 때는 어설픈 흉내쟁이에 불과한 것이다.
그럼 어떻게 해야할까?
그냥 노오오오력으로 꾸준히 해야할까? 의지를 가지고?
의지를 가지고 노오오오력을 하는것도 꾸준함이 없다면 불가능하다. 꾸준히 의지를 가져야하고 꾸준히 노력을 해야한다. 그리고 나는 그렇게 하지는 못했다. 그럼 그대로 끝일까?
늙어서 집에서 잠이라도 자고 밥이라도 먹고 다니려면 이대로 끝내선 안되기에 고민을 했고, 나 자신에 대해 생각했다. 나는 의지가 약하고 꾸준함과는 거리가 먼 사람이지만, 칭찬에 약하고 수동적인데, 남의시선도 많이 신경쓰기에 이런 부분을 이용해서 내가 아무리 하기싫어도 남한테 욕먹지 않고, 칭찬도 듣고 억지로라도 하기 위해서 여러 과정, 스터디등을 참가했다.
간혹가다 의지가 솓을때가 있고 성공스토리를 보며 의욕이 솓아 오를때마다, 내 일정들을 타이트하게 짜놓는다. 그럼 정말 하기싫고 때려치고 싶어도 욕먹기 싫어서, 남의 시선이 신경쓰여서 공부를 하게 된다.
이런 방식으로 그래도 최근 꾸준히 되는 부분이 블로그다.
첫 시작은 억지로 시작한 JPA 공부 및 포스팅이였는데, 처음엔 비싼 강의료에 본전생각으로 작성했고 몇 달이 지난 후부터는 내 블로그에 내가 쓴 글을 보며 뿌듯해하며 포스팅을 했고 그 뒤에는 다른사람에게 공유하고 칭찬받는 재미로도 꾸준히 포스팅을 했다.
지금은 포폴, 지적허영심, 내 개인적인 데이터베이스등등으로 사용되는 블로그는 포스팅 갯수가 250개를 넘어 300개를 향해 달려가고 있다.
하나라도 꾸준히 할 수 있다면 두 개도 가능하지 않을까 희망을 가져본다. 그럼 다음엔 알고리즘 코테 준비도 꾸준히 해야지...
정리되지않은 생각들
뭔가 요즘 정리되지 않은 생각들이 많다. 둥둥 떠다니는 부유물과 같이 존재하다가 종종 유성이 떨어지듯 화두를 던지곤 가는데, 복잡하다.
아는 동생들은 다 이력서를 내고 이직을 시도하라고한다. 형은 잘하니까 갈수있다고 하는데, 내 생각에 나는 너무 못하는 것 같고, 면접질문들 뽑아진것만 봐도 답할수있는게 많지 않다. 코테도 준비안해서 미묘하다.
근데 나름 전공자고 학생때도 했었는데, 왜이러는지....
공부를 해도 해도 모르는 것 투성인데, 더 힘내니까 더 힘내서 이것도 알아야한다면서 여기저기서 키워드들이 날라온다 ㅎㅎ
그리고 사실 이번에 식사까지 진행했었던 회사와 한 번 더 전화를 진행하며 이직관련되서 1차면접은 바로 패스해드릴테니 관심있으시면 연락을 달라 했을땐 솔직히 관심이 있었다. 그런데, 회사의 위치는 을지로...
안산에서 을지로까지는 왕복으로 4시간가량이 소요된다. 이직도 좋지만, 이직을 하더라도 단순히 회사의 비전이나 복지, 연봉만 보자니 거주지와의 교통도 너무 중요하다.
지금 살고 있는 집도 아직 전세가 1년 반 넘게 남은 상황인데, 이런 부분들도 모두 고려하면 머리가 너무 아프다..
사람은 모순적인 존재같다고 생각이드는게, 나는 외로움도 많이타고 사람 만나는걸 싫어하지는 않는데, 또 사람과의 관계가 피곤하고 가족과 얘기를 나누는 것 자체가 힘들때가 자주 있다. 나만 그런게 아닐것이고 성향에따라 비중이 다르겠지만 모두에게 이런 부분들이 있을 것이다.