더 나은 프로그래머 (Part 03): 성공적인 MQL5 프로그래머가 되고자 한다면 이 5가지를 하지 마세요

Omega J Msigwa | 4 3월, 2022

내용

  1. 과거를 위해 싸우는 것을 포기하십시오.
  2. 자기 자신을 믿지 않는 행위를 하지 마십시오.
  3. 모두가 당신처럼 생각해야 한다는 생각을 버리십시오.
  4. 받아 가는 사람이 되지 말고 주는 사람이 되십시오.
  5. 자신만을 믿지 마십시오.

소개

초짜들은 코딩 세계에서 가장 오해 받는 코더들입니다. 예측 불가능성은 초짜들이 가장 잘 하는 행동 중 하나입니다. 그들이 무엇을 구현하고자 하는지 설명을 해도 그들의 코드 내부를 보면 그들이 무엇을 하고 있는 것인지를 알 수가 없습니다. 가장 큰 이유는 그들이 하는 일을 보면 일관성이 없기 때문입니다.

시리즈의 이 세 번째 글에서는 성공적인 MQL5 코딩 경력을 위해 포기해야 할 5가지 습관에 대해 다루어 볼 것입니다.

초짜 vs 프로

01: 과거를 위해 싸우는 것을 포기하십시오.

"변화의 비결은 오래된 것과 싸우지 않고 새로운 것을 만드는 데 모든 에너지를 집중하는 것입니다."
— 소크라테스

MQL5 프로그래밍 초기 또는 그 이후에도 귀하는 Expert Advisor(EA), 라이브러리, 지표 또는 코드등 대부분의 고객이 부정적인 리뷰를 제공한 것들을 만들어 본적이 있을 것입니다.

또는 원치 않는 거래의 실행을 유발하는 버그가 많은 한두 개의 EA를 생성하고는 자금을 잃고는 코드베이스나 프리랜스 또는 어딘가 에서 평판이 손상되기도 했을 수 있습니다. 그것은 솔직히 나쁜 일이지만 그 때를 잊지 못하고 계속 생각하는 것은 더 나쁜 것입니다.

당신을 비참한 코더로 느끼게 하는 안 좋은 때를 생각하는 데 시간을 낭비하는 대신 당신이 약하다고 생각하는 영역을 개선하는 데 집중하는 데 시간을 투자하지 않겠습니까?

  • 버그가 많다면 그 특정 부분을 디버깅하는 방법이나 일반적인 디버깅 원칙을 배우는 데 집중하세요.
  • 관련한 문서를 많이 읽고 연습을 하십시오.
  • 여전히 확실하지 않은 경우 포럼의 사람들에게 무엇이 잘못된 것인지 물어보십시오.

자신을 비판하기 위해 지금은 바보 같은 질문이라 할 수 있는 이전에 쓴 포럼 글을 보는 것은 시간 낭비이자 자원 낭비입니다. (전기, 데이터 및 컴퓨터 저장소 모두).

다음과 같은 생각들:

  1. "그렇게 코딩했어야 했는데"
  2. "나는 EA에 그 지표를 사용했어야 했는데"
  3. "내 지표는 더 좋았을 텐데 만약 내가 ......했다면"

바뀌지 않는 과거에 대한 후회는 스스로의 자존감도 낮아지게 할 것입니다. 만들고자 하는 변경 사항이 있으면 미래의 시스템을 위해 지금 바로 하십시오.


02: 자기 자신을 믿지 않는 행위를 하지 마십시오

특정 시스템을 작성하고 싶다면 귀하가 전문가 혹은 프로라고 생각하는 사람의 허가나 검증을 기다리지 마십시오.

나는 초짜들이 원하는 결과가 나오게 하는 코드를 포럼에 게시하는 것을 종종 봅니다. 그러나 그들이 묻는 이유는 자신을 믿지 않기 때문입니다 - 전문가로부터 검증을 받기를 원하고 자신이 찾은 것이 자신이 어려움을 겪고 있는 문제에 대한 해결책이 될 수 있을지 확신이 서지 않기 때문입니다.

코딩의 세계에서 나는 코드 자체가 당신이 옳고 그른지를 말해준다고 믿습니다. 버그가 없다면 당신은 당신의 코드를 완전히 이해하고 있는 것이고 원하는 것이 무엇인지를 정확히 알고 있는 것입니다.

만약 코드가 원하는 방식으로 작동한다면 그것은 맞는 것일 가능성이 많습니다. 그것이 매우 잘못되었다는 것을 아는 가장 좋은 방법은 모든 프로그래머로부터 검증을 구하는 것입니다 (초짜도 포함해서) 왜냐하면 사람마다 달성하려는 공통 목표를 위해 하는 코드 작성 방식이 다르기 때문입니다. 

인간은 서로 다른 의견을 갖기 마련이며 그것이 잘못된 것은 아닙니다. 따라서 무언가를 구현하는데 특정한 한 가지 방법만이 있는 것은 아닙니다. 어떤 방법은 다른 방법보다 낫기도 하지만요. 그렇기 때문에 구현하고 있는 것과 그 결과로 나오는 원하는 것이 무엇인지 알아야 합니다. 코딩을 하고 그 다음에 디버그를 하고 그리고 그 효과를 테스트하십시오.

자신을 믿는다는 것은 포럼에서 자신의 견해를 공유하지 않고 스스로 모든 것을 한다는 의미입니다. - 아니요! 오해하지 마세요. 새롭고 더 좋은 아이디어를 위해 열린 마음을 유지하는 것과 전문 프로그래머의 검증을 원하는 것의 차이만 알면 됩니다.


