나의 성장일지 2편
나의 성장일지 1편
나는 국내 대기업 중 한 곳의 IDC에서 7년째 근무하는 하드웨어 엔지니어다. 내가 이 회사에서 겪었던 경험들을 자전적이지만 가볍게 풀어볼 생각이다. 2016년 내가 이 회사에 입사했을 때에는 팀
b-story.tistory.com
개발이 가능한 서버와 API는 있지만 능력이 없었다.
개발 환경을 만들기 위해 열심히 노력했지만 환경이 완성된 후에 깨달은 나의 능력은 처참했다.
나는 그저 정보통신학부를 다니며 프로그래밍 수업을 몇 개 들었고, 졸업하기 전 국비지원으로 Java 교육을 받은 게 전부였다.
심지어 졸업후에 1년간 어학연수를 다녀와 그나마 가지고 있던 지식도 희미한 상태였다.
어지러웠다.
인턴 기간이 막 끝난 시점에서 팀장님을 설득해 서버를 얻어내고 상위 부서에 열심히 호소하여 API 사용 권한을 얻은 만큼 나의 행동에 대한 결과물이 필요했다.
인터넷을 찾아보니 요즘 Python 이라는 언어를 많이 쓴다고 했다.
간결하고 쉬운 문법을 가지고 있어 배우기 쉽고 일단 익히기만 하면 빠른 개발 속도를 낼 수 있다고 한다.
당장 아웃풋이 필요한 나에게 딱 필요한 언어였다.
관심을 가지고 조금 더 찾아보니 Flask 와 Django라는 프레임워크를 사용하여 웹 개발을 할 수 있다고 한다.
나는 가볍다, 간결하다, 자유롭다 라는 말에 Flask 를 익히기로 결정했다.
시간이 없었다.
책을 읽거나 무언가 연습해볼 시간이 없었다.
모든 신입이 그렇듯 나는 압박감에 쌓여있었고 마치 당장 무엇이라도 만들어야 할 것 같은 기분이 하루 종일 들었다.
그래서 Flask docs를 띄워놓고 하루종일 테스트를 시작했다.
동작 원리를 익히기 위해 무조건 반복을 했다.
MVC의 개념조차 없었던 나는 코드와 동작을 1:1로 매칭 해서 기억했다.
어떻게 하면 URL을 분리 할 수 있는지 API는 어떻게 호출하는지 가공한 데이터는 어떻게 View로 옮기는지 등등
모든 게 처음이었고, 모든 게 어려웠다.
하지만 여러번 반복하다 보니 어느 정도 감이 생겼다.
Flask에 자신감이 생기고 얼마 뒤 아주 좋은 프로젝트 아이디어가 생각이 났다.
IDC는 하나의 지역에만 있는게 아니었고, IDC 간 필요한 장비를 이전하기 위해 정기적인 반입/반출이 발생했다.
그리고 장비가 반입/반출 될 때마다 대상 서버들의 하드웨어 스펙을 표로 만들어 타 IDC에 메일로 공유했다.
이전 업체에서 스팩을 변경하거나 요청한 장비의 스펙을 더블 체크하기 위한 프로세스였다.
10대가 있으면 10대에 대한 정보를 하나씩 열어 표에 적고 그걸 메일로 발송했다.
장비는 하루에 20대, 30대도 나가는 일이 잦았기에 이 일에는 생각보다 많은 시간이 필요했다.
다행히 API 에서는 각 서버에 매칭 되는 하드웨어 스펙을 제공해주었고, 나는 이것을 주제로 간단한 Flask web application을 만들었다.
서버의 Identifier를 입력하면 API를 통해 해당 정보를 표로 만들어주는 기능이였다.
그렇게 내가 만든 첫번째 application이 탄생하였다.
여기저기서 주워온 Python code와 Bootstrap free template을 다운로드하여 대충 만든 UI 였지만 아주 만족스러웠다.
10분이 걸릴일을 5초로 줄였다.
휴먼에러가 사라지고 선임들도 매우 좋아했다.
내부 테스트가 끝나고 나의 작고 소중한 서비스를 이제 운영 서버에 배포해야 했다.
CI/CD 같은건 몰랐다.
코드를 압축해서 서버에 올렸다.
압축을 풀고 서비스를 동작 시켰다.
안됐다.