2년차 웹개발자

이제 막 2년을 넘긴 2년차 웹 개발자입니다. 지난 1년을 되돌아보며, 생각을 정리하기 위하여 글을 작성합니다.

Posted by kingbbode on December 22, 2017

Recently by the same author:


바라던 모니터링 환경 (New Relic, PINPOINT, logentries)

이상적으로 바라던 그런 모니터링 환경을 만났지만, 뭐가 뭔지 몰라서 정리

You may find interesting:


마스터즈 오픈 세미나

마스터즈 오픈 세미나


개발자의 재능기부 == 자기개발

개발자에게 재능기부란? 재능기부를 가장하여 기술 사용과 습득의 목마름을 해소한 경험(자기개발?)을 기록으로 남겨봅니다.

2년차 웹개발자

1년차 웹개발자라는 회고를 쓴지 1년이 조금 더 지나, 이번에는 나의 2년차를 돌아보려고 합니다.

1년 동안 나를 성장시킨 것

2년차에 나를 성장시켰다고 생각하는 3가지 키워드는 도전, 자극, 기회(행운)이다.

도전

2년차를 시작하면서 몇가지 목표를 정했다. 다 이룰 수 있을까 했는데, 운이 좋게도 모두 이루고 말았다.

Spring Camp

작년 한 해 동안 수많은 세미나를 돌아다녔었다. 그리고 2년차가 되서는, 나도 어느 조그마한 세미나에서라도 발표를 해보자고 결심했다. 그런데 정말 운이 좋게도(?) 너무 큰 세미나에서 발표할 기회를 가지게 되었다. 바로 Spring Camp 2017 이다.

연사 모임에서는 정말 말도 안되게 어마어마하신 분들이 계셨다. 첫 모임이 치킨 집이였는데, 고수 개발자님들의 개발에 대한 고수준의 대화에 정신을 못차리고 멍때렸던 기억이 난다.

인생 첫 세미나 발표를, 이런 큰 세미나에서, 이런 엄청난 고수분들과 함께 한다는 것에 대한 부담은 말로 할 수 없었다. 그래도 내가 전하고 싶었던 메시지가 분명했기 때문에 발표에 대한 자신감은 있었던 것 같다.

spring camp

주제는 Spring Boot 를 대하는 자세 였다. Spring Boot에 대한 오해를 풀고, 주의해야 할 점을 말하고 싶었다. 최근에도 Spring Boot를 선호하지 않는 이유는 Spring Boot에서 해주고 있는 일이 너무 많기때문이다라는 말을 들었다. 그렇기 때문에 Spring Boot에서 무엇을 해주고 있는지 알아야하고, 어떻게 볼 수 있는지 등이 내용에 들어갔다. 발표하길 잘 했다라고 간혹 생각한다.

Spring Boot의 기본 설정을 버리면서 Spring Boot에서 해주고 있는 것보다 못한(스펙에 대응하지 못한) 설정을 사용하는 코드를 본 적이 있다. 이런 코드를 보면서 개인이 아무리 노력한다고 하더라도 스프링 프레임워크를 개발하는 사람들과 수많은 컨트리뷰터들이 함께 하는 프로젝트보다 수많은 스펙에 대한 대응을 잘 할 수 있을까라고 생각했다. (스펙에 대한 변화로 인해 생기는 장애 포인트, 취약점 등)

이 발표는 내가 사용하는 프레임워크에 대해 깊게 들여다보고, 생각하고, 조금은 더 이해할 수 있었던 큰 계기가 되었다.

OpenSource Contribute

사내 메신저이자, 모회사의 제품이기도 한 TeamUp이라는 업무용 메신저가 있다. Open source APM ProjectScouter로부터 알람을 받고 싶었으나, 당시 팀에서 Slack이나 다른 메신저를 쓰지않았고 메신저 사용을 제안하기도 힘든 상황이였다. 그래서 만들었다. TeamUp 챗봇을 만들어서 운영 중인 경험도 있었고, Slack Plugin이 이미 존재하여서, folk 기반으로 어렵지 않게 작성하여 만들 수 있었다.

