Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
10-23 04:14
관리 메뉴

hamlet-story

2023 개발 회고록 본문

회고록

2023 개발 회고록

hamlet-story 2023. 12. 30. 07:00

학생 이었던 2022년도를 지나 2023년도는 막 성인이 되어 바로 취업하고 개발하고, 새로운 도전들을 해보는데 집중하는 날 이었다.

인공지능 최고옷

개발 관련해서는 본 계정에서 활동을 많이 한 것은 없지만,

그래도 즐거운 경험이 많았기 때문에 개발뿐만이 아닌 경험했던 모든 내용을 솔직하게 2023 회고록 으로 남겨본다.  

2023년도 개인 계정 개발 활동

1월 ~ 2월

빅데이터 팀으로 배정이 되고 회사에 적응을 하기 위해서 교육을 받고, 기본적인 일부터 시작하였다.

그러다 보니, 자연스럽게 HTML, CSS로 화면을 구성하고 JavaScript 를 통해서 기능을 구현하는 역할을 맡게 되었었다.

물론 빅데이터 팀의 의미와는 쫌 떨어져 있는 엄무였지만, 학교에 있을 때 실 업무를 개발로 한다는 그 자체가 재밌었기 때문에 정말 열심히 했던 것 같았다.

그러면서 간간히 인공지능과 빅데이터에 대해서 혼자 조사해 보고 2월 달 때쯤 들어가서 인공지능을 돌리기 위한 MLOps Flow에 적용이 될만한 시스템을 만들어달라고 하셔서 모델 파이프라인 자동화 시스템을 딥러닝 기준으로 그것도 가장 대표적인 LSTM을 기준으로 작성하기 시작하였다.

3월

3월로 들어가서는 기존에 하였던 간단한 업무가 아닌 실제 내가 구현해야 하는 업무로 들어서게 되었다.

사실 이때 "모델 파이프라인 자동화 시스템을 직접 구현을 벌써 하게 되는 건가? 그것도 혼자서?"라는 생각으로 있었던 것 같다.

 

그래도 선임분께서 개발 일정 잡는 법이나, 공부하는 방법에 대해 시간이 생길 때마다 챙겨주셔서 하나씩 하나씩 해결해 나가려고 하였다.

간간히 공부하던 인공지능은 이제 실전으로 써야 하기 때문에 pytorch와 tensor flow를 직접 사용해 보기도 하고 전처리는 어떻게 하고 관련 기술은 어떤 것들이 있는지, 이 기술들은 어떻게 활용하는지에 대해서 바로바로 시스템 개발하면서 생각하고 적용하고 생각하고 적용하고, 등등 의 반복이었다.

4월

이날이 아마 내 기준에서 가장 일반 특성화고에서는 과고나 마이스터고처럼 웬만해선 회사에서 적응하기 힘들다는 것을 알게 되는 날이었던 것 같다.

회사를 가기 전에는 간단한 내용으로만 알고 그걸 통해서 간단한 시스템을 구현하고 좋아했었다.

그렇기에 아키텍처는 왜 써야 하고 성능 테스트는 왜 해야 하고, 알고리즘이 왜 필요하고 등등 전부 무지했었고, 코딩 테스트는 재미용으로만 해왔었기 대문에 사실상 거의 암기였던 것 같다.

 

그래서 이대로는 안 되겠다 싶어, 기존에 학교에서 시험 잘 받으려고 몰입했던 집중력 들을 전부 여기에다가 쏟아부었다.

지하철에서도 하고, 버스에서도 하고, 밥 먹으면서도 하고, 회사에서도 물론 하고, 쉬는 날 없이 뒤처지지 않으려고 계속 공부, 일, 공부, 일만 했다.

물론 연차도 내면서 몸 아플 때는 쉬어주는 날도 있기는 했었다.

이렇게 지내다 보니, 이제는 어느 정도 회사에 적응도 되고 공부를 하면서 다양한 전처리 방법 (Scaling, Sliding Window, Optimizer,,,) 들을 사용하는 것도 익숙해지기 시작하였다.

5월

모델의 폭을 넓이기 위해 딥러닝뿐만 아니라 머신러닝 쪽도 봐야 한다는 생각이 들었다.

그래서 이전에 머신러닝 작업 쪽으로 계속해주셨던 선임님의 모델도 참고하고, 오픈톡, 카페 등등 들르고, 인공지능의 기초인 퍼셉트론부터 다시 시작하여 접근을 하기 시작하였다.

LightGBM, XGBoost, LSTM, Prophet, GAN, WiseProphet, ARIMA,, 등등 여러 머신러닝, 딥러닝 알고리즘과 AutoML 플랫폼도 살펴보았다.

 

그러다 보니 어느덧 시스템이 개발되었다.

지금 돌이켜보면 시스템 개발에 너무 많은 것을 건너뛰고 개발하였다는 것이 보인다.

