고양국제고/셰어텍

[셰어텍] 11. 코드몽키

카루-R 2021. 11. 29. 09:01
반응형

환영합니다, Rolling Ress의 카루입니다.

해커에게 툴키디란 존재가 있다면, 프로그래머에게는 코더 내지는 코드몽키라는 존재가 있습니다. 무슨 차이냐고요? 해커는 컴퓨터를 해킹하는 사람을 말하죠. (엄밀하게는 Cracking입니다만) 그런데 툴키디는 전문적인 지식 없이 그냥 '해킹하는 척'을 하는 사람을 말합니다. 해킹 프로그램 몇 개 돌려놓고 "나 해킹했다!" 하는 식이죠. 실제 해킹은 그리 간단하지 않은데 말입니다. 익스플로잇을 분석하고, 직접 그런 해킹 프로그램을 제작할 정도의 실력이 되어야 하는데 말이죠. 저는 그러진 못합니다.

이제 코더 얘기로 넘어가봅시다. 저는 프로그래밍과 코딩을 구분해서 사용합니다. 정확하게는 Developer, Programmer, Coder를 나누어서 사용하죠. Developer는 진짜 개발자, 앱을 개발하는 사람을 말합니다. 프로그래밍은 물론 디자인에, 앱 유지보수 및 설계와 피드백 반영까지 모든 걸 하는 사람. 그런 사람을 개발자라고 불러요. 프로그래머는 프로그래밍을 하는 사람입니다. 단순한 코딩을 넘어 직접 알고리즘을 설계하고 머릿속에서 추상화를 해가는 사람이요. 코더는.. 그냥 단순한 절차적 과정을 프로그래밍 언어로 작성하는 사람이라고 부릅니다. 물론, 이 모든 것들은 제가 임의로 나눈 분류입니다.

굳이 피아노로 비유를 하자면, 나는 라캄파넬라를 죽어라 연습하고 있는데 옆에서 누군가 플라워댄스를 치면서 "이거봐라! 나 피아노 잘치지!" 하는 느낌입니다. 뭐... 사람에 따라서 공격적으로 느낄 수도 있겠지만, 플라워댄스고 뭐고가 문제가 아닙니다. 우물 안 개구리가 되어 자신이 하는 게 최고라고 믿는 태도가 문제인 거죠. 발전 가능성을 잃어버리는 겁니다.


창진프에서 선생님들께서 앱을 만들도록 장려하시죠. 솔직히 카카오 오븐 정도만 해도 저는 별 감흥이 없었습니다. 그냥 껍데기일 뿐이니까요. 제가 앱을 만드는 방법으로 비유를 하자면, XAML 디자인만 하고 끝나는 겁니다. GTT3 Preview 1이 딱 그런 모습이었죠. 동작은 하지 않지만 껍데기 디자인만 만들어둔. 앱을 편하게 만들고자 한다면, 결과물도 딱 그런 수준으로 나오기 마련입니다.

그런데.. 복병이 등장했죠. '그' 프로그램이 나온 겁니다. 갑자기 창체방에서 "앱을 만들 학생들은 신청서를 작성하세요! '그' 프로그램 라이센스를 드립니다!" 라는 공지가 떨어졌는데 저는 크게 신경을 쓰지 않았어요. 그런데 막상 해당 회사 홈페이지를 들어가보니.. 이거 꽤 쓸모 있는 물건이더군요. 동시에 덜컥 겁이 났습니다.

내가 들인 것보다 적은 노력으로,

훨씬 완성도 높은 앱을 만든다고?

미치고 환장하는 거죠. 난 지금까지 뭘 한 건가. 내가 그렇게 우직하게 밀었던 C#+XAML 조합이 결국엔 잘못된 것이었나. 글쎄요. 심지어 apk 빌드도 되고 Android/iOS 크로스 플랫폼 개발도 지원한답니다. 이게 말이 되나? 오... 진짜 당황스러움 그 자체였습니다. 혹시나 그것 때문에 저희 조에 불이익이 생긴다면, 저는 도저히 용납하지 못할 것입니다. 저런.

맞아요. 저는 지금 굉장히 못마땅한 상태입니다. 코딩 없이 프로그램을 만든다.. 굳이 비유를 하자면 C언어 놔두고 스크래치로 코딩하는 기분입니다. 뭐 코딩은 코딩이죠. 그런데 어떻게든 단점을 찾아내고 싶은 겁니다. 더 쉽고, 더 기능이 많고, 단점이 없다면.. 오히려 제가 지금까지 해왔던 방식이 잘못된 거잖아요?

그래서, 제가 삐끗하면 결과물이 상당히 형편없을 수도 있다는 겁니다. 오히려 '그' 프로그램을 쓰지 않느니만 못한 것이죠. 이게 양날의 검입니다. 그럼 제가 할 일은 뭐냐? 우선 Xamarin 공부를 더 하고, '제 방식'으로 했을 때 갖는 강점을 최대한 살려야지요. 그 강점이 뭐냐? 저는 C#의 강력한 BCL 및 기타 라이브러리라고 봅니다. 사실 안드로이드 앱을 개발하기 위해서는 xml, java, kotlin을 알아야 하는데, 저는 몰라요. 그걸 배우는 데에도 상당한 시간과 노력이 들기 때문에 저는 그냥 제가 늘 사용하는 XAML+C# 조합으로 개발하려고 합니다.

근데 노력을 상당히 많이 해야 한다는 건 변하지 않아요. 그래서, 저는 솔직히 '그' 프로그램이 싫어요. 개발자들을 원망하는 게 아닙니다. 분명 혁신적인데, 학교에서 그걸 이용하는 방식이 마음에 들지 않네요.

반응형