이 때까지는 오픈소스 기여에 대한 마음은 없었다. 그러던 중 어느 세미나에서 Scouter 커미터이신 이건희님의 발표를 듣고 Scouter가 국산이란 것을 처음 알게 되었다. 혹시나 하는 마음으로 이 프로젝트가 scouter plugin에 올라갈 수 있는지 요청을 드렸는데, 흔쾌히(?) 수락을 해주셨다.(정말 감사합니다!)

scouter

이게 내 첫 오픈소스 기여였다. Scouter 덕분에 OpenSource에 대한 벽이 많이 없어질 수 있었다. 그래서 2017년에도 많이 사용되는 오픈소스에 기여를 해보자고 마음을 먹었다. 일부러 찾으려고 애쓰지는 않았다. 내가 정말 사용하면서 눈에 보이는 것을 하고 싶었다. 사용을 하면서 불편하거나 이상한 것이 생기면 항상 의심을 했다.

그러나 기여에 실패도 많이 했다.

jooq

내가 하려는 기여가 해당 오픈소스 프로젝트가 추구하는 방향과 맞아야하고, 전체적인 통일성 등과도 맞아야 하는 등 더 큰 모습을 볼 수 있어야 한다는 것도 알게 되었다.

그렇게 노력하여 결국 성공한 기여는 Spring Batch 이다!

spring batch

동작에 대한 이상을 찾았다. 코드 한두줄 내가 좀 수정하면 그냥 쓸 수 있는 정도의 동작 이상이였지만, 이 동작이 Spring Framework에서 동작해야 하는 일반적인 동작이 아니며, 의도치 않았을 거라고 판단하여 바로 PR을 날렸고 결국 성공했다. 정말 사소하고 작은 내용이였지만, 내가 쓰고 있는 프레임워크에 기여했다는 것에 큰 희열과 감동을 느꼈다.

패스트캠퍼스 자바 웹 프로그래밍(by 자바지기)

박재성 교수님의 자바 웹 프로그래밍:Next Step(양파까기)의 책 내용으로 진행되었던 자바 웹 프로그래밍 강의이다. 이 강의를 듣고 난 후 내 개발에는 엄청나게 큰 변화가 있었다.

이것이 객체지향인가! 이것이 OOP인가!

박재성 교수님 강의

그동안 내가 하고 있던 개발에 대한 모든 것이 이 강의를 전 후로 바뀌었던 것 같다. 나 역시 강추를 받아 수강하였고, 주변 사람들에게도 꼭 강추하고 싶다.

Study

2017년에 2개의 스터디가 생겼다.

첫번째는 패스트캠퍼스 자바 웹 프로그래밍을 같이 수료했던 인연으로 생기게 된 양파지기 스터디이다.

양파지기

스프링, 챗봇, 블록체인 등등 여러가지 분야에 대해서 스터디를 하였다. 기술적인 스터디에도 목적이 있었지만, 다양한 직종의 사람들과 같이 기술에 대한 여러 이야기를 하면서 많은 것을 배웠던 좋은 스터디였다.

두번째는 내가 쓰는 언어에 대한 기본을 다시 다지고자 시작했던 강서구 자바 스터디이다.

강서구 자바 스터디

자바부터 스프링까지를 목적으로 개발 입문자나, 나와 같이 자바를 다시 돌아보고자 하는 사람들을 대상으로 모집하였다. 어찌어찌 하다보니, 나보다 경험이 없는 사람들이 모였고, 어찌어찌 하다보니 스터디라기보단 내 무료 강의처럼 된 스터디였다. 이런 상황이다보니, 강제로 정말 초심자 마음으로 돌아가(이해시키기 위해) 자바를 다시 한번 볼 수 있었던.. 그리고 지금도 진행 중인 스터디이다.

비록 내 토요일이 사라졌지만, 정말 재미있고 좋은 경험들인 것 같다.

Blog

블로그를 꾸준히 관리하여 광고로 치킨 값이라도 벌어보자고 생각했었다. 이것도 이루어졌다.

