본문 바로가기

그 외

2019년 회고

간단한 소감

2019년은 나에게 사회를 시작을 알리는 해였다.

 

취업하면서 꼭 해야겠다고 생각한 것이 있었다.

적어도 출근할 때와 퇴근할 때, 출근 30분전에와서 책을 읽자!

라는 목표를 작년에 계획했었는데 비교적 많은 책을 읽진 못했지만, 특정한 일이 있지 않은 이상 항상 책을 읽어왔다.

그 결과 10권정도 읽은 것 같다.

(Clean code, Refactoring, 정보보안기사, TDD, 1만시간의 재발견, 객체지향의 사실과 오해, HTTP 완벽 가이드 등)

책을 읽을때면 내 일에 대한 자신감도 생기고, 한권 한권 쌓일 떄마다 스스로에게 뿌듯함과 열심히 살고 있구나 라는 생각을 들게 해준다.

살아가는데 사소한 행복을 찾는 것을 매우 중요하다고 생각하는데, 예를들어 씻을 때 따뜻한 물을 맞고 있으면 나른해지는 기분이나 맛있는 것을 먹었을 때 기분이 좋아진다.

이러한 행복은 사실 매일 반복하고 경험하고 있지만, 생각하고 신경쓰지 않으면 느낄 수 없는 행복이다.

한번쯤은 행복을 곱씹어 보는걸 추천한다.

 

상반기 이후부터 새로 계획한 것이 있는데, 주 5회 커밋 이다.

대부분 일일커밋 을 목표로 하고 시작하는데, 일일 커밋 을 목표로 하고자하려니 개발이 아닌 뭔가 단순 커밋이 목표인 것 처럼 생각이 들기도 했고, 나에게 조금은 여유를 주고 싶었다.

현재 진행중이며, 내년에는 꼭 잔디 밭을 심을 예정이다!

[상반기부터 시작한 주 5회 커밋]

 

 

현재 직장에 취업하기 전에 학교 내에서 융합보안연구실에서 연구원으로 2년정도 활동했었다.

당시에 악성코드 분석에 관한 꿈을 키우고 있었기 때문에 리버싱과 악성코드 분석, 모의해킹을 공부했었다.

현재는 개발직을 하고 있지만, 기회가 된다면 보안 솔루션 개발을 해보고 싶다는 생각을 가지고 있었기에

학부생 당시 합격해 놓은 정보보안 기사 필기에 이어 실기를 계속 도전해왔다. 

4번의 기회가 있었지만, 아쉽게도 자격증을 취득하진 못했다.

필기 합격 후 실기에 대해서 너무 안일하게 생각하기도 했고, 개발직종에 종사하다보니

과연 이 자격증이 필요할까에 대한 의문이 항상 들었기 때문에 소홀히 한 결과로 생각한다.

하지만 보안 직종을 종사하지 않는다고 하여도, 현재 직종이 결제 시스템 개발이기에 보안이 중요하므로

다시한번 필기부터 도전할 예정이다.!

 

첫 사회에 발걸음을 내딛어 처음 시작해보는 일은 쉽지 않았다.

일의 시작은 삽질이 반이라지만, 정말 수많은 삽질과 실패를 경험하여 실패는 성공의 어머니오늘도 실패해줘서 고맙다 라는 말을 달고 살았던 기억이 난다.

지금 생각해보면 결국 자기합리화 로 버텨냈던 것 같다.

이러한 삽질로 인해 고생해준 우리 팀원 분들에게 정말 감사드린다..꾸벅..

하반기에는 상반기에 수많은 삽질을 한 결과 비교적 적었다.

실패에 패배하지 않고 열심히 살아준 나에게 감사한다.

앞으로 많은 삽질이 기다리고 있겠지만, 지치지 않고 이겨내길 나에게 기대한다.!

 

 

1월 ~ 3월

1월은 첫 정규직 일원이 된 달이다.

사실 9월부터 학교 내에서 진행하는 인턴 사업으로 현재 회사에 인턴으로 다니고 있었다.

인턴기간동안에는 토이프로젝트를 만드는 것과 간단한 ADMIN 을 개발했었다.

학생이고 인턴이었지만 개발자로써 존중해주셨고 열심히 배울 수 있었다.

정규직으로 채용되면서 학생 이 아닌 회사원 의 일원이 됨에따라 책임감의 무게가 한 껏 배가 되었다.