03: 모두가 당신처럼 코딩해야 한다는 믿음을 버리십시오

모든 사람이 귀하의 방식대로 코딩해야 한다고 기대하는 것은 좋지 않습니다. 주변에 당신처럼 생각하고 코딩하는 사람들로만 둘러싸여 있는 것은 좋지 않습니다. 당신도 초짜이고 동료들도 초짜들이라면 무슨 말을 해야 할지 모르겠습니다. 웃기지요!

앞의 요점에서 설명한 바와 같이 우리는 서로 다른 방식으로 인식하고 이해하고, 특정 문제를 해결하는 관점을 가진 인간입니다. 따라서 다른 사람들이 당신과는 다른 관점과 코드를 갖고 있다는 이유로 낙심하지 마십시오. 중요한 것은 당신들 모두가 달성하고자 하는 공통의 목표를 가지고 있다는 것입니다.

포럼에서 누군가의 코드를 본다면 당신의 코딩 방식을 강요하지 말고 그가 겪고 있는 문제에 대한 솔루션을 제공하십시오. 그 사람의 코딩 방식이 당신보다 그 사람에게는 더 나은 방식일지 누가 알겠습니까? 모든 프로그래머를 24시간 동일한 패턴으로 작동하는 로봇과 같은(그런 사람도 없겠지만) 프로그래머로 바꾸는 것은 당신이 할 일이 아닙니다.

다르다는 것은 창의적이게 하고 우리의 코딩 경력을 흥미롭게 만드는 것입니다. 

"자신을 바꾸는 것이 얼마나 어려운지 생각해 보면 다른 사람을 변화시키는 것이 얼마나 어려운지 깨닫게 될 것입니다."
—Jacob M. Braude.

다른 사람의 코딩 방식과 포럼에 있는 질문에 대한 해결책을 혼동하지 마십시오. 방법에는 선호하는 라이브러리 또는 선택한 지표가 포함될 수 있지만 솔루션은 구상하는 작업이 원하는 방식으로 작동하게끔 하는 것입니다.


04: 받는자가 되지 마십시오

"주는 자는 세상을 발전시키고 받는 자는 스스로를 발전시키며 세상의 발전을 저해한다."
—Simon Sanek

이제는 코드베이스의 코드와 시장의 무료 제품만 사용하는 것을 중지하고 코딩을 시작할 때 도움을 받은 것처럼 다른 사람들을 도울 수 있는 제품을 생산하기 시작할 때입니다. 

당신이 배운 것과 당신이 현재 배우고 있는 것들에서 이미 알고 있는 것을 세상과 공유하십시오.(전문 프로그래머는 좋은 학습자이지만 초짜들은 이미 모든 것을 알고 있다고 생각합니다).

그렇게 자신의 학습을 가속화할 것입니다. 이는 시장에 코드 및 제품을 게시하는 경우에는 적용되지 않습니다. 포럼에 있는 많은 사람들이 모두 프로그래머들이기 때문에 포럼에서 이것은 매우 중요하다고 생각합니다. 귀하가 답을 아는 질문에는 답을 하나 모르는 질문에는 주의를 기울이십시오. 많은 전문 프로그래머들이 포럼에서 초짜들을 돕는 데 적극적으로 참여하고 있습니다.(감사합니다).


05: 자신만을 믿지 마십시오

"재능으로 게임을 이길수 잇지만 팀워크와 정보가 챔피언을 이긴다."

—Michael Jordan

오픈 소스라는 용어에 익숙하지 않은 초짜들은 오픈소스를 어떻게 사용하는 것인지를 모릅니다. 누군가가 포럼에서 코드를 검토해 달라고 요청하면 죽을만큼 두려워하며 합니다. 그렇기 때문에 이전 글에서 그들은 오해 받은 코더라고 말했습니다. 나는 이것을 하드 코딩된 코드가 매우 특별하다고 생각하는 초짜들과 관련시킬 수 있습니다(스스로 발견하고 고칠 수 없는 버그가 있긴 하지만요) 그들은 누군가가 특별한 코드를 훔쳐 성배 시스템을 만들 수 있다고 생각합니다. 문제에 대한 설명이 거의 없고 시도한 코드와 방법도 많지 않으면서 말입니다. 이는 질문에 대해 응답하기 어렵게 하고 결국 포럼에 응답도 없게 됩니다.

이 모든 나쁜 것들은 자신만을 믿는 초짜들에 의해 발생합니다.

웹 개발자로서 나는 그 중 일부가 10억 달러 또는 10억 달러에 달하는 오픈 소스 프로젝트인 Github의 훌륭한 프로젝트였는지 수 없이 보았습니다.

다른 개발자들이 만든 것을 추가하고 공유 할 수 있도록 허락 하는 것이 프로젝트의 성장과 인기를 가속화하는 최고의 방법이라고 생각합니다. 

"한명 보단 두명이 낫다."
— African saying

결론

솔직히 말해서 저는 MQL5 프로그래밍이나 웹 개발 경력에서 그리 완벽하지도 않고 훌륭하지도 않습니다. 저는 여전히 이 코딩 분야에서 학생이고 다른 사람들이 모르는 것을 알려주는 일을 멈추지 않기 때문에 배우는 데 끝이 없습니다. 나는 항상 개선하기 위해 노력하고 매일 더 나아지기 위해 노력합니다. 내가 이글을 당신과 공유 할 용기가 있는 이유는 (배우면서 가르친다는 것입니다) 나와 같은 열정을 가진 사람들을 돕기 위해서 입니다 더 나은 프로그래머가 되십시오.

이 여정을 함께 합시다!
이상입니다