adsense

(치킨)

내가 블로그를 쓰는 기준은 나의 생각 정리, 내가 겪은 남들이 겪을 만한 일을 정리, 내가 해본 남들도 간접 경험해보면 좋을 만한 일을 정리, 인터넷에 자료가 별로 없는 내가 해본 것을 정리이다. 전체적으로 내가 직접 했다는 것이 중요한 것 같다. 남이 쓴 것을 옮기는 것, 그대로 따라해놓고 내 블로그에도 카피하는 것은 의미가 없다.

블로그를 쓰면서 가장 제일 중요했던 것은 잘못된 정보를 제공하지 않는 것이다. 나 혼자 쓰는 글 일지라도 혹시라도 누가 볼 수도 있다고 생각한다. 내가 삽질하고 있는 중 잘못된 정보를 제공해놓은 링크를 찾는다면 굉장히 짜증이 날 것이라고 생각한다. 그렇기 때문에 글을 정리하는 것은 매우 어렵다. 그렇지만 그렇기때문에 주변 사람들에게 글을 쓸 것을 강추하고 있다.

내가 확실하게 알고 있다고 생각하는 것도, 글로 옮기다보면 다시 찾아보게 되는게 엄청나게 많았고, 그런 과정 중에 배운 것들이 굉장히 많았다. 학습의 깊이가 깊어질 수 밖에 없을 것이다.

graph

table

(방문자 수가 지속적으로 늘고 있어 많이 뿌듯함을 느끼고 있다. 감사합니다!!)


자극

나는 자극을 즐기며, 자극이 나를 더 성장시켜준다고 믿고 있다.

지난 회고 때 나는 커뮤니티, 세미나, 동료 개발자들을 통해 많은 자극을 받고 있다고 말했었다. 지난 1년 간도 그랬지만, 그 중 가장 큰 자극을 꼽으면 동료 개발자이직이였다.

사수의 이직

2년차를 시작하자마자 나의 개발에 대한 정신적 지주이자, 멘토라고 해도 과언이 아닌 사수이직 을 하였다.

bye

내 사수는 사람이 저렇게 성실할 수 있나라고 생각할만큼 성실한 사람이였고, 타인을 배려하는 태도, 학습에 대한 열정 등 여러가지로 내 기준 천상 개발자였다. 사수의 이런 모습은 나를 감동시켰고, 사수가 퇴사하고 나서는 나도 이런 사수가 되고 싶다고 많이 생각하였다.

사수는 최고의 모습으로 퇴사를 하였다. 나는 그 모습을 쫓아 더 좋은 사수, 개발자가 되기 위해 노력하였다!

buzz

(농담..)

동기의 이직

최종 면접을 같이 보고 같이 입사하여, 개발에 대한 모든 것을 나누던, 개발인생에서 가장 좋은 친구가 된 동기 가 이직을 하였다.

bye

둘이서 아웅다웅하면서 공부하는 모습이 보기 좋다.라고 많이 들었었다. 정말 많은 것을 같이 나누고 공유했던 좋은 친구가 이직하고 꽤 씁쓸함을 느꼈던 것 같다.

그러나 개발에 대한 여러가지 이야기를 이직 이후에도 자주 나누며 우물 안에서만 있었던 시야가 동기의 이직으로 조금은 더 넓어질 수 있는 계기가 되기도 했다. 회사에만 같이 없을 뿐 지금도 같이 성장하고 있다고 생각한다.

동기는 가자마자 프로필을 바꾸어버렸다.. 노란 배경으로

honggu

아무튼 동기의 이직으로 인해, 굉장히 큰 자극을 받았다. 이것 또한 나에게 채찍질이 될 수 있었던 것 같다.



we

(‘ZUM’ 에서 만나 정말 좋은 친구가 된 전, 현 동료들)


기회(행운)

내가 기회를 찾아다니기도 했지만, ZumInternet은 나에게 정말 많은 기회와 행운을 주었던 것 같다.

큰 역할들을 맡게 되었다

