
소프트웨어 중심 시대에 '프로그래머'는 많은 사람이 도전하는 직업이 되었다. 그런데 모든 사람에게 프로그래밍이 적합할까? 코딩은 누구나 배워야 하는 기본 스킬일까? 일부 사람들에게는 프로그래머가 적합한 직업이 아닐 수 있다. MUO가 소개한 '프로그래머가 되기에 적합하지 않은 6가지 유형'을 통해 내가 프로그래머가 되기에 적합한지 테스트해보자.
1. 실험적인 창의력이 부족한 유형
코드를 쓰는 것만 생각해도 머리에 쥐가 날 것 같은가? 프로그래밍이 싫고 코드 쓰기가 맞는지 의심이 된다면 여기에 해당할 수 있다.
프로그래밍은 논리학에 기초를 두고 있지만, 매우 창조적인 예술이다. 새 프로그램은 빈 캔버스와 같다. 당신이 캔버스에 그림을 그리는 브러시와 물감의 역할을 프로그래밍 언어, 프레임워크 및 라이브러리가 대신한다. 창작에 대한 비전과 그 비전에 생명을 불어넣기 위해선 창의력이 필요하다.
코딩 순수주의자들은 좋은 코드를 쓸 수 있는 방법은 단 하나라고 주장하지만, 이는 사실과 거리가 멀다. 좋은 코드를 쓰는 방법이 단 하나라는 주장은 집을 짓고, 소설을 쓰고, 케이크을 굽는 데 단 한 가지의 방법만 있다고 말하는 것과 같다. 소프트웨어를 코드화할 수 있는 방법에는 여러 가지가 있으며, 이를 실험해 보는 자세가 필요하다.
자연적인 호기심이 없다면 좁은 시야가 발달할 것이고 새로운 아이디어를 내는 데 어려움을 겪게 될 것이다. 이렇게 되면 프로그래밍은 일상적인 일이 되고, 당신을 기술 분야로 이끈 열정을 잃게 된다.
2. 독자적인 추진력이 없는 유형
추진력이 없으면 어떤 분야에서도 성공하지 못할 것이다. 이는 모든 분야에서 적용되지만, 프로그래밍에서는 특히 중요하다.
훌륭한 프로그래머는 스스로 동기를 부여할 수 있다. 또 다른 모든 레이어를 제거한다. 프로그래밍은 다른 트레이드와 마찬가지로 근본적으로 반복적이다. 따라서 개발자가 요구하는 종류의 일에 자신을 투자하지 못하면, 어려움을 겪고 지치게 된다.
당신은 스스로의 계획을 통해 문제를 해결할 수 있어야 한다. 많은 새로운 문제들이 이전의 문제들과 비슷할 것이다. 배관공이 입제 왔을 때 고객은 수리할 새로운 형태의 싱크대를 요구하지 않는다. 단지 문제를 해결하고 다음 문제를 대비할 뿐이다.
따라서 일부 문제에 대한 해결책은 다른 문제를 통해 찾을 수 있다. 숙련된 프로그래머는 시간이 지나며 지식의 보고가 된다. 프로그래머는 수시로 이러한 재발과 패턴을 찾기 위한 열정을 가져야 한다. 이는 직접적인 결과로 일을 쉬워지게 만들 것이다.
3. 논리적인 문제를 기피하는 유형
프로그래밍을 이해하려면 수학 천재여야 할까? 아니다. 프로그래머가 되기 위해 1등급 수학 성적이 필요하지는 않다. 하지만 논리적이고 알고리즘적인 사고를 통해 문제를 해결할 수 있는 능력이 필요하다.
프로그래밍이 제공하는 지적 보상의 상당 부분은 퍼즐을 푸는 데서 나온다. 퍼즐이 더 복잡할수록 이를 해결했을 때 더 큰 보람을 느낀다. 만약 이러한 감정이 열정에 불을 붙이지 않는다면, 프로그래밍은 좌절과 실망의 반복에 지나지 않을 것이다.
4. 연구를 좋아하지 않는 유형
당신이 코딩에 대해 아무리 많이 안다고 해도, 항상 미지의 영역을 발견하게 될 것이다. 웹 앱에서 작업 중인데 협력할 프레임워크가 없을 수 있고, 10년에 걸려 자바를 마스터했지만 파이썬 프로젝트를 맡게 될 수도 있다.
이러한 문제를 해결하는 답지는 없다. 코드 문서, 구글, 드라이브 등을 통해 스스로 답을 찾아야 한다. 이렇게 문제에 답을 찾는 것이 불편하다면 프로그래밍 분야에서 성공하지 못할 것이다. 가장 똑똑한 개발자들이 항상 가장 성공하는 것은 아니다. 성공하는 사람은 문제를 해결하고 그 조각들을 다시 해결책으로 만드는 방법을 이해하는 사람들이다.
5. 일반적인 근무 시간을 선호하는 유형
밤늦게 일하는 것이 싫고 고정된 근무 시간을 지키기를 원하는가? 그렇다면 프로그래머가 되는 것이 적합하지 않을 수 있다.
프로그래밍 작업은 유연하다. 몇몇 기술직은 현장이나 사무실에서 일을 할 수도 있고, 몇몇은 원격 작업을 할 수도 있다. 프리랜서로 창업해 자신만의 길을 닦을 수도 있고, 보다 전통적인 기업 경력을 위해 FAANG 회사를 선택할 수도 있다.
어떤 경우에도 성공적인 프로그래머는 헌신적일 필요가 있다. 심야 작업, 긴 코딩 세션, 줄어든 워라벨(일과 삶의 균형)에 대한 이야기를 듣는 것은 드문 일이 아니다. 소프트웨어 개발은 엄격한 마감 시한으로 가득 차 있고, 근무 시간을 지키는 것이 항상 가능한 것은 아니다. 필요한 모든 작업을 완료하기 위해 개발자들은 자신의 작업에 많은 개인 시간을 투자하며, 프리랜서들조차 경쟁에 앞서기 위해 오랜 시간을 허비해야 한다.
또 직장과 삶을 분리하는 것은 어려울 수 있다. 잠을 자기 위해 누워있다가 구문론과 가능한 해결책을 떠올리게 될 수 있다.
6. 오로지 연봉에 집중하는 유형
프로그래밍은 삶을 윤택하게 해줄 수 있다. 당신은 취업 사이트를 훑어보다가 업계의 모든 일류 기업들이 초보 개발자들을 영입하는 모습을 본 적이 있을 것이다. 당신은 파이를 얻기 위해 코드 쓰기를 시도하는 첫 번째 사람도 마지막 사람도 아닐 것이다.
시장이 포화되면 빛을 발할 수 있을 만큼 경쟁력을 유지하기 위해 지속적으로 자신에게 투자해야 한다. 4년제 학위는 항상은 아니지만 종종 필수로 여겨지며 석사 학위도 흔해지고 있다.
프로그래머로서 많은 돈을 벌 수 있는가? 물론 가능하다. 하지만 쉬운 길은 아니다. 만약 당신이 빨리 부자가 되기를 원한다면 프로그래밍이 정답은 아니다.
프로그래밍은 모든 사람에게 적합할까?
프로그래밍은 모두를 위한 것일까? 그렇지 않다. 하지만 한나절 잠깐 경험한 것으로 평생 코딩을 멀리하는 것은 너무 이르다.
코딩이 자신에게 적합한지 알아내는 가장 좋은 방법은 바로 뛰어들어 시도하는 것이다. 프로그래밍 책으로 공부하고, 스크립트 작성, 언어 학습 방법을 배워라. 그 기술에 대한 이해를 넓히는 어떤 것이든 당신이 결정하는 데 도움이 될 것이다. 이는 많은 시간을 필요로 한다. 한 가지 좋은 소식은 당신이 즐길 수 있는 직업을 찾겠다고 결심했다면 기술 분야에 많은 틈새 기회가 있다는 것이다.
[ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]