ADMIN 을 개발할때에는 우리 회사내에서 사용하는 것이기 때문에 사용 시 단순한 버그가 발생했을 때 문제는 발생하지 않았지만, 사용자가 사용하는 서비스에서 오류가 발생한 경우에는 오류 내용에 따라 다르지만 문제가 발생한다.

따라서, 내가 개발한 건에 대해선 내가 책임을 져야 한다는 것이다. 물론, 예상치 못한 오류가 항상 발생하기 마련이지만, 이런 오류가 계속된다면 사용자는 서비스를 신뢰할 수 없을 것이며 그렇다면 더이상 서비스를 사용하지 않을 것이기 때문이다.

대부분의 개발자는 이러한 부담 책임감을 가지고 있을 것이다.

이 당시에는 이러한 책임감으로 인해 개발에 대한 두려움을 가지고 있었고, 쉽게 극복하지 못했었다.

나에대한 기술의 자신감도 없었을 뿐더러, 미숙함도 인지하고 있었기 때문이다.

기술에 대해서 방황을 하고 있었으며 작성된 코드를 가져다 쓰는 것 밖에는 할 수 없었다.

다행히게도, 사수분들께서 가져다 쓴 코드를 그냥 넘기는 것이 아니라 썼는지, 더 나은 방법은 없는지 매번 확인해주셨기 때문에 코드를 올리기전에 썼는지에 대한 대답을 할 준비를 하고 있었다.

그 당시에는 이해시킨다는 것이 너무 힘들었지만, 지금 생각해보면 너무 감사한 것이었고 왜 썼는지에 대해서도 모르고 사용한다는 것이 얼마나 위험한지를 깨닫게 되는 계기가 되었다.

당시 사내에서는 자바의 정석 을 스터디하는 문화가 있었는데, 기초를 다시 깨우자! 라는 마음으로 스터디를 시작하였다.

처음에는 학교 다닐 때 배운 자바를 다시 보는게 의미가 있을 까 라는 생각을 했지만, 같은 내용을 다시 봤을 때의 새로움을 느끼면서 다시 본 것에 대한 후회는 눈 녹듯이 사라졌다.

 

 

4월 ~ 6월

한 해동안 가장 열심히 했고, 가장 잘했다고 생각한 기간이다.

그 이유는 첫번째로는 정보보안 기사 실기를 도전하기 위해 다시 한번 보안 공부를 하기도 하였고,

두번째로는 nextstep 에서 진행하는 클린코드를 위한 TDD, 리팩토링 with Java 4기 를 수강했기 때문이다.

강의를 접하기 전에는 TDD 가 어떤 건지 정의만 알고 있었고, test 코드를 작성해 본적도 없었다.

리펙토링은 생각은 하고 있었지만 실천하지 못하는 상황이었다.

사실 개발도 실질적으로 시작한지 4월 채 안된시기 였기 때문에 당장 개발을 스스로 할 수 있을지도 의문인 시기였다.

회사에서 개발을 하면서 뭔가 스스로 생각하고 스스로 개발하고 있지 않다는 생각이 들고, 맞게 개발하고 있는지에 대한 의문점이 들던 도중, jojudo 님의 블로그를 보고 클린코드를 위한 TDD, 리팩토링 with Java 4기 강의를 진행한다는 것을 보았고 기회다 싶어서 신청하게 되었다.

(그 당시에는 알지 못했지만, 해당 강의는 거의 5분안에 마감이 완료되는 엄청난 인기 강의였었다.)

강의는 하루 2시간 진행하였으며, 이전 1~3 기에 수강하신 분들 몇 분과 강사님이 코드리뷰를 해주는 형식이었다.

강사님의 강의도 정말 좋았지만, 코드리뷰 를 해주는 형식은 정말 최고였다.

클린코드가 무엇인지, TDD 가 무엇인지, Test 를 왜, 그리고 어떻게 사용해야되는지 알게되는 계기였으며 나의 코드를 다시한번 되돌아 보는 계기가 되었다.

지금도 강사님과 리뷰어님들이 달아주신 comment 를 보며 되새기곤 한다.

 

 

7월 ~ 9월

클린코드를 위한 TDD, 리팩토링 with Java 4기 를 마치고 끝내지 못한 TDD 프로젝트를 마무리 하는 시기였다. 리뷰는 받지 못했지만, 배운 것을 토대로 반복하며 개발하여 마무리했다.

