1년차 웹개발자

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

Posted by kingbbode on November 15, 2016

Recently by the same author:


프로젝트가 장난이야?!

장난인 프로젝트, 토이 프로젝트를 추천합니다.

You may find interesting:


SpringOne Tour Seoul - Spring Cloud Gateway

스프링 원 투어 서울 컨퍼런스 중 정윤진님의 Spring Cloud Gateway 세션


스프링캠프 2018-Consumer Driven Contract

Consumer Driven Contract 기법을 활용한 마이크로서비스 API의 진화

웹 개발자가 되기까지

웹 개발을 시작한기 전에 반년 정도 반도체 분야에서 소프트웨어 개발을 했습니다.

왜? 핑계아닌 핑계를 대보자면.. 보안 분야에 올인한 친구들이랑 함께하다보니 4학기 동안 모든 프로젝트의 9할을 개발했고, 웹 개발 쿼리큘럼에 벗어난 수업에서도 다수 개발 했고, 하다보니 일단 개발은 많이 한 것 같은데 내가 무슨 개발을 하는지 모르는 개발자가 되어있었습니다. 후회가 많이 남는 시기이기도 합니다. 조금 더 빨리 내가 하고 싶은 개발이 뭔지 알았으면 좋았을껄이라고 가끔 생각합니다. 아무튼 결국 내가 무슨 개발을 하는지도 모르는 개발자로 반년을 개발하다가 깨달음을 얻고, 운좋게 알고리즘을 시험을 잘봐서 현재 회사로 입사를 하게 되었습니다.

이렇게 웹 개발자가 되었습니다.

1년 동안 나를 성장시킨 것

각종 서비스를 개발하는 경험들도 나를 많이 성장시켜주었지만, 조금 더 큰 그림으로 보았을 때 1년 간 나를 성장시킨 3가지를 꼽아보았습니다.

파일럿 프로젝트

회사에는 개발자 전통으로, 입사하자마자 제시하는 스펙을 만족하는 특정 주제의 웹 개발을 2주 안에 해야하는 공포의 파일럿 프로젝트가 있습니다.

저장소ㅜㅜ
(제공받는건 git 저장소뿐..)

Spring 프레임워크가 뭔지도 모르는 상황에서 2주 후 제가 완성한 프로젝트의 스펙은 Spring Boot Gradle Project, Spring Security,Hibernate,Logback,Grunt,Freemarker,BackBone,JQuery,Requirejs,Underscore,Bower,Bootstrap,Git 버전관리

Jquery 빼고 다 처음보는 저에게 당시 2주는 자괴감을 느끼고, 매일마다 새로운 것을 이해해야하는 매우 힘든 시간이었지만, 지금와서 생각해보니 2주동안 정말 많은 것을 배우고 깨우쳤었다는 것을 알 수 있었습니다.

파일럿 프로젝트는 내가 앞으로 사용해야 할 기술들을 간단하게 체험하는 단계이자 주어진 업무를 해결해나가는 자세를 교정하는 단계이기도했으며, 개발이 완료된 후의 코드리뷰에서는 실무의 개발, 그리고 서비스에서의 개발이라는 새로운 개념을 깨우칠 수 있었고, 선배 개발자들에게 탈탈 털리면서 동경의 마음과, 분함을 함께 가지고 개발 욕구를 더욱 불태울 수 있는 추진제 역할까지 해주었던 고마운 프로젝트입니다.

개발자들의 문화

아직 매우 많이 부족하지만, 그래도 나를 이만큼 성장시킨 것의 5할 정도는 기여한 선임이 있습니다. 지식과 정보를 얻을 수 있는 창구인 개발자들의 문화를 알려주셨지요!

가입한 페이지

정말 많은 개발자 모임이 있고, 정보를 얻을 수 있는 페이지가 있고, 심지어 방송도 있다는 것을 그동안은 모르고 살았습니다.(!!) 블로그나 모임 활동은 정말 대단하신 분들만 하시는 것인줄 알았지만, 어느새 저도 블로그를 시작한지 7개월이 넘어버렸습니다. 개발자에게는 자랑도 하고(?), 피드백도 받을 수 있는! 소통할 공간, 정보를 얻을 공간은 정말 중요한 것 같습니다.

다녀온 세미나

그리고 개발자들의 문화의 꽃이라고 생각하는 각종 세미나들! 여러 개발자 모임과 페이지를 알고 있으면, 자동으로 세미나 정보들이 줄줄 들어옵니다. 2016년 Spring Camp를 시작으로 세미나를 다니기 시작해서 어제까지 11개의 세미나를 다녀왔네요! 다행히 회사가 이런 개발 문화를 적극 지원해주어서 가능했습니다.

모임이나 페이지 구독, 방송, 세미나 등 모두 정보를 전달해주는 수단입니다. 정보를 얻었다고해서 나의 개발실력이 향상되는 것이 아닙니다. 얻은 정보를 활용을 해야 실력이 늘 수 있다는 것이 중요합니다!

자극

선택

자극없이 ‘나혼자 개발’만 했다면, 지금만큼 열심히 노력하고 있지 않았을 것이라고 생각합니다. 저에게 개발이 재미있다지만, 그래도.. 가만히 있고싶고 더 자고싶고 놀고 싶은 욕구가 당연히 더 큽니다! 개인의 의지만으로 이것을 항상 이겨내기란 쉽지 않습니다. 그리고 개발에 대한 슬럼프가 왔을 때도! 저에게 자극은 이런 것을 어느정도 이겨낼 수 있는 원동력이 되어왔습니다.

