나는 어떤 개발자가 되고 싶을까
0.
개발 일기를 본격 시작하기 전에 나를 되짚어본다. 2011년 7월 IT 회사로 입사해 2016년 3월 퇴사하기까지 나는 2번 직무가 변경됐다. IT회사로 본격 입사하기 전에는 인문학과를 전공하면서 소일거리로 XE, php, javascript, css 를 다루며 홈페이지를 개발했다. 입사 후에는 개발직군으로 서버 및 프론트엔드를 가리지 않고 개발했다. C#, java, jQuery, css 가 많이 늘었다. 다행이었던 건, 함께 프로젝트를 진행하던 다른 개발자가 엄청난 실력자여서 그 분 밑에서 스파르타식으로 개발 프레임웍의 원리들을 배웠다는 점이다. 당시엔 정말 무지막지 힘들었지만, 돌아보면 그 모든 것이 나의 밑바탕이 된다. 누구도 가르쳐주지 않는 것들을 그분은 본인의 일이 아닌데도 불구하고 애써 수고로이 가르쳐준 것이었다.
입사 한 지 3년차가 되는 해, 같은 팀 내에서 직무가 변경됐는데 인프라 관리 직군이었다. 구체적으로는 네트워크, 서버, 미들웨어, 방화벽, DB를 관리했다. 그중에서도 직접 다뤘던 건 서버와 미들웨어, DB. Windows 서버를 사용했기 때문에 mssql, IIS 를 주로 관리했다. Apache-Tomcat 과 webToB-JEUS 도 일부 있었다. 퇴사하기 직전 수행했던 프로젝트가 인프라 관리 직군에서 난이도 상에 속했다. 대규모 서버 이관 작업이었는데, 이 때문에 미들웨어와 서버, 그리고 각종 펌웨어에 대한 지식이 늘었다. 나는 비전공으로 시작했기 때문에 워낙 기초가 얕아 이렇게 프로젝트로 배우는 것들이 정말 큰 도움이 된다.
그리고 재직 중인 회사 업무 외로 주말에 틈틈이 시간을 내어 개발에 참여하고 있던 프로젝트가 있었다. 관심있게 보고 있던 스타트업인데 마침 제의가 왔었고, 기획자 요구에 맞추어 Wordpress 기반, php 개발로 작업했다. php는 잘 몰랐었는데 이때 많이 실력이 늘었다.
1.
개발일기를 처음 썼던 건 스타트업에서 워드프레스 개발을 진행하면서였다. 업무 시간 외 시간을 빼서 작업하는 데다가 함께 공동 개발하는 개발자들이 모두 원격 개발을 했기 때문에 서로의 업무 내역에 대해 피드백이 원활하지가 않았다. 누가 무엇을 개발하고 있는 지 주로 Trello와 Slack, Git 등을 사용해 커뮤니케이션하여 업무 진척 사항에 대해서는 문제가 없었지만, 서로가 충돌하고 있는 버그나 필요한 지식에 대해서는 소통이 원활하지가 않았다. 그래서 그날 그날의 일기를 작성하기로 했다. 주로 어느 부분이 어려웠는 지에 대해 썼다. 기획자의 눈과도 소통할 필요성이 있어서, 기획자에게 어떤 식으로 개발 업무가 진행되어가는 지 보여주는 용도기도 했다.
<당시 썼던 개발일기 중 하나>
OOOOO, 7일 차
1. 시행착오가 많았던 하루였다. 워드프레스에서는 PAGE와 POST가 다뤄지는 방식이 매우 달랐다. 게다가 난 지금까지 비회원 기능 적용 대상이 PAGE인 것으로 착각하고 template 에 import하는 방식으로 개발했었는데, POST였다.. !!! POST는 template를 타지 않는다. 지금까지 했던 건... 쓰레기통으로....
2. 그래서 오전에 허겁지겁 지금까지 개발한 것을 플러그인으로 묶었다. add_filter('the_content')를 사용했다.
3. 그렇게 했더니 발생한 문제. 포스트가 그냥 포스트가 아니라, 포스트를 예쁘게 꾸며주는 플러그인이 삽입되어 있는데, 왠지 그 플러그인이 포스트에서 반복문을 돌면서 화면을 그려주는 것 같았다. 그러다보니 같은 포스트가 7번 로딩되었고, 내 소스도 7번 로딩되었다;;
블락 기능 처리하는 div는 jQuery를 사용해 부모 div에 append 하는 형식으로 개발했는데, 그래서 내가 개발한 div가 화면에 7개나 중복되어 생겼다. 스크립트, 스타일도 마찬가지로 7번 반복되어 출력됐다. 여기서부터 두 번째 망;;
4. 중복로딩되는 건 기타 플러그인의 문제로 해결하지 못했고, 중복로딩되더라도 중복 출력되지 않는 방법을 연구했다. 아래와 같은 방법으로 해결했다.
- div 중복 출력 : 내가 만들고자 하는 class의 div가 1개 이상이면 append 태그 미실행
- style/js 중복 출력 :
기존에는 그냥 소스 안에 <script></script>, <style></style> 이런식으로 넣어서 각각 7번이나 소스에 출력됐는데, 이번엔 플러그인에서 style과 script 파일을 각각 include하는 방식을 택했다.(그러면 1번씩만 include되니까)
여기에서도 좀 헤맸다. 어쨌든 script, css 로드는 아래와 같이 해야 했다.
function nspace_load_js_and_css(){
wp_enqueue_style('sc-nonUser-access', plugins_url('custom-style.css', __FILE__));
//스크립트는 먼저 register해주어야 한다.
wp_register_script( 'custom-script.js', SC_PLUGIN_URL . 'custom-script.js', array('jquery'));
wp_enqueue_script( 'custom-script.js' );
}
//반드시 아래 액션 훅에 걸어야 한다.
add_action( 'wp_enqueue_scripts', 'sc_load_js_and_css' );
5. 기존 테마의 디자인과 충돌하는 부분이 많아서 수정하는 데에도 시간이 걸렸다. 당초 2~3시간 정도 예상한 릴리즈 시간이.. 총합 6시간이 넘었다. 아주 간단한 기능이라고 생각했는데.. 생각보다 시행착오가 많았네.. QA를 운영과 똑같이 해두어야 한다는 걸 다시금 깨달음.. 흐흑
2.
지금까지 있었던 대기업 IT회사에서는 지식을 나눌 창구도, 그리고 나만의 지식을 쌓을 공간도 인트라넷 안에 모두 다 구비되어 있다. 그러나 이제 내가 이직할 곳은 중소기업으로 IT 업종도 아니기 때문에, 앞으로의 경험과 지식이 휘발되지 않도록 다른 방법을 찾아야 한다고 생각했다. 떠오른 것이 바로 "개발일기"였다. 이제 갈 곳에서 나는 지금까지 해보지 않았던 프로젝트를 경험하게 될텐데 여기에 필요한 스펙들을 사전에 공부를 하고 싶었다.
여러 회사에 면접을 보다가, 이런 질문을 받았던 적이 있다.
"실례지만- 결혼도 하셨고, 아기도 있으신데 왜 계속 일을 하려고 하세요?"
성차별적 요소가 분명 깃든 질문이었지만, 의외로 이 질문은 여러 방향으로 내 마음 속 안에 스며들었다.
"나는 왜 계속 개발을 하고 싶을까?"
"나는 왜 그래도 여전히 IT에 있으려고 할까."
이미 쌓은 경력을 버릴 수 없어서만은 아니다. 나는 지금까지 쌓아 온 내 지식과 경험들이 분명 유의미하다고 느낀다. 개발이 내게 주는 의미는 여태 잘 모르겠지만, 내가 개발에 대해 여전히 욕심이 있고, 잘하고 싶은 욕망이 있다는 건 느껴진다. 때때로 찾아 오는 무력감과 좌절감, 그리고 비전공자로서 부딪히는 한계들에 마주하며 포기하고 싶은 날도 분명 많다. 그러나 여전히 '개발직'으로만 검색하고 있는 나는- 그리고 앞으로 마주하게 될 새로운 프로젝트에 가슴 뛰는 나는- 이 일을 분명, 아직까진 사랑하고 있는 것 같다.
3.
그래서 나는 어떤 개발자가 되고 싶은가.
많은 사람들을 보아왔지만 단지 신기술에만 꽂혀 있는 사람은 되고 싶지 않았다. 그보다는 하나의 언어에라도 오랜 뿌리를 내리고 싶다. 세상은 바뀌고 신기술은 계속해서 등장하고, 새로운 언어도 프레임웍도 무지무지 쏟아지지만- 사실 그 모든 것들이 지금까지 있는 토대 위에 쌓아 온 새싹들이기 때문에 기본을 깨부수고 나오지는 않는다. 기본이 탄탄한 사람은 아무리 새로운 언어라 할 지라도, 금방 흡수하는 것들을 보아왔기 때문이다. 그렇다고 신기술에 무지한 사람도 되고 싶지 않다. 단지 기본을 놓치지는 않겠다는 생각이다.
일단 작게나마 올해의 목표를 설정하자면, Spring Framework 과 Angular.js 다. 원래 있던 회사에서는 js 에 프로페셔널한 선배가 있어서 늘 그 선배가 스터디를 주도하여 가르쳐주곤 했는데, 이제 홀로 서야 한다. 그러기 위해서 먼저 선배가 알려주던 Angular.js 를 공부해 볼 생각이다. 그리고 말도 많고 탈도 많은 Spring - 이제 본격적으로 시작해봐야지! (지금까진 C#만 주로 개발해서 Java를 해볼 짬이 거의 없었다)
암튼 희망차게 시작하는 개발일기- 부디 고수가 되어 끝날 수 있기를 고대하며. 2016년이 이제야 시작되는 것 같은 그런 느낌적인 느낌으로다가. 아자잣.