사수가 이직하고 힘들었지만, 돌이켜보면 사수의 이직이 나에게 있어서 기회가 되었던 것 같다. 당시 사수가 가지고 있던 많은 롤들이 나에게로 넘어왔고, 쉽게 경험할 수 없는 환경에 대해서 다양한 경험들을 쌓을 수 있었다.

나에게 많은 롤들이 생기고 큰 업무들을 맡게 되면서 어깨가 무거워졌었다. 이때 당시 본부장님, 팀장님은 나를 믿고 많은 배려 를 해주셨다. 내 의견을 적극 반영해주셨고, 시간적인 배려도 아끼지 않으셨다. 힘들던 시기에 나를 지탱해주던 너무 감사한 분들이다.

이런 적극적인 지원 속에서 좋은 방향으로 나가기 위해 항상 ‘이렇게 하는게 좋다더라’, ‘다른데서 이렇게 하고 있더라’ 보다는 ‘이렇게 하는게 어떠한 이유때문에 좋다, 아니다’, ‘다른데서 이렇게 하고 있는데, 이러한 환경에서 이러한 방향으로 진행했기 때문에 좋았다’ 를 중요시하며 개발을 하였다. 불안함 속에서 내가 하고 있는 것에 대한 다양한 상황을 예측하기 위한 습관이 자리잡은 것 같다.

가끔 어디서 이렇게 했다더라, 이게 좋다더라를 주장하는 개발자에게 그거 말고 이렇게 하자라고 했을 때 이유없이 거부하거나 그냥 선임이 그렇게 하자니 동조하는 상황을 보곤 한다.

를 생각하지 않는다면, 이 경험이 나중에 도움이 될까라는 생각을 했다. 그래서 나 스스로를 납득시키고 이해하려고 노력하였고, 이러한 자세가 생기면서 더 깊은 학습과 경험을 할 수 있었던 것 같다.

잘하는 후임 개발자들이 생겼다

팀 규모가 점점 커져, 지금은 내가 처음 입사했을 때에 비해 5배 이상이 커진 개발팀 규모가 되었다.

그리고 나에게도 후배 동료들이 생겼다. 즉 내가 누군가에게 무언가를 알려줄 수 있어야 되는 사람이어야 했다. 이 분들의 성장 속도는 무서웠다. 나도 어려워하는 그런 질문들을 받을 때면 굉장히 곤란했다. 그래서 더 열심히 할 수 밖에 없었는지도 모른다..; 그래도 이 때 평소 BLOG를 작성하는 것과, 를 생각하며 학습했던 것이 많은 도움이 되었다. 내가 아는 것과, 내가 아는 것을 남에게 알려준다는 것은 굉장히 큰 차이가 있고, 남을 알려주기 위해서는 깊은 학습이 필요했기 때문이다.

이분들을 만난 것이 행운이라고 생각하는 이유는, 이분들이 모두 다 잘하기 때문이다. 코딩 실력을 제외하고서도, 모두들 항상 노력하고 자신이 추구하는 개발의 방향이 있는 내가 생각하는 좋은 개발자들이였다. 그래서 나 또한 많이 배웠고, 내가 알고 있는 것을 공유해주려고 많이 노력하였다. 그렇게 함께 이야기를 할 수 있는 분들이였다는게 정말 큰 행운이였다고 생각한다.

BeyondJ2EE 를 만남

2017년 ZumInternet에 합류하신 팀장님은 내 2년차를 돌아보며 빼놓을 수 없는 분이다.

beyondj2ee

내가 목말라 있었던 경험을 토대로한 Real World를 정말 많이 알려주셨다. 실무에는 다양한 사례들이 있고, 다양한 상황이 있다. 팀장님은 아마 내가 가지고 있던 고정관념 을 가장 많이 깨주신 분일 듯 하다.

거기에 우리가 목말라 있던 것들에 대해 직접 지인들을 초빙하여 회사 세미나까지 열어주셨고, 숙제와 같이 우리에게 부족한 것들을 부담없이 던져주시며 스스로 성장할 수 있게 기회를 많이 주셨다. 지금까지 정말 많이 배울 수 있었다. (빙산의 일각이라고 하셨다)


