한해를 정리하면
- 일하는 스타일을 알게 되었다.
- 새로운 서비스보단 하던 서비스를 개선했다.
- docker와 친해지기는 실패했다.
- 리액트와 조금 친해졌다.
- 챗GPT와 친구가 됐다.
# 주요업무
상반기
- 기부금영수증 개선 작업
- 알림톡 서비스 오픈 및 개선
- 멤버서비스 테스트 및 에러 원인
하반기
- 팝업, 배너 분리 작업 및 개선
- 서버 차단 서비스 추가
- 회원 조회 페이지에 기부금영수증 조회할 수 있게 기능 만들기
- 새로고침, 뒤로가기를 위해서 redux 도입
- 메시지 예약하는 기능
- 기부금영수증 추출을 위해 상태변경 API 개선
- 결제 부분 스터디
- three.js 스터디
1) 올 한 해는 기부금 영수증으로 시작해서 기부금 영수증으로 끝났다.
어김없이 1월에는 기부금 영수증 관련 업무를 시작했다. 국세청에 보낼 데이터를 추출하고, 주민등록번호 오류를 수정하기 위해 기능을 만들어 배포했다. 연말정산 업무가 마무리된 후에는 개선 작업을 시작했다.
- 22년 10월부터 주민등록번호 뒷자리가 랜덤으로 바껴서 유효성검사를 수정
- 1 : n : n (회원:기부:기부자)구조로 되어있어서 기부 건 여러 건을 한 번에 수정할 수 있는 기능
- 기부금 영수증 출력 시 주민등록번호 노출 유무 기능
- 기부자가 14세 미만인 경우 법적 대리인 정보를 등록하고 조회하는 기능
- 이메일 보내기 다운로드 등 모든 행위를 이력으로 남기는 기능
- 주민등록번호 조회시 본 사람 이력 남기는 기능
- 백엔드에서 PDF 만들어서 사용자화면에 보내는 기능
묵은지처럼 오랜 시간 백로그와 마음속에 남아있던 과업이 우선 순위에서 밀리다 밀리다 올해 끝났다.
Go로 PDF 만드는 방법과 사용자 화면에 띄우는 방법을 개인적으로 공부해서 업무에 적용했다. 그리고 학습하는 과정에서 PDF 비밀번호 설정하는 방법도 찾았다. 그 라이브러리는 기부금 영수증을 한 땀 한 땀 코드로 짜야 했다. 그래서 학습으로만 끝냈다.
새로운 기술을 습득하고, 문제를 해결하는 능력을 키울 수 있었다.
상반기에 업무를 마치고 12월에 다시 기부금 영수증 개선 작업을 시작했다. 내년에는 올해보다 더 쉽게 데이터를 추출하고 주민등록번호 오류도 쉽게 수정하고 싶어서 상태 값 하나를 도입했다. 해당 상태 값이 발생하면 처리해야 할 작업들을 기획자와 함께 시뮬레이션하며 테스트를 진행했다.
1월 1일이 되면 기부 상태 값 변경, 기부금 영수증 엑셀 추출, 오류 수정, 기부금 영수증 상태 값 변경 등 매년 반복되는 작업들을 자동화하여 시스템으로 구현하자는 제안을 시니어 개발자가 해주셨다. 이건 항상 내가 원했던 일이다. 현재 내가 하는 작업들을 화면에 구현하여 더 쉽게 사용할 수 있게 하고 싶었다. 기획자와 상의를 거쳐 내년에는 서비스를 개발하여 다른 팀으로 이관하는 것을 목표로 삼기로 했다.
입사 이래 4년 만에 기부금영수증 업무에서 벗어날 수 있다!!!
처음 기부금영수증을 맡게 되어서 지금까지 책임감을 가지고 했다. 하나부터 열까지 모든 단계를 내 손으로 만들어서 애정이 많이 갔다. 어쩌면 애증일 수도 있다. 내가 주도적으로 기획자와 논의하고 결정해서 진행했다. 테스트하면서 서로 생각 못했던 부분을 채워주는 모든 과정이 내가 개발자로서 성장할 수 있는 요인이었다. 내년에는 잘 만들어서 어여쁘게 다른 사람에게 보내주자!
2) 긴 여정이었던 알림톡 서비스 오픈 및 개선 회고
지난 9월부터 12월까지는 시니어 개발자의 가이드를 받아 알림톡이 큐를 통해 가는 원리를 배우고 개발했다. 그 이후 마무리 작업은 혼자 진행했다. 생각보다 체크해야 할 일들이 많았다.
- sqs를 통해서 알림톡을 보내는 기능 구현
- 메시지를 보내주는 회사에서 에러가 나서 메시지가 안 가는 경우 DB에 저장되어 다시 보내는 기능 구현
- 메시지가 메시지를 보내주는 회사로 갈 때 요청 값과 응답 값을 로그에 쌓기
- 에러가 발생하면 두레이 알림을 받을 수 있게 설정
가장 사용빈도가 낮은 알림톡을 먼저 이관하여 정식으로 배포했다. 약 25종류의 알림톡을 주차별로 테스트하고 배포하는 작업을 진행했다.
예상되는 시나리오는 다 적용했다. 하지만 메시지를 보낸 후 업체에서 주는 오류를 예상하는데 한계가 있었다. 그래서 답답함했다. 테스트코드를 짜서 테스트해보고 Dev에 올려서 테스트도 해봤다. 이렇게 열심히 테스트해도 예상치 못했던 일은 발생했다.
업체에서 에러코드를 0으로 보내서 실패한 메시지가 DB로 이동했다. 발송해도 되는 메시지인지 확인한 후 500으로 수정해서 다시 전송시켰다.
모든 알림톡을 다 옮긴 이 후 어느 주말에 1시간 정도 알림톡 오류가 발생한 적이 있다. 작년처럼 기부도 안 되는 일은 없었다. 기부는 접수되고 알림톡은 오류가 정상화되면 자동으로 전송되었다. 안정화된 이후 동료의 칭찬에 몸 둘 바를 몰랐다.
우선순위가 낮아 장기적으로 진행된 서비스였다. 새로운 기술을 배우고 다양한 경험을 통하여 내가 성장했다는 것을 느꼈다. 모든 일을 예상할 수 없지만, 문제가 발생했을 때 당황하지 않고 차분하게 잘 해결한 것 같다. 그리고 알림톡때문에 기부를 못하는 경우는 없어서 뿌듯했다. 앞으로도 새로운 도전을 두려워하지 않고, 적극적으로 도전하며 성장해 나가고 싶다.
3) 낯선 redux와 친해지기
회원 페이지에 정보 조회를 넣으면서 Redux를 배웠다. 오픈한 후 회원 조회 페이지에서 기부 정보, 기부금 영수증 정보를 조회할 수 있는 기능이 생겼다. 내가 한 명의 회원에 기부금 영수증 신청한 정보들을 조회할 수 있는 기능 만들어야 했다.
간단하게생각했지만, 하다 보니 점점 시한폭탄을 맡게 된 느낌이었다. 내가 너무 꼼꼼하게 경우의 수를 체크해서 그런 걸까?
회원 페이지에서 버튼을 클릭하면 기존에 사용 중이던 기부금 영수증 페이지로 이동시키면 된다고 생각했지만, 작업을 진행하면서 예상치 못한 문제가 발생했다.
회원 페이지에서 버튼을 클릭하면 사용하고 있던 기부금 영수증 페이지로 이동시키면 된다고 생각했다. 하지만 하다 보니 문제가 발생했다. 다양한 진입 페이지가 있어서 최종 페이지에서 뒤로가기를 하면 원래 진입한 페이지로 돌아가지 않았다. 그래서 useHistory를 이용하여 state 값을 이용했다. 뒤로 가기는 잘 동작했지만, 새로고침을 하면 state 값이 사라져서 빈 페이지가 표시되었다. 문제 하나를 해결하면 문제 하나가 발생했다.
이야기를 나누다 보면 문제가 해결되는 경우가 많아서 옆 동료에게도 물어보고 시니어 개발자에게도 물어봤다. 그러다가 시니어 개발자가 언제 redux를 사용하는지 궁금했는데 이럴 때 사용한 것 같다고 말해주셨다.
그때부터 나에게는 낯선 Redux에 대해 알아보기 시작했다. 개인 프로젝트에서 Redux를 도입하여 테스트를 해보았는데, Redux를 사용하면 브라우저 탭의 뒤로가기 버튼을 누르더라도 이전 페이지에서 선택한 페이지를 유지할 수 있었다. (이전에는 뒤로가기를 하면 페이지가 1로 리셋되어서 임시방편으로 페이지에 "목록으로" 버튼을 만들다.) 또한, 새로고침을 해도 정보가 사라지지 않았다.
현재 서비스에 Redux를 적용하는 것이 가장 좋은 방법인 것 같아서 도입하는걸 결정했다. 개발하고 테스트를 거쳐 배포를 했다.
나는 학교에 다닐 때부터 프론트쪽에 흥미가 없다는 것을 알았다. 그래서 입사한 후에도 프론트쪽은 요리조리 피하기만 했다. 그런데 막상 redux를 해보니까 나도 잘할 수 있다는 용기를 얻었다. 그리고 이렇게 좋은 기능이 있는데 우리는 왜 이제야 적용시켰을까라는 생각이 문득 들었다. 새로운 걸 내 거로 만드는 데 성공했으니까, 앞으로 redux를 어떻게 더 활용할 수 있을지 고민해 봐야겠다.
4) 부족한 부분을 공부하려고 노력했지만 실패했다.
현재 나의 수준을 알 수 있었던 기회들이 몇 번 있었다. 확실히 cs 관련된 지식이 부족하다는 것을 알게 되었다. 또한 백엔드에서는 인프라를 어느 정도 알아야 한다는 걸 알고 있었지만, 현실에서는 더 원한다는 것을 알게 되었다.
일을 하다 보면 인프라 쪽을 모르니까 답답한 경우가 종종 있었다. 그래서 이번 기회에 도커나 aws쪽을 공부하려고 했다.
여러 번 시도해 봤지만 내가 흥미를 느끼지 못해서 그럴까? 하다가 중간에 경로 이탈을 하게 되었다. (강의 듣다가 경로 이탈, 실습하다가 경로 이탈) 하도 이탈해서 어디서부터 공부해야 할지도 잘 모르겠다.
분명히 알아야 한다는 걸 알면서 결국 인프라와는 친해지지 못했다. 올해는 비록 실패했지만, 내년에는 다시 도전해 보자!
2024년에는 docker부터 친해져 보자!
5) 해결하고자는 의지가 강했을까? 아니면 궁금함을 못참아서 그런걸까?
올해는 내 업무 스타일을 자세히 파악했다. 나는 문제를 해결하고자 하는 의지가 강해서 원인을 파고드는 경향이 있다. 어떨 때는 집요하다고 느낄 때도 있다.
나는 에러 알림이 오면 바로 찾아보는 편이었다. 하지만 내가 할 수 있는 일은 늘 한계가 있었다. 어떻게 에러가 났는지 사이트에 들어가서 해본다. 그리고 에러가 발생할 수 있는 가능성을 생각해보고 테스트를 했다. 이렇게 테스트를 하다 보면 환경이 다르다보니까 한계가 있었다.
올해는 로그를 보는 방법이 쉬워져서, 에러가 발생하면 로그를 통해 원인을 찾는 것이 자연스러워졌다. 에러를 추적하는 과정에서 재미를 느끼고, 원인을 찾았을 때는 "심 봤다!"라는 느낌이 들기도 한다. 정보를 찾기 위해서 SQL문도 많이 사용했다.
회원 서비스에서는 테스트를 하고 에러를 찾고 원인을 찾는 역할로 참여했다. 정말 특이한 케이스들이 많았다. 궁금하다 보니까 이것 저것 해본 게 많은 도움을 준거 같다. 그리고 문제가 생겼을 때 로그를 보면서 원인을 파악했다.
비해당년도 기부자들에게 알림톡이 안가고 있다는 것을 알았을 때 얼른 수정해서 에러를 해결했다. 그 이후 언제부터 안보내졌는지 찾아보기 위해서 몇 개월치 로그를 찾아서 알아냈다. 이때 내가 집요하다는 것을 알았다.
질문을 받고 같이 문제를 해결하는 역할을 많이 한 느낌이었다. 팀원들과 협력과 소통을 하면서 팀 내에서의 역할과 책임을 수행하면서 개발자로서 성장한 것 같다.
6) 올해 나의 최대 관심사 AI 였다.
올해는 내 관심사들이 변했다는 걸 느낄 수 있었다.
사실 나는 코딩짜서 결과값을 받는 것에 재미를 느껴서 개발자가 되고 싶었다. 그 외 IT 기술에는 관심이 없었다. 하지만 하반기 나의 최대 관심사는 AI 였다.
처음에 챗GPT가 나왔을 때는 관심이 없었다. 그런데 파이썬으로 되어있는 크롤링 프로그램을 go언어로 바꿔주는 모습을 보고 신세계를 느꼈다. 이용하기 시작했다.
구글링을 했을 때에는 나와 적합한 경우를 찾고 더 심화해서 궁금하면 다시 구글을 해서 찾아야해서 많은 시간과 노력이 필요했다. 챗GPT는 내가 질문을 하면 답해주고 추가로 질문을 하면 이어서 답해줘서 티키타카가 된다. 그래서 개발말고도 글을 수정할 때나 단어를 모를 때, 이름을 작명해야할 때 등 다양한 상황에서 사용하고 있다. 그리고 챗GPT 어플로는 음성으로 영어로 질문하면 영어로 대답을 해준다. 영어 공부할 때 활용하면 좋을 것 같다. 쓰면 쓸수록 대단한 녀석이다.
관심을 가진 이후 아침에 출근하면 시니어 개발자와 AI에 대한 다양한 이야기를 주로 나누게 되었다. 그때 AI가 그림을 그려주는 dreamstudio 알려주셨다. 그림이 필요해서 단어를 열심히 적어서 원하는 그림을 그렸다. 정말 흥미진진했다. 처음에는 단어 "a lying panda"로 시작했지만, 계속해서 단어를 추가하며 더 자세하고 원하는 그림을 얻을 수 있었습니다. "panda, sleep, lazy, lie face down on the bed, cute, baby, happy, laugh, smile" 등의 다양한 표현을 활용하여 원하는 그림을 그렸다. 이 AI는 부분 무료 서비스라서 요즘은 "~그려줘"라고 하면 그림을 그려주는 뤼튼을 사용한다.
여러 AI 서비스를 사용하면서 느낀 점은 결국은 질문을 잘하는 사람이 살아남을 것 같다. 질문을 어떻게 하느냐에 따라 다양한 정보를 얻을 수 있다고 느꼈다. 질문을 잘하는 방법을 고민하게 된다. 더 다양한 경험을 해보기 위해서 조만간 챗GPT 4.0을 구입할 예정이다!!
올해도 잘 살았다.
개발뿐 아니라 소통에서 많이 성장했음을 느꼈다. 두 사람 사이에서 소통을 도와주는 경우도 많았다. 새로운 기술도 많이 접하면서 시야도 넓어졌다.
내년에는 redux, Three.js 를 마무리하고 CS 지식 공부, docker 등 공부할 예정이다.
그리고 개발자가 읽어야 할 책들도 읽어볼 예정이다.
내년에도 잘살아 보자!
'회사생활 > 회고' 카테고리의 다른 글
[회고] 2022년 개발자 회고 (0) | 2023.01.12 |
---|---|
[회고] 2022-07-14 1년 7개월차 개발자 회고 (0) | 2022.08.29 |
[회고] 사업자 기부영수증 통합 발급 회고 (0) | 2022.07.08 |
[회고] GitHub 잔디 심기 3개월간 회고 (0) | 2022.03.12 |
1년차 개발자 회고 (0) | 2021.12.27 |