그래도 어찌어찌 개발도 끝나고 Flow에 적용했을 때 잘 작동이 되었기 때문에, 처음으로 혼자 개발하여 적용까지 마친 것에 대한 기쁨이 아직도 생각이 난다.

물론 예외에 대한 전체적인 처리도 안되었기 때문에 금방 오류가 발생하였지만... 그래도 좋았다.

 

5월 말에 가서는 선임분께서 시야의 폭도 넓이는 것이 중요하다고 하셔서 프로그래밍 관련 콘퍼런스를 볼 수 있도록 도움을 주셨다. 처음 컨퍼런스를 보다모니 열심히 하는 분들이 많이 보였다.

그래서 지금 이렇게 열심히 하는 게 맞다는 것도 느껴지고, 나도 나중에 발표하고 싶다는 생각이 들게 되었다.

6월

그렇게 생각이 든 이후로 시간이 있을 때마다 정말 다양하게 경험하러 다녔다.

국제 인공지능 대전을 보면서 카이스트 발표도 들어보고,

퀀텀 코리아에서 존 F 클라우저도 보고!

코딩과는 관련은 없지만 게임 좋아하는 사람들이 모인다는 킨텍스 플레이 엑스포도 가보고

이솝 라이브러리에서 책 모임도 가보았다.

또한 OST 콘서트, 오페라를 보기 위해 손 덜덜 떨면서 (이렇게 비쌀 줄은 몰라서..) 구경하기도 했다.

 

가만히 생각해 보면 5~6월 달이 혼자 가장 많이 돌아다닌 날인 것 같다.

이렇게 다니는 것도 연차 내고 다닌 거라 다행히 일정이 꼬이는 일은 없었다.

그래서 코딩은 계속했다.

밤새고, 지하철에서 코딩하고, 달라지는 건 없었다.

 

계속 오픈 채팅방에서 물어보고 답변받고 하다 보니까, 우연히 오픈소스 프로젝트 인원을 모집한다는 내용이 올라오게 되었었다.

그래서 많이 공부하고, 많이 돌아다닌 영향인진 몰라도 갑자기 오픈소스 프로젝트에 참여를 하고 싶어서 그냥 바로 신청했다. 이때, 정말 많이 깨달았다. 벽을 봐버렸다.

 

참여하려고 했던 곳이 OSLO 프로젝트였었는데, 처음에는 공부를 위한 자료도 제공해 주셔서 열심히 공부하였지만 기존에 작업하던 tensor flow 가 아닌 pytorch 여서 처음으로 당황하고.. (이때는 numpy, pandas 도 잘 못썼다) 심지어 컴퓨터 GPU도 4개가 없는 상태이기 때문에 이론적으로만 공부하는 느낌이었다.

그러다 보니, 과제도 못하고 계속 혼나다가 프로젝트에서 바로 나가게 되었는데, 열심히는 했지만 너무 자만했었기에, 쪽팔렸던 일중에 하나가 되어버렸다.

 

그렇게 기죽은 채로 회사에 와서, 기존에 전달받은 시스템 개발은 끝났기 때문에 새로운 업무로 사용자가 작성한 키워드 대로 인공지능을 돌릴 수 있는 코드 즉, "Source Generator"을 만들어 달라는 업무를 받았다.

 

이때는 경험한 것도 어느 정도 쌓여서 6월 말까지 개발을 끝냈던 것 같다.

7월

7월에는 왜 문서화가 필요한지 깨닫게 되는 날이었다.

몇 달밖에 안 지났는데, 점점 까먹기 시작하는 나를 보면서 좀 실망스러웠는데, 아쉬운 대로 지금까지 개발한 "Model Pipeline"과 "Source Generator"을 왜 개발했는지, 어떻게 사용하면 되는지, 어떤 부분을 중점으로 코딩하면 되는지 를 적어 놓았다.

 

그래서 FastCampus 강의를 엄청 사서 듣고, 인프런에 무료강의도 보고, Udemy도 보고, 유튜브 무료 강의도 보고, 인터넷 보고, GPT 한테 어떻게 하냐고 물어보고 등등 다양하게 공부하였다.

이때는 이전에 퇴사하신 선임분의 코드를 인수인계받아서, 일주일 정도 코드 읽고 (원래는 하루 읽고 바로 들어가야 한다고 하셨는데, 실력은 아직 좋지 않아서.. 흐읅큽) 바로 코드 수정 및 개발에 착수하였다.

 

그렇게 한 몇 주 걸려서 어느 정도 리팩토링 및 개발이 완료되어, 새롭게 Flow까지 인수인계 ("처음 개발한 시스템을 적용하게 됐던 그 플로우") 받아서 직접 Flow 용 개인 "GitServer"을 먼저 문서화 완료하고, 적용하려고 하였다.