발견한 안좋은 점들

1년동안 나를 성장시킨게 있었다면, 발견한 내 안좋은 점들이 있다! 꼭 고치고자 작성해보았다.

이 사람 답장이 없어..!

서서히 심해진 것 같은데.. 집중을 하기 시작하면 다른 것이 보이지가 않을 때가 많아졌다. 최근에는 누군가 말을 걸었을 때 무의식적으로 “잠시만요”하고 기억을 하지 못한 사태까지 생겼었다. 정말 꼭 고쳐야할 안좋은 버릇이다..!

건강을 챙기자!

최근에 걸렸던 대상포진도 그렇고, 건강관리를 잘 안했던 것 같다.

  • 밥을 잘 챙겨먹자! 개발하는 것을 끊기 싫어서 점심을 굶은 적이 많다. 속 버리겠다..
  • 운동을 하자..!

고정관념을 버리자!

개발에 정답은 없고, 많은 방법들이 있다. 내가 알고 있는 방법이 좋다는 고정관념이 있는 것 같다. 지나치게 를 생각했을 수도 있다. 때론 안정성보다 빠른 대응을 택해야하는 경우도 있을 것이고, 성능보다 가벼운 것을 택해야하는 경우도 있을 것이다.

열린 생각으로, 앞으로 더 경험을 쌓으면서 주장이 아닌 토론을 하며 좋은 사례를 만들어가는 개발자가 되고싶다!


2년차를 마치며, 이직

최고가 되기 위해 떠난다! 입사 2주년이 되면서 이직을 생각하게 되었고, 12월 21일부로 줌인터넷을 퇴사하고 새로운 곳으로 입사를 하게 되었다.

준비

회사를 다니면서 했던 이직을 위한 준비이다.

1. 커밋과 기록을 꾸준히 했다.(이직을 위한 것은 아니였지만, 도움이 되었다고 생각)

  • 커밋은 내가 꾸준하게 개발을 했다는 것을 보여줄 수 있는 가장 쉬운 방법
  • 기록은 내가 얼마나 이해했고 알고 있고 관심이 있는지 보여줄 수 있는 가장 쉬운 방법

2. 이력서를 만들었고, 첨삭받았다.

  • 진작 꾸준히 관리할 것을 후회했다! 경력 관리를 꾸준히 하자!

3. 나에 대해서 명확히 했다.

  • 이직을 왜 하고싶은지
  • 무엇을 추구하는지
  • 내가 어느정도 수준인지

부족했던 것

  • 과정에 있는 어떠한 툴이라도 사용법에 대해서 그냥 넘기지 말자! 알고리즘 사이트 툴이 다 거기서 거기지 하는 마음으로 했다가 절반의 시간이 지나서야 잘못된 것을 알아차리고 망한 곳이 있었다.

  • 용어에 대한 정리도 꼭 하자. 알고 있는 것이지만, 용어를 듣고 모르는 것 처럼 넘겨질 때도 있었다.

이직

그렇게 준비하여, 내가 정말 가고싶던 곳에만 이력서를 넣었고, 나에게 선택권이 돌아올 수 있었으며, 결국 나의 3년차를 우아한형제들에서 시작하게 되었다. 새로운 시작이 겁이나지만, 꼭 인정받을 수 있도록 열심히 할 것이다!


마무리

보내고, 만나고, 나도 가고, 정말 많은 도전이 있었던 일년이였다.

앞을 위해 뒤를 되돌아본다는 것이 참 재미있고, 좋은 것 같다. 정말로 많은 생각이 정리가 되고 있다. 몇 가지 고쳐야할 것들이 보인 것 말고는 썩 나쁘지 않은 1년이였던 것 같다. 이제 나의 3년차는 지금까지와는 전혀 다른 새로운 환경에서 시작하게 된다.

아마 가장 큰 목표가 우아한형제들에서 살아남기가 될 것 같다. 반드시 살아남아서 인정받고 말테다! 지금까지 그랬던 것 처럼, 노력해보겠다.

yg