Vintage appMaker의 Tech Blog

프로그래밍을 공부할 때, 현혹되지 말아야 할 것들 본문

강좌, 연재/1인 개발자의 사업 버그리스트

프로그래밍을 공부할 때, 현혹되지 말아야 할 것들

VintageappMaker 2022. 4. 6. 08:20

어떤 개발자들은 프로그래밍 기술을 순수학문이라고 착각하는 경우가 있다.

 

그런데 절대로 아니다. 프로그래밍 기술은 산업에 밀착된 기술이기에 이론보다는 시장 활용성(얼마나 많이, 얼마나 편리하게 사용되는가…)이 중요하다. 그러므로 특정기술에서 제공하는 설명을 무조건 믿어서는 안된다. 어느정도 색안경을 끼고 자신의 생각으로 검증을 해보아야 한다.


다음은 어떤 트랜드한 기술을 공부할 때, 개발자가 채크해보아야 할 내용이다. 그 기술이 나쁘다 좋다의 판가름을 위함이 아니다. 단지, 나에게 필요한 내용과 불필요한 내용을 구분하기 위한 방법이다.

 

  • 프로그래밍 기술도 마케팅한다.

놀랍게도 당연한 이야기임에도 불구하고 대부분의 개발자들이 관심없어 하는 부분이다. 그 기술이 재단이던 법인이던 개인이던 관계없이 기술에 대한 홍보와 마케팅은 반드시 한다. 그러므로 어떤 기술이던 다소의 “과장”이 없을 수가 없다. 문제는 그런 다소의 과장을 홍보로 인정하지 않고 “옳고 그름”의 이분법으로 나누며 싸우는 자세이다. 대표적으로 java와 C의 속도에 관련된 논쟁인데, 솔직히 java가 C보다 빠르다고 말할 때 어떤 점에서 더 발전했다고 홍보하는 것이지 진짜로 C보다 빠르다고 말하는 것은 아니다(적어도 상식이라는 것이 존재한다면 말이다). 그러므로 그런 것에 너무 민감하게 반응해서 “호감 또는 반감”을 가질 필요는 없다. 현명한 개발자라면 어느정도 마케팅용어를 걸러내고 그 기술이 나에게 필요한 것인지 판단하는 자세가 필요하다.

 

  • 취향저격과 현실은 구별해야 한다.

모든 개발자들은 편견이 존재한다. 없을 수가 없다. 혹자는 나는 안그렇다. 나는 모든 진보하는 기술에 호의적이라고 말할 수도 있겠지만, 따지고 들어가다보면 모든 개발자들은 호불호의 기술이 존재하기 마련이다. 그런 점에서 새로운 기술은 개발자들 사이에 “팬덤”을 만들어 널리퍼져나가기를 바란다. 즉, 개발자끼리 서로 진영을 만들어 싸우게 만들면서 노이즈마케팅처럼 널리 알려지게 하는 경우가 적지않다. 그러므로 너무 현혹적인 기술에 휘둘리지 않는 것도 중요하다. 생각보다 나의 취향저격을 한 기술이 실제로는 이전 기술의 재탕이나 다른 포장인 경우도 적지않기 때문이다. 예로 함수형 프로그래밍은 어떤 관점에서는 대단히 혁신적이긴 하지만, 그렇다고 최신기술은 아니다. 비슷한 프로그래밍 기법(If문 없이 단순화라는 관점)은 이전에도 다양하게 존재했다.

 

  • 공부를 위해 편견을 버리자!

새로운 프로그래밍 기술에는 분명 마케팅 의도가 존재한다. 그러므로 첫번째 자세는 자신의 감성을 자극하는 기술에 현혹되지 않고 그들이 말하는 내용이 필요한 내용인가 아닌가부터 찾아내는 분별력을 키우는 것이 중요하다. 대부분의 프로그래밍 기술에는 장점을 부각하는 기술용어들이 다양하게 나오는 데, 잘 들여다보면 기술용어가 아니라 마케팅 용어인 경우가 적지않다. 그것을 구분해 내어야 한다. 마케팅 용어를 기술용어로 오해하고 열심히 학습하고 논리를 세워가며 신봉하는 바보짓은 하지 말아야 한다(실제로 이런 현상은 인터넷 상의 글을 보면 종종볼 수 있는 흔한 일이기도 하다).

 

  • 결론
    • 공부할 때, 무조건 외우거나 세뇌하지 말고 “이거 왜 사용해?”라고 고민부터 해야 한다.
    • 고민을 했는 데, 전혀 “사용할 이유를 못찾는다”면 내게는 필요없는 마케팅용어일 수도 있다.
    • 프로그래밍 기술에 편견을 가지고 호불호를 따지지 말자. 어떤 기술이던 뜯어먹을 내용이 있다. 그러므로 필요한 부분을 잘라먹는 기술을 연마해야 한다.
Comments