본문 바로가기
개발 이야기/Etc

2020 Log

by 농개 2021. 1. 1.
반응형

2020년이 마무리 되고, 2021 신축년이 밝았다.

대다수 사람들이 그러하듯 코로나라는 바이러스와 함께한 2020년은 그닥 좋지 못한 한 해였던것 같다.

코로나로 인해 2020년은 기존과 많이 다른 삶을 살았다.

감염예방을 위한 마스크의 일상화, 재택근무, 모임 제한... 등

코로나 예방 수칙 아래 통제된 생활을 해야만 했다.

또 몇년 전부터는 해마다 해외여행을 한번씩 다녔었는데 올해는 그러지 못했다.

그 대신 넷플릭스, 유튜브 등의 컨텐츠를 시청하며 2020년은 그 어느 해보다 더 빨리 지나간듯하다.

 

역시나 한 해를 마무리하는 2020 개발 회고록을 블로그를 통해 써보려고 한다.

 

 

2020 목표했던 일

토이프로젝트

2020년은 토이프로젝트를 통해 개발자로서 한층더 성장하려고 했다.

React, Nodejs, AWS 등 다양한 기술을 활용해 서비스를 오픈하고, 도메인을 만들어 주위 사람들에게 소개하기까지 했다. 만든 애플리케이션은 퀴즈를 만들거나 풀면서 점수를 획득하며, 소소한 지식을 공유하며 즐기는 웹 애플리케이션이었다.

하지만 별로 즐길거리가 되지 못했던 것 같다...ㅎㅎ(뇌내망상에 사로잡혀 문제를 낸다는 것이 얼마나 귀찮은 일인지 생각치 못했다.). 결국 한달 정도 도메인을 오픈해두다가 접게 되었다. 

 

토이프로젝트를 통해 개발하는 것에 대한 즐거움은 느낄 수 있었다. 나 자신이 자발적으로 기술들을 학습해가며 만든 프로젝트 였기 때문에 회사에서 하는 개발과는 달리 열정과 주인의식을 가질 수 있었다.(회사에서 하는 일은 왜 재미가 없는지는 이어지는 주제에서 다뤄보도록 할 예정이다.)

 

 

개발자로 일하며 행복했었나

회사에서 하던 업무에 변화가 있었다. 맡은 프로젝트가 변경 됬고, 기술 스택이 다시금 자바 개발 위주로 변경 되었다.

2019년 Nodejs, Python, React와 같은 기술로 프로젝트를 진행하다가 SI 회사에서 하던 자바와 Spring의 세계로 다시 넘어온 것이다. 변화가 달갑지는 않았지만 팀이라는 조직에서 주어진 임무이고, 내가 적임자 였기 때문에(퇴사자가 몇명 있었고, 본인은 Spring 유경험자) 다시금 열정을 불태우며 인수인계를 받고, 프로젝트를 이어갔다.

 

몇 개월이 지나 그때를 회상해보면,

상반기에는 동료 개발자와의 협업이 즐거웠다. 기술적으로도 한층 성장하게끔 환경이 꾸려졌던 것 같다.

업무가 곧 내 일이라는 동기부여와 퇴근 후에도 내일 할 일에 대해서 머릿속으로 프로그래밍 해보게 되었다.

프로젝트 구성원으로서 우리가 만든 서비스가 회사에 이익을 가져다 줄 것이라는 기대감과 고객만족을 상상했다.

하지만 해당 서비스는 그렇게 적극적으로 홍보되지 않았고, 고객만족을 줄 대상도 없었다. 

그 외 도무지 이해 할 수 없는 사업방향과 기획으로 인해 지치기 시작했고(회사 일이라 자세한 언급은 안함..ㅎ)

나의 일이라고 생각했던 업무가 조금씩 실증나기 시작했다. 즉, 동기부여가 되지 않았다.

'~로 하면 의미가 이상한데', '~로 변경하는게 더 좋을것 같은데', '~가 되야 경쟁력 있을 것 같은데' 등의 기획자 요구사항들은 전부 자기 뜻대로 해석한 예상치에 지나지 않았다. (프로는 데이터로 말한댓나..)

