개발자 청춘 상담실 #10
해당 브런치에 남김 글은 초고입니다. 완성된 작품은 해당 "오늘도, 우리는 코딩을 합니다."로 출간하였습니다!! 완성된 글을 종이책의 정감과 편안함으로 읽어보시길 바랍니다^^
감사합니다.!!
http://www.yes24.com/Product/Goods/100514084
안녕하세요. 다양 시도를 하는 개발자님
* 시도(試圖)
어떤 것을 이루어 보려고 계획하거나 행동함.
- 표준국어사전 -
개발자에게 시도는 좋은 마음가짐입니다. 사전적으로 살펴봐도 계획하거나 행동하는 것이라고 합니다. 이 말은 의지가 담겨 있고 또한 실천이라는 실행의 의미까지 담겨 있습니다. 어떤 일을 하든 시작은 시도하는 데 있습니다. 이것이 없으면 아무런 변화도 일어나지 않습니다. 매번 이루어 보려고 도전하는 사람은 생동감이 넘칩니다. 그리고 이러한 계획과 행동들은 모여서 결국은 성공을 만들어 내기도 합니다.
특히 프로그래머에게 시도는 좀 더 특별한 의미를 갖습니다. 만약 아무것도 시작하지 않는 개발자라면 어떤 변화가 있을까요. 프로그래밍은 날로 발전하는데 나만 그대 자리에 있다면 개발자라는 단어 자체가 무색해집니다. 시도는 개발자에게 선택이 아닌 필수라고 생각합니다. 그렇다고 매사 거창한 변화를 가지라는 건 아닙니다. 개발자님처럼 항상 사용하던 개발도구 툴을 바꾼다던가 새로운 프로그램을 사용해보는 노력들로 개발자의 항상 가치를 높이는 습관이 되시길 응원합니다.
선배의 조언은 본인의 경험에 의해 개발자님의 성정을 위해 기초를 더 튼튼했으면 하는 바람인 거 같습니다. IDE의 강력한 기능이 탄생하기 전에는 언어마다 도구가 다르겠지만 자동 완성 기능이 없는 에디터 플러스(EditPlus)나 울트라 에디터(UltraEdit)를 사용하던 분들도 많았습니다. 그래서 철자를 틀리지 않고 코딩하는 것을 실력으로 판단하던 때가 있었습니다. 저도 가끔은 자동완성 때문에 함수명 이름이 헷갈리기도 합니다. 신입 개발자에게 처음 하는 코딩 동안은 함수 하나라도 더 외우게 하고 싶은 선배의 좋은 조언이라고 생각합니다. 선배가 충고가 마음이 쓰였나 봅니다. 프로그램 개발 도구가 실력을 저해한다고 나름의 걱정을 해주신 거 같은데 분명 개발자님의 성장을 응원하는 목소리입니다. 애정이 듬뿍 담긴 선배의 충고는 개발자님이 앞으로 더 성장할 수 있는 원동력이 될 것입니다.
회사가 사용하는 도구를 따르세요.
개발자들은 도구에 인색한 경우가 종종 있습니다. 개발을 쉽게 하는 유료 도구들도 많지만 유독 공짜로 배포된 개발도구를 선호합니다. 개인에 경우 이런 도구를 구매한다는 게 비싼 가격이 문제입니다. 대표적인 유료 프로그램인 IntelliJ IDEA는 연간 149달러를 꾸준히 지불해야 합니다. 물론 개발자로서 충분히 지불 가능한 금액이지만 돈을 내고 도구를 사용하는 비용에 대해서는 인색합니다. 게다가 근래에는 매달 돈을 내는 구독형 프로그램이 많아지고 있습니다. 이런 환경은 개인이 학습자들에게는 더욱더 사용하기에는 비싼 감이 있습니다. 회사에서는 비용 절감을 위해서 무료 개발 프로그램을 사용하는 건 합리적일 수 있습니다. 이클립스처럼 기능은 파워풀하고 꾸준히 관리되는 강력한 무료 도구가 있기 때문입니다.
나 홀로 독립적으로 도구를 사용하는 건 혼란을 야기시킬 수 있습니다. 회사에서 사용하는 통일된 개발 프로그램이 있다면 그 룰을 따르는 게 좋습니다. 선별된 개발 도구는 회사와 종속되어 그 노하우까지 함께 발전해나가기 때문입니다. 그리고 신입 개발자나, 외부 인력이 왔을 때 빠른 세팅을 위해 개발 환경을 매뉴얼화하면 관리하기 때문에 신속하게 개발에 참여할 수 있는 장점도 있습니다.
개발의 속도는 도구를 어떻게 활용하는가에 달려 있습니다. 도구 사용법은 개발자가 갖추어야 할 기본 소양 이기도합니다. '못과 망치'가 발전하여 더 적은 힘과 노력으로 목공이 가능하도록 '드릴과 나사못'으로 발전한 것처럼 개발 도구도 역시 끝임 없이 발전합니다. 이러한 도구의 발전은 개발자의 역량을 향상해주는 역할을 합니다. 물론 개발 프로그램 하나 바꿨다고 갑자기 코딩이 잘되는 건 아닙니다. 코딩은 우리가 해야 할 몫이지만 생산성을 향상하여 도움이 된다는 측면은 명확합니다. 그렇기 때문에 항상 새로운 문물을 받아들일 준비를 하고 새로운 프로그래밍 언어를 공부하듯 새로운 개발도구를 공부하는 것도 필요한 학습입니다.
자동완성 기능은 꼭 필요합니다.
제 생각은 자동완성이 오히려 우릴 신속하고 빠른 코딩으로 개발력을 올려준다고 생각합니다. 수 천 개가 넘는 클래스와 메서드를 모드 암기할 수 없습니다. 그리고 암기할 이유도 없고요 왜냐하면 코딩은 시험으로 치면 오픈북입니다. 모든 걸 검색하면서 정보를 찾아가며 만들 수 있습니다. 자동완성은 우리가 암기할 수 없는 함수들로부터 자유롭게 합니다. 굳이 모든 단어를 외워서 손으로 타자를 치는 게 오히려 비효율 적입니다. 과거의 작곡가들이 종이와 펜으로 직접 음표를 그리는 시대였다면 지금은 컴퓨터로 자동으로 계산되어 음표를 찍어서 만드는 DAW(Digital Audio Workstation)라는 프로그램을 사용하는 거처럼 말이죠. 시대에 따라 도구는 변하는 법입니다. 더 쉽게 한다는 건 노력하지 않은 건 아닙니다. 오히려 현명한 방법이라 생각합니다. 자동완성으로 최고의 생산성을 끌어올려보세요.!
강력한 IDE를 잘 활용해서 좋은 프로그램을 많이 만드시길 바랍니다.