2022. 9. 2. 00:55ㆍ작업일지
회고
마지막으로 작업일지를 작성하고, 약 5개월이 지났다.
원래 코딩하는 것 자체를 좋아했기 때문에, 분명 회사에서 코딩을 하더라도, 집에서도 코딩할 체력이 남아있을거라고 생각했다.
그런데.. 생각보다 힘이 부친다. 출/퇴근 거리가 왕복 3시간 정도 걸리고, 취준 막바지까지 운동을 거의 하지 않아, 체력도 저질이 되어, 일끝나고 퇴근하고 방에 들어오면, 컴퓨터 책상보다는 침대에 눈이간다...
개발자는 평생 공부해야하는 직업인데, 이런식이면, 코딩은 커녕 기술 서적 1페이지 읽지도 못하는 날이 쌓여만 갈 것이다. 그래서 대책을 세워봤다..
**1. 출 퇴근 시간을 활용하기**
생각보다 회사와의 거리가 멀어서 가만히 서있는 시간이 길다. 이 시간을 허투루 쓰지 않기 위해, 항상 기술 서적을 가방에 한권 씩 넣었다. 이 방법으로 완독한 책은 다음과 같다.
- 클린코드
- 자바 병렬 프로그래밍
- 소프트웨어 장인
- 이펙티브 엔지니어
- 심플 소프트웨어
- 함께 자라기
자바 병렬 프로그래밍을 제외하고는 코딩과 관련된 기술서적 보다는 좋은 프로그래머가 되기위한 자세(?)에 대한 이야기를 담은 서적 위주로 읽게 되었다.
출근길이라 그런지, 코드 해석을 해가면서 책을 읽는게 생각보다, 힘겨웠던게 가장 큰 이유였다.
하지만, 위의 서적을 읽으면서 깨달은바는 다음과 같다...
- 서비스가 복잡한건 결코 자랑이 아니다. 생각보다 코드를 복잡하게 짜는건 어렵지 않다. 오히려 단순하게 짜는 것이 더 어렵다.
- 개발자의 시급보다 메모리의 확장 유지비용이 훨씬 더 저렴하다. 약간 성능을 포기하더라도, 가독성과 결합도가 낮은 코드를 구성하는데 힘을 쓰는 것이 더 이득이다.(초당 트래픽이 100만이 넘어가는 경우에는 예외로 두자..)
- Solid는 어렵다. 이를 직관적으로 활용하게 해준 스프링 프레임워크를 만든 개발자 분들께 경의를 표한다.
이런식으로 출 퇴근 시간을 활용하여, 책을 읽고, 느낀 점을 머리속으로 정리하고, 틈틈이 메모를 하니, 비록 몸이 버티지 못해서, 퇴근하자마자, 잠이 들어도 죄책감(?)이 덜 들었다.
**2. 집에 들어가기 전에 헬스장에 들어가기**
집에 있다가, 물 한잔만 먹고, 잠깐 앉아있다가... 이런 핑계로 집부터 들어가면, 다음날 출근시간까지 집에 눌러앉게 된다. 아무리 지치고 힘들어도 꾹 참고, 헬스장부터 들리자....
처음엔 체력이 부족해서 좀만 운동을 해도 머리가 멍해지고, 현기증이 났다. 당연히 운동을 하고 집에 들어가면, 몸이 녹초가 되니, 공부고 뭐고 샤워를 하고 침대에 누우면 다음날 아침이 된다.
처음 2달은 이런 루틴이었다.
그런데 어느날 부터, 운동을 하고 집에 와도, 덜 피곤한 시점이 왔다. 그래서 자기 전에 알고리즘 문제 2개를 풀 여력이 생겼다.
그리고 1달이 지났다. 이제 알고리즘 문제 뿐만 아니라, 예전에 포트폴리오로 준비했던 코드에 눈이 갔다.
그동안 읽었던 서적을 읽고 또 코드를 보니, 뭘 개선해야할지에 대해 진지하게 고민할 시간을 가지게 되었다.
앞으로의 계획
**1. 알고리즘 2문제 풀기**
리트코드, 백준, 프로그래머스 뭐든 좋다. 맘에 드는 문제 2개는 꼭 풀자. 이직을 위해서도 필요하지만, 뭣보다, 코딩근육(?)을 키우기 위해선, 문제 해결이 필요한 영역을 코드로 표현할 줄 알아야 한다.
**2. 포트폴리오 개선하기**
현재 포트폴리오는 미완성이다. 내 기준이 높은 걸수도 있지만, 우선 백엔드 코드밖에 없다. 그리고 개발 학습을 목표로 두었기 때문에, 정말 실 서비스에서 운영될 만큼의 퀄리티를 높이지 못했다.
물론 문서화에 비중을 좀 실었지만, 뭣보다 눈으로 보여줄만한 ui가 하나도 없다.
신입으로 취업을 시도할 때는 선택과 집중을 통해, 백엔드 코드에 집중하고, 해당 코드를 문서로 설명하고, 학습 과정을 보여주는 것만으로도 충분할지 모른다. 즉, 결과보다는 과정을 어필해도 충분할 수도 있겠다.
하지만, 이제는 경력자로 발돋움해야 한다. 회사에서 커리어를 쌓고, 경력 기술서를 계속 작성하면서, 나를 어필하는 것도 좋지만, 무엇보다 기술레벨을 높여야한다. 그럴려면, 짧게라도, 온전히 나의 기술적 고민을 다양한 방면으로 어필할 수 있는 수단이 필요하다. 특히 주니어는 아무리 신뢰 자본을 쌓아도(특히 지금 내가 다니는 회사는....) 중요한 업무를 할당받을 확률이 매우 적다.
무조건 신기술을 넣는 것보다는 나의 고민이 들어간 프로젝트에서 제공하는 서비스(실제로는 제공하지 않더라도)의 품질을 높이기 위해 필요한 기술을 찾고 개선해가며, 자연스럽게 트렌디한 프로젝트가 되도록 노력해야 한다.
최종 목표는 코드의 내용을 그저 문서만으로 보여주는 것이 아니라, ui도 보여줄 수 있게 하는 것이다.
즉... 이제는 프론트엔드 영역도 공부를 하고, 구현해야 한다.
구체적으로 이제 어떻게 해야할지에 대해선, 앞으로 작은 단위로 계획을 세우고 실현해보는 쪽으로 진행해보겠다.
'작업일지' 카테고리의 다른 글
realstatelab.com | HTTP 로그로 행동패턴을 분석하던 중 발견한 이상한 요청들 (0) | 2025.03.18 |
---|---|
[회고] 기능 구현부터 배포 자동화까지... -2- CI/CD를 어떻게 구현해야 할까? (0) | 2022.04.22 |
[회고] 기능 구현부터 배포 자동화까지... -1- 왜 CI/CD가 필요할까? (0) | 2022.04.22 |
작업일지#14 Sync와 Async 속도차이 (0) | 2022.03.24 |
작업 일지#13 프로덕션 코드 리팩토링 - JPA로 이전 (0) | 2022.03.05 |