하지만 갑자기 다른 업무를 배정받게 되었는데, "DataCollector"라는 시스템을 인수받고 새로 개발하게 되었다.

그래서 아쉽게, 문서화만 하고 끝나고, 이날을 기점으로 "DataCollector" 개발에 몰두하기 시작하였다.

8월

새로 만들어진 회사 깃팀(Oraganization)에 들어가고서 코드 먼저 해석하고 이슈먼저 처리해서 1주 보내고, 리팩토링 해서 객체화 추상화 하고, 변수명 통일 하고 등등 먼저 작업하던 날이었던 것 같다.

9월

일이 이렇게 커질 줄은 몰랐지만, 계속 개발을 하다 보니 점차 시스템에 대한 안정성이나 기능들이 많이 추가가 되어서 처음으로 잘 작동한다고 칭찬도 듣게 되었다.

하지만 새로 개발된 시스템인 것인 만큼 불완정성은 매우 컸다, 아무리 고쳐도 오류는 지속적으로 나고 새로운 곳에서 나거나, 개발, 회의, 테스트, 배포, 이슈&오류 처리, 가끔씩 추가되는 자잘한 업무들이 있다 보니 이때 꽤 고민거리가 많았다.

 

"내가 일을 못하는 것을 넘어서 엄청 못하는 것일까", 아니면 "일이 점점 쌓이다 보니 이렇게 많아진 것일까".
그렇게 고민을 해서 내린 결론은 위에 있으신 분들도 다 하시는 건데 개발자가 못한다고 찡찡거리면 그건 아닌 것 같기에 내가 엄청 못하는 것으로 결정 내리고, 기존 공부량을 더 늘렸다. 

10월

이때부터는 파이썬의 구조에 대해서 하나씩 다 궁금해하면서, 전부 찾아보았다. print는 왜 출력이 되는가, 왜 인터프리터 언어인가. 왜 언어들은 다 구조를 다르게 사용하는 것일까, 인코딩은 왜 다른 걸까, 서버는 왜 열리는 거고 사용자들은 어떻게 접속이 되고 어떻게 병렬처리가 되는 걸까. 이렇게 생각하고 다니기 시작한 것 같다.

그렇기에 대학교 수업도 들어야겠다고 생각이 들어서 그나마 시간에 제약을 받지 않는 학점은행제를 다니기로 하였다.

이참에 정보처리 기능사도 취득했다.

 

아무래도 이번에 개발하게 되는 시스템은 데이터를 다루는 것이다 보니 기존에 사용되던 라이브러리로는 그 기능을 충족하지 못하여 파싱 알고리즘까지 새로 작성하기도 하였다.

 

그리고 친구들과 같이 프로젝트도 하려고 계속 시도하였지만 아무래도 일 (학점은행제, 회사, 자격증 등등..)을 너무 벌여놨어서 기획만 하다 끝났다.

11월

이 날은 C/Python을 보게 되면서 C에 대한 이해, 자료구조에 대한 이해, 임베디드 시스템, DevOps 툴들에 대한 경험이 필요하다는 느낌이 들었다.

그래서 마침 내가 원하는 강의 내용이 있어서 강의 신청 하고 수강하였다.

너무 내용이 알차서 지금도 계속 들을 생각이다.

 

시스템은 그때 느낀 대로, 기본 구조는 유지하되, 코드가 돌아가는 동작은 전부 갈아엎었다.

덕분에, 안정성도 높아졌고, 코드에 대한 수정도 금방 이루어졌다.

12월

대망의 12월이다. 이날은 8과목의 중간고사를 마치고, 영어 공부하던 앱에서 공부한 내용을 도표로 보여주는 날이기도 하였고,

돈관리도 얼마나 잘했는지 되돌아보는 날이다. (망함)

블로그도 다시 시작하는 날...

결론

이번연도는 공부 관련에서나 코딩 실력 관련해서는 확실히 조금은 늘었다고 생각하기 때문에 꽤 만족스럽다.

 

앞으로 남은 것은 지금 개발하고 있는 시스템이 정상적으로 오픈될 수 있도록 지속적으로 테스트해서 마무리하는 것으로 끝나고,

내년부터는 본격적으로 아는 지식들을 총 동원해서 블로그도 써서, 정리하고 나만의 컴퓨터를 만들어보려고 한다.

가능하면 OS 도 개발해 보고 싶다.

 

 

 

 

 

 

 

 

 

 

 

 

 

--------------------------------------------------------

 

앞으로도 계속 올릴 것이기 때문에 많이 놀러 와 주세요...

피드백도 언제나 환영입니다!

혼자 공부하거나, 혼자 작업하는 시간이 길다 보니까 사실 이렇게 맞는지도 모르겠어요 ㅋㅎㅋㅎㅋㅎ

인터넷 보면 다들 너무 잘하시더라고요

 

그러면 이상으로 마치겠습니다.

좋은 하루 보내세요~