어디에서 자극을 받나?

첫번째위에서 언급한 개발자들의 문화, 커뮤니티 공간입니다. 정말 많은 커뮤니티에서 정말 많은 개발자들, 그리고 학생들까지도 너무나도 열심히, 대단하게 개발 공부를 하고 있습니다. 요즘도 가끔 느끼지만, 정말 대단한 개발자분들이 많구나 느낍니다.

두번째각종 개발 세미나들! 처음 세미나를 갔을 때의 놀라움은 잊을 수 없습니다. 온라인에서나 활성화되있을줄 알았으나, 정말 많은 개발자분들이 전국 각지에서 오는 것을 보고 놀랐습니다. 거기에 세미나에서 발표하시는 개발자분들의 열정까지! 실제 체감을 하면 더욱 자극을 받게 됩니다.

세번째로는 가장 가까이 있는 동료 개발자들입니다. 저는 굉장히 운이 좋은 케이스입니다. 넘사벽의 실력을 가지신 선배님들과 여러 커뮤니티에서 미친 존재감을 보이고 계시는 위에서 언급한 선임을 만났다는 것?. 그리고 이 선배님들은 아직도 너무나도 열정적이시라는 것이..! 그리고 같이 성장해나갈 수 있는 서로의 자극제가 되어주고 있는 동기까지!

자극이란게 항상 긍정적인 효과를 보이진 않습니다. 자극으로인해 받는 스트레스도 있지만, 그래도 지식과 기술을 향상시키는 것인데 이정도 스트레스면 양호하다고 생각합니다. 자극으로 너무 스트레스 받지말고 쉴 때는 푹 쉬는 것이 제 나름 견디는 팁입니다.

생기게 된 고민

제가 다니는 회사에서는 개발자가 프론트와 백엔드의 개발을 모두 합니다. 그래서 처음에는 인프라, 프론트, 백엔드 가릴 것 없이 알게되는 모든 기술을 쫓았습니다. 거의 여러 커뮤니티와 페이지에 매일 새롭게 올라오는 내용을 가리지않고 알기위해 노력해보았습니다.

Gradle 환경의 Spring Boot도 해보고, Angularjs로도 개발해보고, React도 개발해보고 Spring boot 최신 버전이 업데이트되면 업데이트된 기능을 적용해보기도 하고, 각종 패키지 관리툴, 빌드 테스크 툴 등을 알게되면 적용해보고, Java8이 나오고나서 람다를 활용해보기도 하고, Redis가 핫하데서 써보고, 배포 자동화를 위해 Jenkins도 사용해보고, nginx 웹서버도 직접 구성해보고 등등.. 처음엔 닥치는데로 개발을 했었습니다.

가리지않고 계속 파다보니, 트리 형태로 알아야할 것이 정말 말도안되게 거대해졌고 하루도 쉬지 않고 올라오는 새로운 내용들이 감당이 안되었습니다.

선택

이런 상황이 되니, 무언가 선택을 해야겠다는 생각이 들었습니다.

세미나에 가서 봤던 수많은 프론트 개발자가 있고, 백엔드 개발자가 있고, 인프라를 하는 사람들이 있습니다. 저마다 자기 영역을 열심히 갈고 닦고 있는데, 내가 이렇게 여러영역을 계속 하면 저 사람들보다 인정받을 수 있을까라는 생각이 들었습니다. 그래서 몇일을 고민한 끝에 내가 하고싶은 개발이 백엔드에 가깝다는 것으로 결론을 내렸습니다.

나는 백엔드 개발자다!라고 결론을 내린 후 정보들도 백엔드 위주로만 걸러서 보고, 세미나도 백엔드 위주 세미나만 골라다녔습니다. 그러나 저는 프론트와 백엔드를 모두 개발하는 개발자이기때문에 프론트를 놓을 수도 없었습니다. 백엔드 개발자다!라고 마음은 먹었지만, 개발하다보면 프론트 관련 내용들도 찾아볼 수 밖에 없었고, 이왕 하는 것 뒤쳐지기도 싫었습니다. 그래서 최근에는 es6와 webpack을 공부를 하게 되었는데, 또 해보니 너무 재미있습니다.

그래서 다시 고민하게 되었고, 내린 결론은 내가 진짜 관심있는 것 을 하자였습니다. 1년이란 시간이 되어서 그런 것인지 몰라도, 이제는 내가 관심있는게 어떤 것인지 알 것 같습니다.

그래도 사실 잘 모르겠습니다. 이렇게 프론트, 백엔드 구분 없이 계속 해도 괜찬은 것일지는…

모르겠음

마무리

나름 바쁘게 달려온 1년! 처음에는 아무것도 모르던게 1년동안 커서 고민도 생기게 되었네요. 점점 더 개발자로서 성장하면 지금가지고 있는 고민들도 결론을 내릴 수 있을거라 믿으며, 오늘도 커밋하고 있는 수많은 개발자들에게 자극을 받으며, 개발자의 길에 정도가 있다면 좋겠지만 그렇지 않기 때문에 내가 하고 있는 것이 나를 성장시키는 가장 빠른 길이기를 바라며, 꾸준히 열심히 공부해야겠습니다.