그 결과 애써 작업한 결과물들은 수시로 롤백되거나 새로운 기획안을 토대로 다시 개발해야되는 상황이 잦았다.

지들이 기획한 것들을 지들이 의심한다. 그들의 업무 성과는 잦은 변경에서 나오는 건가?

쓸데없는 의심과 걱정은 서비스 오픈 후에 해도 될 것 같은데 말이다.

결국엔 기술부채는 쌓이고 있고, 인력 충원 해준다는 건 몇개월째 말만 진행되고 있다.

 

2020년 행복한 삶을 사는 개발자가 되는 것이 내 목표였고, 그렇게 되려면 회사 일이 곧 나의 일이 되어야하는데

결국 그렇지 않게 되었다...

 

 

 

"매니저 직책자"에 대한 나의 생각

어느 저명한 유투버의 방송을 보다가 매니저 직책이 해야하는 일에 대한 컨텐츠를 들었다.

매니저란 일정압박, 팀원 쪼는 것을 하는게 아니라 직원들의 능력을 파악하고 일정을 조정 할 줄 알며

팀원들의 동기부여와 성과/보상을 고민해야하는 직책이라고 말이다.

그리고 내가 올해 들은 말 중에 가장 충격적이었던 말이 떠올랐다.

  • (정확한 문맥은 기억이 안남.. 대충 프론트/백엔드 개발에 대한 공수 및 업무효율성에 대해 이야기 중이었음)
  • 매니저직책자 : "백엔드 개발? 그거 조회하고, 입력하고... CRUD만 하면 되잖아. 뭐가 어려워"
  • 나 : (벙져서 뭔 말이 안나옴) "네? 네... 뭐 그..그렇긴하죠"

지금 생각하면 나도 참 바보 같았다. 

내가 하는 일을 깍아 내리는 말을 듣고 아무말하지 못했다.

지금 그 때로 돌아가면,

"개발자 앞에서 그런말 하지마세요. 퇴사할지도 모릅니다." 이라고 말해주고 싶다.

 

전쟁터의 장수는 병사들의 사기를 떨어뜨리는 행동을 해서는 안된다.

개인적으로 리더십의 가장 중요한 요소가 아닐까 생각된다.

 

 

 

UI 개발에 대한 회의감

나는 웹 풀스택 개발자이다. 프론트엔드부터 백엔드, 서비스 배포까지의 업무를 맡고있다.

해마다 관심가는 기술이 바뀌곤 했는데, 2019년도에는 프론트엔드 개발이 재밌었다.(React 에 매력에 빠졌었다랄까)

프론트엔드 라이브러리 생태계가 좋았다. 가끔 너무 빠르게 변해서 부담 스럽기도 했지만...ㅎㅎ

그 당시엔 프론트엔드 개발자로 역량을 더 발전시키기 위해 학습에 투자하고

담당하는 서비스의 경쟁력을 위해서 UX트렌드에 대한 조사하기도 하였으며

사용자와 동료들의 피드백을 받아 서비스에 반영하는 것이 즐거웠다.

 

2020년 업무 파트가 변경된 후, 켄도UI를 사용하여 프론트엔드 개발 업무를 수행했다.

(켄도UI란 Bootstrap 같은 UI라이브러리인데... 그닥 인기가 많지는 않아보인다.)

우리 조직은 마크업 개발자가 HTML, JS, CSS 코드를 받아 프론트엔드 개발은 진행한다.(다른데도 비슷할거라 생각됨.)

마크업 개발자는 켄도UI를 사용해서 UI를 개발한다.

웹 개발자는 그를 토대로 웹 프론트를 개발한다.

단순한 페이지 작업은 빠르게 업무를 수행 할 수 있다. API 호출하고 실제 데이터만 표시해주면 되니까.