교육을 통해 배운내용을 정리하여 회사에서도 사용했으면 좋겠다 생각했고 세미나를 진행하였다.

처음에는 TDD 와 Test 코드에 대해서 부정정인 면도 많았지만, Test code 의 필요성과 리펙토링의 필요성을 얘기하면서 차츰 설득할 수 있었다.

다행히도 회사 내에 경력자 분들이 얘기를 들어주시고 이해해 주셔서 세미나를 성공적으로 마무리할 수 있었고, 새로 오픈하는 서비스에는 TDD 는 무리지만 Test Code 는 추가해 나가자는 방향으로 진행되었다.

세미나 당시 발표한 내용은 해당 블로그에 기재되어 있다.

세미나 이후 새로운 서비스를 오픈하기 위한 준비를 하느라 정신이 없었다.

기존에는 존재하는 소스를 참고로 개발해나갔었는데, 새로운 서비스를 개발하려고 하니 예상치 못한 부분들에서 혼란이 오곤 했다.

Test Code 를 실제 서비스에 적용해보는 것도 처음이었기 때문에 미숙한 부분이 많았고, 실제 서비스를 시작부터 진행하는 것은 처음이여서 실수도 많이했고, 많이 배울 수 있는 시기였다.

오픈은 마무리가 되었지만 예외처리나, Test Code 작성 미숙함에 대해 다시한번 생각하는 계기가 되었다.

 

 

10월 ~ 12월

오랜 시간을 끝으로 TDD 교육의 프로젝트를 마무리했다. (교육은 진작에 끝냈지만 교육내에 마무리하지 못한 프로젝트가 있어서 혼자 진행했었다.)

사실 교육은 진작에 끝났기 때문에 리뷰해주실 분도 안계셨고, 해도 그만 안해도 그만이었지만 프로젝트를 마무리하지 못하면 뭔가 나 자신에게 실망할 것 같은 기분이 들었기 떄문이다.

강의에 지출한 돈도 돈이지만, 투자한 시간과 노력이 물거품되는 기분이었기 때문이다.

어떻게 보면 리뷰해주신분도 계시지 않았기 때문에 고집이라면 고집이였지만, 이전에 받은 리뷰를 통해 리펙토링하면서 마무리를 했을때는 일말의 후회가 되지 않았고 뿌듯했다.

TDD 프로젝트를 진행하면서도 새로운걸 하고싶은다는 생각을 계속 했다.

하지만 막상 끝내고 보니 크게 생각나는 아이디어가 없어서 고민하다가, TDD 를 배운걸 최대한 적용해보자! 라는 생각에 TDD 를 적용하여 리뷰 사이트를 만들기로 하였다.

서버는 TDD 교육 당시 막간에 배운 JPA + Spring boot 로 구성을 하고, 프론트는 AngualrTypeScript 로 구성하였다. 이러한 선택을 한 이유는 프로젝트가 마무리 되었을 때 후기로 작성할 예정이다.

프로젝트는 현재도 진행중이며, 이에 대한 내용을 쓸게 많지만 프로젝트 후기글이 아니기 때문에 추후에 후기글에 남길 예정이다.

 

마지막으로 정보보안기사 실기를 도전하였다.

마지막인만큼 열심히 해봐야 겠다는 생각을 했지만, 이번에도 아쉽게(?) 떨어지고 말았다.

아쉽긴 하지만 시험을 준비하는 동안 다시 한번 보안을 공부하면서 새롭게 느끼는 부분이 많았기에

후회는 없다.

내년에는 올해 준비했던 것을 토대로 더욱 더 확실히 준비해야겠다.

 

 

올해의 목표

올해의 목표는 다음과 같다.

  1. 주 5회 커밋을 목표로 하되, 가능한 일일 커밋 으로 잔디 밭을 채우자!
  2. 적어도 1주일 1회 이상 블로그에 글쓰기
  3. 현재 진행하는 toyproejct 마무리 후 새로운 toyproject 시작하기
  4. 책 20권 읽기
  5. 헬스 주 4회 이상 참석하기
  6. 전세집 구하기
  7. 내년에 있을 결혼 준비하기
  8. 정보보안기사 취득하기

 

 

 

후회 없는 2020년이 되길 바라며 2019년도 열심히 나아간 나에게 감사한다.