하지만 내가 만드는 서비스는 단순한 페이지가 단 하나도 없었다. (심플UX가 대세라 생각하지만 현실은...)

복잡한 페이지의 경우 마크업 개발자가 사용한 켄도UI 코드는 전부 뜯어 고쳐서 사용해야한다.

켄도UI 사용법에 대한 것도 추가적으로 검색해야하며, 공식문서만 보고 기능을 입히기에는 한계가 있었다.

마크업 개발자들도 힘들게 켄도UI 검색해가며 만들었을텐데, 서비스에 적용하지 못해서 버려야 하는 코드들이 너무 많음을 느꼈다. (켄도UI는 굉장히 지들 API에 의존적이어서 웹 표준API를 사용했을 때 작동하지 않는것이 많았다 -..-)

마크업 개발자와 프론트엔드 개발자의 업무영역이 겹치는 부분이 많을수록

분업은 더욱 비효율적이라고 생각된다.

같은 작업의 중첩으로 하게 되거나 이슈에 대한 담당이 모호해지기 때문이다.

그리고 업무의 비효율은 나로 하여금 적지않은 회의감을 느껴지게 했다.

 

프론트엔드 개발이 좋았던 나는 올해 프로젝트를 하면서부터는 실증나기 시작했고

더불어 잦은 기획안 변경 또한 UI 개발 업무에 대한 회의감을 증폭 시켰다.

 

 

 

여전히 어려운 함수형 프로그래밍

과거에 함수형 프로그래밍에 대해서 사내 스터디를 참여했었다.

자바스크립트를 사용해서 어떤식으로 함수형 프로그래밍 코드를 작성 할 수 있는지에 대해 책을 통해서 학습했다.

함수형 프로그래밍이란 기존에 널리 사용되는 객체지향 프로그래밍과는 다른 일종의 패턴(?) 같은 것이다.

자바스크립트와 같은 함수가 일급시민(first-class object)인 프로그래밍 언어에서 사용가능하다.

(일급시민이란 변수에 저장 가능, 함수의 매개변수나 결과값으로 적용 및 연산 가능한 객체를 뜻한다.)

 

올해는 함수형 프로그래밍을 통해 배움의 욕구를 실천해보고자 했다.

또한 자바에 대해서 더 깊이 공부하고 싶어, 자바 기반의 함수형 프로그래밍을 시도 해보고 싶었다.

그러던 중 Webflux라는 기술에 대해 알게 되었고, Webflux로 토이프로젝트를 진행했다. 

(사실 WebfluxReactive programming을 지원하는 자바 기술이다. 함수형 프로그래밍과는 조금 차이가 있다.)

초반에는 다소 어려운 개념(Publisher, Subscriber와 배압조절?)들로 애먹었던 것 같다.

또 프로젝트가 진행 될수록 함수형은 잊은채 기존에 잘 알던 객체 지향적 코드가 되어가고 있었다.

습관이 이렇게 무서운거구나...싶었다.

 

프로젝트를 수행하며 함수형 프로그래밍과 더불어 자바를 더 깊게 공부할 수 있어서 나름 뿌듯했다.

또한 함수형 프로그래밍 패턴을 실무에 적용해보지 않아서

공부한 경험을 바탕으로 한번 도전해보고 싶은 마음이다.

 

 

 

2021년에는

우선 코로나가 빨리 종식되었으면 좋겠다. ㅜㅜ

그리고 행복한 개발자가 되고 싶은 목표는 여전히 유효하기 때문에

앞으로도 나의 일을 더 좋아할 수 있게 더 노력할 것이다.

여유를 가지자. 급하면 될 것도 안된다.

반응형

'개발 이야기 > Etc' 카테고리의 다른 글

[독서] 가상 면접 사례로 배우는 대규모 시스템 설계 1  (0) 2024.03.01
Intellij 단축키 검색 키워드 정리  (0) 2021.01.12
[독서]소프트웨어 장인  (0) 2020.03.01
2019 Log  (0) 2020.01.03
VSCode 확장 추천!!!  (0) 2019.11.27